Um artigo que o aprofunda nos protocolos Arc-20 e Brc-20

intermediárioFeb 01, 2024
Este artigo aborda os detalhes, vantagens e desvantagens dos dois protocolos do ponto de vista técnico.
Um artigo que o aprofunda 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.

Por que existem Brc-20 e Arc-20?

O Bitcoin foi originalmente projetado para ser uma moeda digital descentralizada segura, estável e confiá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 e as tentativas ousadas dos desenvolvedores 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 um pode cunhar esses tokens diretamente na cadeia Bitcoin, por ordem de chegada, sem depender de contratos inteligentes. A principal característica do token Brc-20 é sua natureza descentralizada, que elimina mecanismos como vendas privadas, pré-vendas e desbloqueio ou piquetagem. 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 apresentarmos formalmente o protocolo Arc-20 e o protocolo Brc-20, vamos entender brevemente o UTXO (saída de transação não gasta).

Quando falamos sobre Bitcoin, o modelo UTXO (saída de transação não gasta) é um importante conceito de design. É um tipo de modelo de conta utilizado pelo Bitcoin, diferente dos modelos de saldo tradicionais, 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. Esses resultados não gastos são essencialmente unidades de moeda digital não utilizadas, semelhantes a notas ou moedas de papel. Quando você recebe Bitcoin, alguém criou uma nova saída não gasta associada ao seu endereço Bitcoin. Esta saída é o UTXO.

Vamos explicar o modelo UTXO com um exemplo simples:

Se você tiver duas transações, uma recebendo 0,7 BTC e outra recebendo 0,5 BTC, você terá dois UTXOs, um valendo 0,7 BTC e outro valendo 0,5 BTC. Quando quiser pagar 1 BTC, você não pode simplesmente usar um UTXO, mas precisa fundir os dois UTXOs em um novo UTXO (com um total de 1,2 BTC) e, em seguida, enviar 1 BTC ao destinatário, com os 0,2 BTC restantes. voltou para si mesmo como mudança. No entanto, a mudança real pode ser inferior a 0,2 BTC porque os usuários precisam pagar uma taxa de transação aos mineradores para garantir o bom funcionamento da transação.

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

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

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

Cada Satoshi é essencialmente o mesmo, e os Ordinais desenvolveram um protocolo de pedido de Satoshi por meio da teoria narrativa. Esta ordenação é baseada na mineração de Satoshis e na ordem de suas entradas e saídas de transações.

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‴. Falaremos disso mais tarde.
  • Notação percentil: 99,99971949060254%. Indica a posição do Satoshi na oferta de Bitcoin, expressa em porcentagem.

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

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

A teoria narrativa determina a ordem de um Satoshi através da expressão de grau 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 bloco.
  • Incomum: O primeiro Satoshi de cada bloco.
  • Raro: O primeiro satoshi de cada ciclo de ajuste de dificuldade.
  • Épico: O primeiro satoshi em cada época do halving.
  • Lendário: O primeiro satoshi de cada ciclo.
  • Mito: O primeiro Satoshi no bloco 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 pela 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 isso é implementado por meio de código em ordinais?

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

subsídio def (altura):

retorne 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 à direita, equivalente a dividir por 2 divisões inteiras. Esta função retorna um número inteiro que representa o valor da recompensa para um bloco em uma determinada altura.

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

def primeiro_ordinal(altura):

início = 0

para h no intervalo (altura):

começar += subsídio(h)

início de retorno

Esta função calcula o número ordinal da primeira recompensa de um bloco em uma determinada altura. Calcule o número total de recompensas do primeiro bloco até uma determinada altura iterando pelas alturas e acumulando as recompensas de cada bloco, resultando no número ordinal da primeira recompensa.

Atribuir número ordinal a determinado bloco

def atribua_ordinais(bloco):

primeiro = primeiro_ordinal(bloco.altura)

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

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

Atribuir número ordinal a determinado bloco

def atribua_ordinais(bloco):

primeiro = primeiro_ordinal(bloco.altura)

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

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

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

ordinais = []

para entrada em transaction.inputs:

 ordinais.extend(entrada.ordinais)

para saída em transaction.outputs:

 output.ordinals = ordinais[:output.value] 

 dos ordinais[:output.value]

coinbase_ordinals.extend(ordinais)

para saída em block.transactions[0].outputs:

saída.ordinals = coinbase_ordinals[:output.value]

