Um artigo que o leva mais fundo nos protocolos Arc-20 e Brc-20

IntermediárioFeb 01, 2024
Este artigo aborda os detalhes, vantagens e desvantagens dos dois protocolos de uma perspectiva técnica.
Um artigo que o leva mais fundo nos protocolos Arc-20 e Brc-20

Introdução

Recentemente, a introdução do protocolo Arc-20 provocou mais uma vez um frenesi no mercado de inscrições. Este artigo irá aprofundar os detalhes e vantagens e desvantagens dos dois protocolos de uma perspectiva técnica.

Porquê existem Brc-20 e Arc-20?

O Bitcoin foi originalmente concebido para ser uma moeda digital descentralizada segura, estável e fiável. No entanto, devido à sua arquitetura técnica e linguagem de script relativamente menos flexível em comparação com o Ethereum, o Bitcoin não é adequado para a execução direta de contratos inteligentes.

Apesar disso, as ideias inovadoras dos desenvolvedores e as tentativas ousadas trouxeram prosperidade ao ecossistema Bitcoin. Um exemplo típico é o protocolo Brc-20. A ideia central do protocolo é uma forma experimental de token, centrada em memes. Qualquer pessoa pode cunhar estes tokens diretamente na cadeia Bitcoin por ordem de chegada, sem depender de contratos inteligentes. A principal característica do token Brc-20 é a sua natureza descentralizada, que elimina mecanismos como vendas privadas, pré-vendas e desbloqueio ou staking. Isso garante um envolvimento verdadeiramente descentralizado.

Neste contexto, o protocolo Arc-20 despertou mais uma vez um forte interesse nas inscrições.

Qual é o modelo UTXO?

Os protocolos Brc-20 e Arc-20 são ambos baseados na cadeia Btc, portanto, antes de introduzirmos formalmente o protocolo Arc-20 e o protocolo Brc-20, vamos entender brevemente UTXO (saída de transação não gasta).

Quando falamos de Bitcoin, o modelo UTXO (saída de transação não gasta) é um conceito de design importante. É um tipo de modelo de conta utilizado pelo Bitcoin, que é diferente dos modelos tradicionais de saldo, como contas bancárias.

No modelo UTXO, cada transação Bitcoin cria uma série de saídas não gastas, com cada saída representando uma certa quantidade de Bitcoin. Estas saídas não gastas são essencialmente unidades não utilizadas de moeda digital, semelhantes a notas de papel ou moedas. Quando recebe Bitcoin, alguém criou uma nova saída não gasta que está associada ao seu endereço Bitcoin. Esta saída é o UTXO.

Vamos explicar o modelo UTXO com um exemplo simples:

Se tiver duas transações, uma a receber 0.7 BTC e a outra a receber 0.5 BTC, terá dois UTXOs, um vale 0.7 BTC e outro vale 0.5 BTC. Quando quer pagar 1 BTC, não pode simplesmente usar um UTXO, mas precisa fundir os dois UTXOs num novo UTXO (com um total de 1.2 BTC) e depois enviar 1 BTC ao destinatário, com os restantes 0.2 BTC devolvidos a si como alteração. No entanto, a alteração real pode ser inferior a 0.2 BTC porque os utilizadores precisam pagar uma taxa de transação aos mineiros para garantir o bom funcionamento da transação.

Implementação técnica do protocolo Brc-20

O BRC-20 é um padrão experimental que demonstra a possibilidade de criar tokens fungíveis na camada 1 do Bitcoin, alavancando a teoria ordinal e inscrições. O protocolo Ordinals (o primeiro token cunhado de acordo com os padrões do protocolo) permite que o conteúdo, incluindo texto, imagens ou vídeos, seja impresso na menor unidade do Bitcoin, Satoshi, criando assim ativos digitais únicos.

A teoria ordinal é a chave para implementar inscrições na rede BTC.

Cada Satoshi é essencialmente o mesmo, e os Ordinais desenvolveram um protocolo de ordenação de Satoshi através da teoria narrativa. Este pedido baseia-se na exploração mineira de Satoshis e na ordem das suas entradas e saídas da transação.

