Autor: Techub interpretação exclusiva

Redigido por: Tia, Techub News

'O Bitcoin precisa de verdadeira programabilidade, não de caos.'

Atualmente, os padrões de ativos no ecossistema Bitcoin são altamente fragmentados, com protocolos como BRC-20, Ordinals, Runes, etc., operando de forma independente, carecendo de interoperabilidade. Essa situação força usuários e desenvolvedores de carteiras a lidar com formatos e modelos de execução complexos.

Além disso, devido ao modelo de operação UTXO dos scripts de desbloqueio e scripts a serem desbloqueados do Bitcoin, a falta de um estado global como o do Ethereum e um ambiente de programação Turing-completo, esses protocolos dependem frequentemente de indexadores off-line para manter o estado. Tanto o protocolo Ordinals, que utiliza SegWit e Taproot para armazenar permanentemente informações sem exceder os limites de tamanho, quanto o BRC-20, ainda requerem dependência total de indexadores off-chain para manter o estado global do saldo dos tokens. Isso aumenta o custo operacional e o risco de confiança. O design da Goldinals, introduzido pela Nubit, visa resolver essas dores.

Goldinals é um padrão de token homogêneo de minimização de confiança sobre o Bitcoin, destinado a resolver a falta de padronização no atual ecossistema de ativos do Bitcoin, mantendo ao mesmo tempo a descentralização e segurança do Bitcoin. Através de tecnologia e design inovadores, a Goldinals oferece aos usuários e desenvolvedores do Bitcoin uma forma eficiente e flexível de gerenciar tokens. Para alcançar esse objetivo, ela fez inovações significativas em design técnico e funcional, sendo que seu núcleo é a necessidade de construir um zkOracle para o Bitcoin e validá-lo através do BitVM.

Em 5 de junho de 2024, o protocolo de desenvolvimento por trás da Goldinals, Nubit, completou uma rodada de financiamento semente de 8 milhões de dólares, liderada pela Polychain Capital, com participação de Nomad Capital, Spartan Group, L2IV, Big Brain Holdings, GCR, Protagonist, Gate Ventures, Animoca, Mask Network, entre outros. Esta última rodada de financiamento elevou o total arrecadado pela Nubit para 12 milhões de dólares.

Ordinals, BRC-20, Runes e a falta de interoperabilidade

Ordinais

Ordinals permite que os usuários gravem quaisquer dados (como texto, imagens ou outros metadados) em uma unidade mínima do Bitcoin (satoshis, abreviado como sats) ao aproveitar o SegWit e o Taproot.

BRC-20

O BRC-20 é um padrão de token Bitcoin sem estado, usado para implementar funções de cunhagem, transferência e queima de tokens. O BRC-20 não está embutido na lógica da blockchain como o Ethereum ERC-20, mas é um padrão de token 'externo' que utiliza a funcionalidade de armazenamento de dados do Ordinals. As operações de token do BRC-20 (como cunhagem e transferência) são realizadas através do protocolo Ordinals, gravando as informações de estado em forma de arquivo JSON nas transações Bitcoin. Esses dados JSON definem o nome do token, a oferta e o endereço do detentor.

E o BRC-20 não depende do estado global da blockchain como o Ethereum ERC-20, mas precisa que indexadores externos escaneiem todas as transações relacionadas para reconstruir o estado atual dos tokens. Por exemplo, para consultar o saldo de tokens de um determinado endereço, o indexador precisa ler todas as transações históricas e calcular o saldo.

Runes

Runes é um protocolo de token Bitcoin semelhante ao BRC-20, cuja ideia central é embutir o estado e as operações dos tokens nas transações Bitcoin, mantendo o estado dos tokens através da análise do modelo UTXO (saída de transação não gasta) do Bitcoin. Runes utiliza o campo OP_RETURN das transações Bitcoin ou outros campos padrão para registrar informações sobre transferências e operações dos tokens. Cada operação de token Rune é realizada através de transações Bitcoin convencionais.

Problemas de interoperabilidade

As formas de implementação dos protocolos acima são diferentes. Ordinals utiliza um formato de dados embutido nas transações Bitcoin para armazenar informações, o BRC-20 define o estado do token em formato JSON, enquanto o Runes depende mais do modelo UTXO do Bitcoin. Esses formatos não são compatíveis entre si, resultando na incapacidade de dados armazenados em um protocolo serem diretamente reconhecidos e analisados por outro protocolo.

Além disso, o BRC-20 é uma implementação sem estado, onde todos os estados dos tokens dependem da reconstrução de um indexador externo, enquanto o estado do Runes é armazenado diretamente na blockchain através do modelo UTXO, e os Ordinals se concentram na marcação de satoshis individuais. Esses mecanismos não podem compartilhar um modo de gerenciamento de estado unificado.

Diferentes protocolos definem seus próprios formatos e regras de tokens, impossibilitando interações diretas ou suporte mútuo para alcançar interoperabilidade.

Enquanto isso, a Goldinals resolve o dilema de interoperabilidade entre diferentes padrões, introduzindo um novo padrão que é compatível com Ordinals/Runes/BRC-20 e não requer indexadores off-chain para manter o estado.

Design e implementação central da Goldinals

As principais funcionalidades da Goldinals incluem:

  • Deploy: Inicializar os parâmetros do protocolo e criar uma nova instância de token.

  • Mint: Cunhar novos tokens e atribuí-los a um endereço específico.

  • Transfer: Transferir tokens entre endereços.

  • Burn: Queimar tokens e reduzir a oferta.