dos coinbase_ordinals[: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 da última recompensa do bloco. Em seguida, ele itera sobre cada transação do bloco, atribuindo um número ordinal a cada saída. Finalmente, as saídas da transação recebem números ordinais para garantir que todos os satoshis em todo o bloco tenham números ordinais exclusivos.

Em suma, através da teoria ordinal, os originais tornam cada Satoshi essencialmente único através do processamento e definem a familiaridade rara para cada Satoshi através de regras, realizando 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, patrimônio ou outras entidades fungíveis. Podem ser stablecoins, tokens utilitários ou tokens baseados em meme.
  • Integração dApp: Os desenvolvedores podem integrar tokens BRC-20 em aplicativos descentralizados que utilizam a rede Bitcoin. As suas aplicações vão desde a geração de rendimentos e empréstimos garantidos até à participação em capital.
  • 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 da carteira de pedidos, surgiram recentemente planos para integrá-los em bolsas de pool de liquidez.

Implementação técnica do Arc-20

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

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

Por exemplo, usando o protocolo Atomicals, podemos definir 100 satoshis como 100 “ingressos de cinema”, e os usuários podem usar um desses 100 satoshis para pagar em uma sala de cinema que suporte o protocolo Atomicals, atuando como um ingresso de cinema.

No entanto, os mineradores e a rede Bitcoin não podem saber quais UTXOs foram “atomizados”, o que pode erroneamente considerar os tokens Arc-20 como taxas de mineração. Para resolver esse problema, a Atomicals 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, mídia e arte
  • Identidade digital, autenticação e conteúdo de token gate.
  • Hospedagem na web e armazenamento de arquivos
  • Trocas ponto a ponto e trocas atômicas
  • Alocação de namespace numérico
  • Registro virtual de terrenos e títulos
  • Objetos e estados dinâmicos no jogo
  • Perfis de mídia social, postagens e comunidades
  • Em qualquer lugar, a segurança e a descentralização são questões fundamentais. Com requisitos de segurança e verificação de nível militar.

Brc-20 vs Arc-20

A seguir, analisaremos e compararemos as semelhanças e diferenças entre os dois protocolos.

Brc-20

O acordo é dividido em três etapas

  1. O implementador precisa gravar as informações relevantes do token na cadeia BTC de acordo com o formato do protocolo.

{

“p”: “brc-20”,

“ligado”: “implantar”,

“tick”: “ordi”,

“máx”: “21000000”,

“lim”: “1000”

}

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

Como as informações do token em si não podem ser reconhecidas pelo BTC quando o implementador implanta o token, um indexador é necessário para obter dados relevantes na cadeia e usar esses dados para criar um livro-razão fora da cadeia para registrar o histórico relevante e processar dados relacionados. atualizações.

O indexador off-chain precisa 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 se tornarão cada vez maiores. Garantir a integridade do livro-razão e encontrar as informações que precisam ser modificadas dentro da vasta quantidade de dados se tornará um desafio para o BRC-20.

Arco-20

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

programa.command('init-dft')

.description('Inicializar token fungível (FT) atômico em modo de emissão descentralizada')

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

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

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

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

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

.option('—rbf', 'Se ativar o RBF para transações.')

.option('—funding <string>', 'Use o alias da carteira com a chave a ser usada para financiamento e troco')

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

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

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

.option('—bitworkc <string>', 'Se colocar qualquer prova de trabalho bitwork no token mint. Aplica-se à transação de commit.')

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

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

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

.option('—disablechalk', 'Desabilitar o registro marcado em tempo real de cada hash para mineração Bitwork. Melhorias no desempenho da mineração para definir esta bandeira')

.action(async (ticker, mintAmount, maxMints, mintHeight, arquivo, opções) => {

…..

}

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

ticker: nome do token

mint_amount: quantidade total de hortelã

max_mints: o número de balas em uma única vez

mint_height: especifica a altura do bloco para iniciar o mint

arquivo: metadados relacionados

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

Ao mesmo tempo, o uso do modelo de moeda colorida permite aos usuários realizar transações diretamente através da rede BTC, em vez de livros fora da cadeia. Como o saldo do token é consistente com os satoshis no UTXO, as alterações relacionadas no token podem ser refletidas intuitivamente na cadeia. . O indexador no Arc-20 é usado apenas para ler as informações relevantes de implantação de tokens na cadeia e verificar quais tokens são compatíveis 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, já que as moedas meme geralmente têm um alto suprimento total de tokens, e o recurso de 1 token = 1 sat requer que uma grande quantidade de Btc seja consumida ao emitir meme moedas.

autor:https://twitter.com/YanAemons@YanAemons

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [meio]. Todos os direitos autorais pertencem ao autor original [@YanAemons]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Şimdi Başlayın
Kaydolun ve
100 USD
değerinde Kupon kazanın!
Üyelik oluştur