Existem várias maneiras diferentes de representar números ordinais:

  • Notação inteira: 2099994106992659 é um número ordinal atribuído de acordo com a ordem em que Satoshi é extraído.
  • Notação decimal: 3891094.16797 O primeiro número é a altura do bloco onde Satoshi foi extraído, e o segundo número é o deslocamento de Satoshi dentro do bloco.
  • Notação de grau: 3°111094′214″16797. Vamos chegar a isso mais tarde.
  • Notação de percentil: 99.99971949060254%. Indica a posição do Satoshi na oferta de Bitcoin, expressa em percentagem.

A expressão de grau contém quatro partes: A°B′C″De A, B, C e D representam significados diferentes:

  • A: Período, numerado a partir de 0. (Ciclo periódico: Algo mágico acontece a cada seis metades: a redução para metade e o ajuste da dificuldade acontecerão ao mesmo tempo. Esta é a chamada conjunção. O período de tempo entre as conjunções é um ciclo. Vai acontecer uma vez a cada 24 anos. Conjunção, a primeira conjunção deve ocorrer algures em 2032.)
  • Índice de bloqueio durante a era da redução para metade.
  • Bloquear índice durante o ajuste de dificuldade.
  • Índice de Satoshi dentro do quarteirão.

A teoria narrativa determina a ordem de um Satoshi através da expressão de graus e define diferentes níveis de raridade para cada Satoshi através da ordem, alcançando assim a singularidade de cada Satoshi

  • Comum: Qualquer Satoshi que não seja o primeiro no quarteirão.
  • Pouco frequentes: O primeiro Satoshi de cada bloco.
  • Raro: O primeiro satoshi de cada ciclo de ajuste de dificuldade.
  • Épico: O primeiro satoshi em cada época de redução para metade.
  • Lendário: O primeiro satoshi de cada ciclo.
  • Mito: O primeiro Satoshi no bloco de génese.

por exemplo, por exemplo, um grau existente é expresso como 1°1′0″0, onde

  • 1°: representa o segundo ciclo
  • 1′: representa o primeiro bloco que não é o ciclo de redução para metade
  • 0″: representa o primeiro bloco de ajuste de dificuldade
  • 0: representa o primeiro satoshi do bloco

Com a definição de raridade acima, este Satoshi é definido como stoshi raro.

O processo geral é o seguinte:

Como é implementado através do código em Ordinais?

py# Calcule a narrativa (recompensa) de um bloco dada a altura

subsídio def (altura):

retornar 50*100_000_000 > > altura//210_000

Esta função é usada para calcular a recompensa para um bloco Bitcoin de uma determinada altura, onde 50*100_000_000 é a recompensa inicial do Bitcoin, > > é o operador de deslocamento para a direita, equivalente a dividir por 2 divisões inteiras. Esta função devolve um número inteiro que representa o valor da recompensa para um bloco a uma determinada altura.

Calcule o número ordinal da primeira recompensa para um bloco de uma determinada altura

def first_ordinal (altura):

início = 0

para h no alcance (altura):

início += subsídio (h)

retorno início

Esta função calcula o número ordinal da primeira recompensa para um bloco a uma determinada altura. Calcule o número total de recompensas desde o primeiro bloco até uma determinada altura, iterando através das alturas e acumulando as recompensas para cada bloco, resultando no número ordinal da primeira recompensa.

Atribuir número ordinal a determinado bloco

def assign_ordinals (bloco):

primeiro = first_ordinal (block.altura)

último = primeiro + subsídio (block.altura)

coinbase_ordinals =lista (intervalo (primeiro, último))

Atribuir número ordinal a determinado bloco

def assign_ordinals (bloco):

primeiro = first_ordinal (block.altura)

último = primeiro + subsídio (block.altura)

coinbase_ordinals =lista (intervalo (primeiro, último))

para transação em block.transaction [1:]:

ordinais = []

para entrada na transação.entradas:

 ordinals.estendam (entrada.ordinais)

para saída em transação.saídas:

 output.ordinals = ordinais [:output.value]

 dos ordinais [:output.value]

coinbase_ordinals.estender (ordinais)

para saída em block.actions [0] .saídas:

output.ordinals = coinbase_ordinals [:output.value]

dos ordinais coinbase_[ :output.value]

Esta função é usada para atribuir um número ordinal a um determinado bloco Bitcoin. Primeiro calcula o intervalo ordinal da primeira e última recompensa do bloco. Em seguida, itera sobre cada transação no bloco, atribuindo um número ordinal a cada saída. Finalmente, as saídas da transação são atribuídas números ordinais para garantir que todos os satoshis em todo o bloco tenham números ordinais únicos.

Em suma, através da teoria ordinal, os originais tornam cada um essencialmente o mesmo Satoshi único através do processamento e definem uma familiaridade rara para cada Satoshi através de regras, percebendo atributos de coleção ou formulando regras para se adequar à jogabilidade.

Caso de uso

  • Interessante: Protocolos únicos e interessantes trarão prosperidade ao ecossistema Bitcoin mais uma vez.
  • Emissão de ativos: Os tokens BRC-20 podem servir como representações digitais de ativos, ações ou outras entidades fungíveis. Podem ser stablecoins, tokens de utilidade ou tokens baseados em memes.
  • Integração dApp: Os programadores podem integrar tokens BRC-20 em aplicações descentralizadas que utilizam a rede Bitcoin. As suas aplicações vão desde a geração de rendimentos e empréstimos garantidos até à participação no capital próprio.
  • Tokenização de ativos: O padrão brc-20 facilita a tokenização de qualquer ativo ou interesse, abrindo muitas possibilidades, como comunidade baseada em tokens ou votação DAO.
  • Mecanismo de troca: os tokens brc-20 podem ser convenientemente trocados e negociados na primeira camada da rede Bitcoin através de várias plataformas. Embora estejam atualmente acessíveis através do livro de encomendas, surgiram recentemente planos para integrá-los em bolsas de pool de liquidez.

Arc-20 Implementação técnica

O protocolo Atomicais é um protocolo simples e flexível para cunhar, transferir e atualizar objetos digitais (tradicionalmente conhecidos como tokens não fungíveis) numa cadeia de blocos com saídas de transação não gastas (UTXOs) como o Bitcoin. Um atómico (ou “átomo”) é uma forma de gerir a criação, transferência e atualização de objetos digitais - essencialmente uma cadeia de propriedade digital definida por algumas regras simples.

O Arc-20 adota o modelo de moeda colorida, o que significa que um token Arc-20 deve ter um suporte satoshi, ao contrário dos tokens Brc-20 que são diferenciados por encomenda. Uma vez que os tokens Arc-20 são inteiramente baseados em satoshis, podem ser divididos e mesclados (semelhante aos UTXOs mencionados no início do artigo) e podem ser transferidos diretamente através da rede Bitcoin.

Por exemplo, usando o protocolo Atomicais, podemos definir 100 satoshis como 100 “bilhetes de cinema”, e os utilizadores podem usar um destes 100 satoshis para pagar num cinema que suporta o protocolo Atomicais, actuando como um bilhete de cinema.

No entanto, os mineiros e a rede Bitcoin não podem saber quais UTXOs foram “atomicalizados”, o que pode considerar erroneamente os tokens Arc-20 como taxas de mineradores. Para resolver este problema, Atomicais instrui que cada token Arc-20 deve ser a primeira saída de uma transação para evitar a destruição acidental do token.

Caso de uso

  • Colecionáveis digitais, media e arte
  • Identidade digital, autenticação e conteúdo de token gating.
  • Alojamento na Web e armazenamento de ficheiros
  • Trocações ponto a ponto e swaps atómicos
  • Alocação numérica de namespace
  • Registo virtual de terrenos e títulos
  • Objetos dinâmicos e estados no jogo
  • Perfis de redes sociais, publicações e comunidades
  • Em qualquer lugar, a segurança e a descentralização são questões-chave. Com requisitos de segurança e verificação de nível militar.

Brc-20 vs Arc-20

Em seguida, analisaremos e compararemos as semelhanças e diferenças entre os dois protocolos.

Brc-20

O acordo está dividido aproximadamente em três etapas

  1. O implantador precisa escrever as informações relevantes do token para a cadeia BTC de acordo com o formato do protocolo.

{

“p”: “brc-20",

“on”: “implantar”,

“tick”: “Ordi”,

“max”: “21000000”,

“lim”: “1000”

}

  1. O indexador lê dados relacionados com tokens na cadeia
  2. O livro-razão fora da cadeia regista os saldos relevantes de tokens e processa transferências

Uma vez que a informação do token em si não pode ser reconhecida pelo BTC quando o implementador implementa o token, é necessário um indexador para obter dados relevantes sobre a cadeia e usar esses dados para criar um livro-razão fora da cadeia para registar o histórico relevante e o processo relacionado Operar e executar atualizações de dados.