Embora semelhante ao ERC-20 e BRC-20, a implementação da Goldinals é mais complexa devido ao design sem estado do Bitcoin e à linguagem de script incompleta de Turing. Ao contrário da chamada atômica sem costura do Ethereum, a Goldinals precisa gerenciar cuidadosamente atualizações de estado e validações em várias etapas, garantindo que todas as operações herdem a segurança do Bitcoin.

Máquina de estados da Goldinals e processo de atualização de estado específico

A máquina de estados da Goldinals é composta por três fases: Preparação, Lançamento e Desafio.

Fase de Preparação: Registrar a intenção da operação

Nesta fase, o remetente submete a intenção da operação através de uma transação Bitcoin (como transferência ou cunhagem) e incorpora os metadados relevantes na transação. O remetente utiliza o campo OP_RETURN do Bitcoin para registrar os parâmetros da operação do token, como endereço de recebimento, valor e tipo de operação. Esta transação é registrada no Bitcoin, garantindo a transparência e a imutabilidade da intenção da operação. O ZKOracle (máquina de estados de conhecimento zero) escaneia os blocos do Bitcoin, extrai e registra as transações de Preparação relacionadas ao protocolo Goldinals, integrando-as no estado global.

Fase de Lançamento: Verificação e início da operação

Após a conclusão da fase de Preparação, o remetente precisa submeter uma transação contendo uma prova de conhecimento zero para verificar a legalidade da operação. O remetente gera uma prova de conhecimento zero (ZKP) off-chain, provando que sua operação está de acordo com as regras do protocolo (como saldo suficiente e parâmetros de operação válidos). Esta prova é submetida à rede Bitcoin através de uma transação de Lançamento e verificada pelo ZKOracle. A execução bem-sucedida da fase de Lançamento indica que a legalidade da operação foi comprovada, mas a operação ainda não está confirmada e deve aguardar a conclusão da fase de Desafio.

Fase de Desafio: Revisão e objeções

A fase de Desafio é o núcleo do design da máquina de estados, destinado a fornecer um mecanismo de revisão descentralizado que assegura a legalidade das operações. Durante o período de desafio, qualquer participante (desafiador) pode contestar as operações submetidas. Por exemplo, se a prova de conhecimento zero submetida não estiver de acordo com as regras, o desafiador pode fornecer uma prova contrária. O desafiador utiliza o mecanismo de prova interativa fornecido pelo BitVM para interagir com o remetente na verificação. Se um problema for encontrado, o desafiador pode submeter uma transação on-chain para bloquear a confirmação da operação. Se não houver objeções durante o período de desafio, a operação será confirmada permanentemente e atualizada no estado global da Goldinals pelo ZKOracle.

Detalhes de implementação como Transferência & Cunhagem

Transferência

Na operação de transferência, o remetente primeiro submete uma transação Bitcoin na fase de Preparação, registrando a intenção de transferência de tokens na blockchain. O ZKOracle registra e verifica essa transação. Na fase de Lançamento, o remetente submete uma prova de conhecimento zero, provando que seu saldo é suficiente e que a operação está de acordo com as regras. Na fase de Desafio, o desafiador pode verificar se a prova e a transação submetidas estão de acordo com as regras do protocolo. Se não houver desafios, a transferência será finalmente confirmada, e o saldo do endereço do destinatário será atualizado.

Cunhagem

O processo de cunhagem é semelhante ao de transferência. O remetente submete, na fase de Preparação, uma transação contendo os parâmetros de cunhagem. Em seguida, na fase de Lançamento, o remetente deve fornecer uma prova de conhecimento zero para verificar que a operação de cunhagem está de acordo com as regras estabelecidas pelo protocolo (como limite de oferta e restrições de alocação). Na fase de Desafio, o desafiador verifica se a operação atende às condições; se não houver objeções, a operação de cunhagem é finalmente confirmada.

Consulta de saldo

Os usuários podem usar o

scanblocks

Comando, escanear todas as transações de Preparação relacionadas ao seu endereço e verificar o estado final dessas transações. Desta forma, o usuário pode verificar seu saldo sem depender de indexadores externos.

Conclusão

Comparado a outros protocolos (como BRC-20), a Goldinals possui vantagens significativas. Ela elimina a dependência de indexadores externos, com todas as verificações sendo realizadas diretamente na rede Bitcoin, o que não apenas aumenta o grau de descentralização, mas também liberta os usuários da confiança em serviços de terceiros. Além disso, o fluxo de transações da Goldinals é mais eficiente, evitando a complexidade e os custos de transação significativos que o BRC-20 enfrenta, que exige várias transações de Bitcoin para completar uma única operação. Com a introdução de provas de conhecimento zero, a Goldinals também possui uma programabilidade forte, suportando carteiras multifirma, transferências condicionais e lógica complexa acionada por eventos externos, ampliando o escopo de aplicação do protocolo.

Ao mesmo tempo, um ponto muito importante é que a Goldinals introduz um padrão unificado de ativos em seu design, integrando as funcionalidades e lógicas dos protocolos existentes. A Nubit também está construindo um compilador especial que converte código amigável ao usuário em scripts otimizados para o Bitcoin, enquanto realiza validação formal para verificar matematicamente a integridade de cada programa.

Hanzhi, cofundador da Nubit, afirmou: 'O Bitcoin precisa de verdadeira programabilidade, não de caos.' Com uma base e padrões robustos, o ecossistema Bitcoin se moverá do caos para uma inovação interoperável.