Uma breve análise do ZKByte: uma solução de expansão Bitcoin Layer2 baseada em ZK e BitVm

Palavras: ZKBase (anteriormente ZKSpace)

O principal objetivo deste projeto é construir uma rede de Camada 2 especialmente personalizada para BitcoinBlockchain. A rede Bitcoin Layer 2 foi projetada para atender à crescente demanda por transações mais rápidas e eficientes dentro do ecossistema Bitcoin. Ao liberar certas tarefas de processamento de transações da Mainnet, ele visa aliviar o congestionamento na BitcoinMainnet e reduzir drasticamente o tempo necessário para a confirmação da transação.

Dadas as limitações inerentes do poder de computação da Máquina Virtual Bitcoin (VM), nosso design usa BitVM, o que demonstra o potencial de execução de contratos inteligentes entre duas camadas da rede. Ao alavancar desafios e cenários de resposta, a BitVM demonstra uma nova abordagem à programação da rede Bitcoin que quebra as limitações tradicionais.

Para melhorar a segurança e a integridade da rede Bitcoin Layer 2, o projeto implementa a verificação de estado integrando a tecnologia Zero-Knowledge Proof (ZK). Estas tecnologias avançadas de encriptação permitem que BitcoinMainnet verifique eficazmente o estado da rede de Camada 2 sem comprometer a privacidade e confidencialidade das transações subjacentes. O Zero-Knowledge Proof verifica as informações sem revelar as especificidades da transação, garantindo a privacidade e garantindo a integridade da rede de Camada 2.

No geral, o projeto visa melhorar a escalabilidade, velocidade e eficiência da rede Bitcoin através de uma rede de Camada 2, a adoção de BitVM para execução de contratos inteligentes e a integração da tecnologia Zero-Knowledge Proof para verificação de estado, mantendo a privacidade e a segurança das transações subjacentes.

0, Arquitetura

Blockchain de camada 2 usa um modelo de conta. O estado de todo o Blockchain é verificado pelo zkVM com base no sistema de prova Halo2. O estado da Camada 2 é sincronizado com a rede BitcoinMainnet, e todos os estados da Camada 2 são verificados pelo validador ZKP (Zero-Knowledge Proof) implementado pelo BitVM. Usamos um UTXO para rastrear todos os estados da Camada 2. Além disso, usamos uma máquina Oracle confiável para garantir que apenas a entrada/saída do script de bloqueio/desbloqueio siga o protocolo de camada 2.

简析ZKByte:基于ZK和BitVm的比特币Layer2拓展解决方案

1, Conselho de Camada 2 e Máquina Oracle Confiável

Um comitê de Camada 2, composto por um grupo selecionado de usuários, supervisiona a integridade geral da rede de Camada 2. No caso de um problema com o protocolo, o comitê pode intervir e interromper o protocolo para proteger os ativos de todos os usuários. O Oracle Machine confiável é importante para verificar a correção de UTXOs e scripts de entrada/saída.

2, Camada 1 à Camada 2

Crie um único TaprootAddress na rede Bitcoin para representar o protocolo de Camada 2. Quando um UTXO é criado e transferido para o TaprootAddress, o UTXO correspondente é realmente “recarregado” de BitcoinMainnet para a Camada 2.

A conta de protocolo ou comissão lida especificamente com as permissões de “transferência” para todos os ativos UTXO que são “depositados” na Camada 2. Somente protocolos, máquinas Oracle confiáveis ou contas de comitê podem alterar a propriedade de UTXOs depositadas. O Oracle Machine confiável garante que o script UTXO de saída correto seja incluído na transação de transferência de propriedade.

简析ZKByte:基于ZK和BitVm的比特币Layer2拓展解决方案

3. O Bloco sincronizado com o BitcoinMainnet

O status de todas as redes de Camada 2 é sincronizado com o BitcoinMainnet na forma de um Bloco. Para um bloco, devem ser fornecidas as seguintes informações:

· transações num determinado bloco;

· o novo status da conta após a aplicação dessas transações;