O indexador fora da cadeia precisa de capturar e atualizar com precisão o livro-razão offline para cada operação de token. No entanto, semelhante ao blockchain, à medida que o número de transações aumenta, os dados armazenados pelos nós tornar-se-ão cada vez maiores. Garantir a integridade do livro-razão e encontrar as informações que precisam de ser modificadas dentro da vasta quantidade de dados tornar-se-á um desafio para o BRC-20.

Arc-20

Da mesma forma, o protocolo Arc-20 também precisa de registar informações relevantes de acordo com o formato na cadeia BTC ao implantar tokens.

program.command ('init-dft')

.description ('Inicializar token fungível (FT) atómico no modo de emissão descentralizado')

.argumento ('<ticker>', 'string')

.argumento ('<mint_amount>', 'número')

.argumento ('<max_mints>', 'número')

.argumento ('<mint_height> ', 'número')

.argumento ('<file> ', 'string')

.option ('—rbf', 'Se deve activar o RBF para transacções')

.option ('—funding <string> ', 'Use a chave wif do alias da carteira para ser usada para financiamento e alteração')

.option ('—satsbyte <number>< número > ', 'Satoshis por byte em taxas',' 15 ')

.option ('—mintbitworkc <string> ', 'Se deve exigir qualquer prova de trabalho de bitwork para cunhar. Aplica-se à transação de compromisso. ')

.option ('—mintbitworkr <string> ', 'Se deve exigir qualquer prova de trabalho de bitwork para cunhar. Aplica-se à transação de revelação. ')

.option ('—bitworkc <string> ', 'Se deve colocar qualquer prova de trabalho de bitwork na moeda do token. Aplica-se à transação de compromisso. ')

.option ('—bitworkr <string> ', 'Se deve colocar qualquer prova de trabalho de bitwork na moeda do token. Aplica-se à transação de revelação. ')

.option ('—parent <string> ', 'Se deve exigir que um pai atómico seja gasto junto com a casa da moeda.')

.option ('—parentowner <string> ', 'Proprietário da carteira dos pais para gastar junto com a casa da moeda.')

.option ('—Disablechalk', 'Se deve desativar o registo marcado em tempo real de cada hash para a mineração Bitwork. Melhorias no desempenho da mineração para definir esta sinalização')

.ação (assíncrono (ticker, mintaMount, MaxMints, minthEight, arquivo, opções) = > {

...

}

No código-fonte atomicals-js cli, pode encontrar as instruções para inicializar um token. Os parâmetros que precisam de ser registados na cadeia são:

ticker: nome do token

mint_amount: quantidade total de hortelã

max_mints: o número de menta numa única vez

mint_altura: especifica a altura do bloco para começar a hortelã

ficheiro: metadados relacionados

Mas ao contrário do Brc20, o Arc20 adota um modelo de moeda colorida. Depois que as informações relacionadas com o token forem inseridas na cadeia BTC, o protocolo ancorará o token com Sats:1 token = 1 sat.

Ao mesmo tempo, o uso do modelo de moeda colorida permite que os utilizadores conduzam transações diretamente através da rede BTC em vez de ledgers fora da cadeia. Como o saldo do token é consistente com os satoshis em UTXO, as alterações relacionadas no token podem ser refletidas intuitivamente na cadeia. O indexador no Arc-20 é utilizado apenas para ler as informações relevantes de implementação de tokens na cadeia e verificar quais os tokens que estão em conformidade com o protocolo Arc-20.

Conclusão

A estrutura de design do Brc-20 depende mais de livros fora da cadeia, enquanto o Arc-20 está mais alinhado com as características do Btc e é mais descentralizado em comparação com o Brc-20. No entanto, o modelo de moeda colorida impede que o Arc-20 conclua a emissão de moedas meme, uma vez que as moedas meme geralmente têm um elevado fornecimento total de tokens, e a característica de 1 token = 1 sat requer que uma grande quantidade de Btc seja consumida ao emitir moedas meme.

autor: < a href= "https://twitter.com/YanAemons" " > @YanAemons

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [medium]. Todos os direitos de autor pertencem ao autor original [@YanAemons]. Se houver objeções a esta reimpressão, contacte a equipa do Gate Learn, e eles tratarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outras línguas são feitas pela equipa do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!
Создайте аккаунт