· um novo UTXO no estado de bloco atual (sempre pronto mesmo se o protocolo for quebrado);

· Bloquear informações da rede Bitcoin;

· Prova de Conhecimento Zero (justifica a transição de estado do Bloco anterior para o Bloco atual) O status de todos esses BitcoinMainnet é registrado em um histórico de transações UTXO.

简析ZKByte:基于ZK和BitVm的比特币Layer2拓展解决方案

3.1 Mais sobre atestado

A Prova de Conhecimento Zero é usada para verificar a exatidão da Camada 2. Tente demonstrar o seguinte:

· As transações de bloco na Camada 2 estão assinadas corretamente.

· O novo status de todas as contas é tratado corretamente.

· Todas as transações de carregamento anteriores a um determinado Bloco da BitcoinMainnet são processadas corretamente.

· Para o estado atual, todas as alocações UTXO são criadas corretamente.

3.2 Desafio de Informação em Bloco

Para garantir a exatidão das informações do Bloco especificadas na BitcoinMainnet, usamos um esquema de desafio e resposta. O provador pode provar a precisão das informações do Bloco apontando que há N mais Blocos após um determinado Bloco durante o período de tempo bloqueado.

3.3 Melhorias no circuito ZKP e BitVM

Como mostrado no artigo BitVM, a verificação ZKP pode ser representada como um circuito binário que pode ser desafiado por dois participantes. Com uma transação pré-assinada, um desafio pode ser enviado para obter a promessa de bit do circuito. Se 0 e 1 forem revelados, o desafio é bem-sucedido. Para usar o BitVM para verificar o ZKP, você precisa prestar atenção aos dois pontos a seguir:

O mesmo circuito binário promete ser usado apenas uma vez. Ou seja, se o mesmo compromisso de circuito é usado para vários blocos, ele pode revelar os 0s e 1s de um bit de compromisso.

Para a verificação ZKP, a “entrada comum” deve ser verificada, além da satisfação do circuito.

Para lidar com essas duas desvantagens, para cada bloco da Camada 2, um circuito binário único é criado e uma “entrada comum” é fixada. Os scripts Bitcoin são usados para lidar com hashing e verificação de entradas públicas. O compromisso de bit de entrada pública correto é verificado por uma máquina Oracle confiável. No que diz respeito à satisfação do circuito, qualquer membro da comissão tem o direito de contestá-la.

简析ZKByte:基于ZK和BitVm的比特币Layer2拓展解决方案

4. Da Camada 2 para BitcoinMainnet

Os ativos podem ser movidos da Camada 2 para BitcoinMainnet de duas maneiras: retirada e retirada forçada. As transações de retirada são acionadas a partir da Camada 2, e o circuito ZKP garante que as transações sejam processadas conforme o esperado. As transações de retirada forçada são iniciadas a partir da rede Bitcoin.

4.1 Transações de levantamento e levantamento forçado

As transações de retirada acionadas a partir da Camada 2 são validadas usando circuitos ZKP para garantir que as transações sejam processadas corretamente. As transações de retirada forçada iniciadas a partir da rede Bitcoin devem ser incluídas na próxima atualização do estado do Bloco.

4.2 Alocação UTXO

Quando o estado de um bloco é atualizado, a alocação UTXO é sincronizada. No caso de o protocolo ser interrompido, todas as UTXOs podem ser aplicadas para garantir a segurança de todos os ativos do usuário. Dessas UTXOs, apenas as UTXOs que são retiradas ou forçadas a serem retiradas são assinadas pelo protocolo.

5. Saídas de camada2

Uma vez que o ZKP não é verificado, o comitê deve cessar e retirar-se do protocolo. Se o protocolo for interrompido, o comitê assina todas as alocações UTXO especificadas no estado de Bloco mais recente da Camada 2. Com essas assinaturas, os usuários podem se retirar da Camada 2 sem qualquer perda.

简析ZKByte:基于ZK和BitVm的比特币Layer2拓展解决方案

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixar