Prova de Fraude e ZK Fraud Proof: Princípios de Implementação da Tecnologia de Segurança Moderna do Blockchain
A prova de fraude é uma solução técnica amplamente aplicada no campo da blockchain, originando-se inicialmente na comunidade Ethereum e sendo adotada por conhecidos Layer2 da Ethereum como Arbitrum e Optimism. Após o surgimento do ecossistema Bitcoin em 2023, Robin Linus propôs a solução BitVM, que tem a prova de fraude como ideia central, proporcionando um novo modelo de segurança para a segunda camada do Bitcoin ou pontes, com base em tecnologias existentes do Bitcoin como o Taproot.
O BitVM passou por várias evoluções de versões teóricas, desde o early BitVM0 até o posterior BitVM2, com o caminho de implementação tecnológica a amadurecer constantemente, atraindo ampla atenção da indústria. Vários projetos como Bitlayer, Citrea e BOB, entre outros, basearam-se na tecnologia BitVM para realizar diferentes versões.
Este artigo tomará como exemplo o esquema de prova de fraude do Optimism, analisando a sua solução baseada na máquina virtual MIPS e na prova de fraude interativa, bem como a principal abordagem para a prova de fraude ZK.
OutputRoot e StateRoot
Optimism é um conhecido projeto de Optimistic Rollup, cuja infraestrutura é composta por sequenciadores e contratos inteligentes na cadeia Ethereum. Após os sequenciadores processarem os dados das transações, esses dados são enviados para o Ethereum. Os usuários que executam o cliente de nó do Optimism podem baixar esses dados, executar transações localmente e calcular o hash do conjunto de estados atual.
Se o sequenciador carregar um hash de conjunto de estado errado, os resultados calculados localmente serão diferentes. Nesse caso, pode-se questionar através do sistema de prova de fraude. As blockchains do tipo EVM geralmente usam a estrutura de dados Merkle Tree para registrar o conjunto de estados, chamada de World State Trie. Após a execução da transação, o World State Trie muda e seu hash final também é atualizado. O Ethereum chama esse hash de StateRoot, que é usado para representar a mudança do conjunto de estados.
O sistema de contas do Optimism é semelhante ao do Ethereum, também utiliza o campo StateRoot para refletir as mudanças no conjunto de estados. O sequenciador fará upload regular do OutputRoot para o Ethereum, e o OutputRoot é calculado a partir do StateRoot e de outros dois campos.
Máquina Virtual MIPS e Árvore Merkle de Memória
Para verificar a correção do OutputRoot na blockchain, a forma mais simples é implementar um cliente de nó OP no Ethereum, mas isso enfrenta dois problemas:
Os contratos inteligentes não conseguem obter automaticamente os parâmetros de entrada necessários para a prova de fraude.
O limite de Gas do Ethereum não suporta tarefas de cálculo complexas
A primeira questão pode ser resolvida através da implementação do contrato PreimageOracle. Para a segunda questão, a equipe OP escreveu a máquina virtual MIPS em Solidity, implementando parte das funcionalidades do cliente do nó.
Devido à impossibilidade de executar todas as transações na cadeia de forma completa, o OP desenhou um sistema interativo de prova de fraude, que detalha o fluxo de processamento das transações em um processamento ordenado de códigos de operação MIPS. Após a execução de cada código de operação, o hash do estado da máquina virtual muda, e esses registros são resumidos em uma árvore de Merkle.
No processo de prova de fraude, é necessário determinar qual código de operação MIPS causou um problema no hash do estado da máquina virtual, e depois reproduzir o estado da época na cadeia, executar o código de operação e comparar os resultados. Isso requer o envio de parte das informações de estado da máquina virtual MIPS para a cadeia.
Prova de Fraude Interativa
A equipe OP desenvolveu o protocolo Fault Dispute Game(FDG), que inclui dois papéis: desafiador e defensor. Os participantes devem construir localmente a GameTree, composta por duas camadas de árvore Merkle. As folhas da primeira camada da árvore são os OutputRoot de diferentes Blocos, e as folhas da segunda camada são o hash do estado da máquina virtual MIPS.
As partes interagiram várias vezes na Blockchain, localizando finalmente o código de operação MIPS em disputa. O mecanismo central da prova de fraude interativa inclui:
O código de operação MIPS e as informações de estado da VM que precisam ser executadas em blockchain para a localização FDG.
Executar este código de operação na máquina virtual MIPS na cadeia Ethereum, obtendo o resultado final
Prova de fraude ZK
A interacção na prova de fraude tradicional é complexa e apresenta os seguintes problemas:
A interação em várias rodadas gera altos custos de gas.
O processo de interação é longo, durante o qual o Rollup não consegue executar transações corretamente.
A dificuldade de desenvolvimento de instruções de repetição de VM específicas na Blockchain é alta.
Para resolver esses problemas, a Optimism propôs o conceito de Prova de Fraude ZK. O núcleo é que, quando um desafio ocorre, o sequenciador Rollup fornece a prova ZK da transação desafiada, que é verificada por um contrato inteligente do Ethereum. A verificação bem-sucedida indica que o processamento da transação está correto.
Comparado com a prova de fraude interativa, a Prova de Fraude ZK simplifica múltiplas interações em uma única geração e verificação de prova ZK, economizando tempo e custos. Em comparação com o ZK Rollup, o OP Rollup baseado na Prova de Fraude ZK gera a prova ZK apenas quando é desafiado, reduzindo os custos computacionais.
Esta abordagem também foi adotada pelo BitVM2. Projetos que utilizam o BitVM2, como Bitlayer e Goat Network, implementam programas de verificação ZK Proof através de scripts de Bitcoin, reduzindo significativamente a escala dos programas que precisam ser colocados na blockchain.
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.
Prova de fraude e ZK Fraud Proof: Análise dos princípios de implementação da tecnologia de segurança moderna do Blockchain
Prova de Fraude e ZK Fraud Proof: Princípios de Implementação da Tecnologia de Segurança Moderna do Blockchain
A prova de fraude é uma solução técnica amplamente aplicada no campo da blockchain, originando-se inicialmente na comunidade Ethereum e sendo adotada por conhecidos Layer2 da Ethereum como Arbitrum e Optimism. Após o surgimento do ecossistema Bitcoin em 2023, Robin Linus propôs a solução BitVM, que tem a prova de fraude como ideia central, proporcionando um novo modelo de segurança para a segunda camada do Bitcoin ou pontes, com base em tecnologias existentes do Bitcoin como o Taproot.
O BitVM passou por várias evoluções de versões teóricas, desde o early BitVM0 até o posterior BitVM2, com o caminho de implementação tecnológica a amadurecer constantemente, atraindo ampla atenção da indústria. Vários projetos como Bitlayer, Citrea e BOB, entre outros, basearam-se na tecnologia BitVM para realizar diferentes versões.
Este artigo tomará como exemplo o esquema de prova de fraude do Optimism, analisando a sua solução baseada na máquina virtual MIPS e na prova de fraude interativa, bem como a principal abordagem para a prova de fraude ZK.
OutputRoot e StateRoot
Optimism é um conhecido projeto de Optimistic Rollup, cuja infraestrutura é composta por sequenciadores e contratos inteligentes na cadeia Ethereum. Após os sequenciadores processarem os dados das transações, esses dados são enviados para o Ethereum. Os usuários que executam o cliente de nó do Optimism podem baixar esses dados, executar transações localmente e calcular o hash do conjunto de estados atual.
Se o sequenciador carregar um hash de conjunto de estado errado, os resultados calculados localmente serão diferentes. Nesse caso, pode-se questionar através do sistema de prova de fraude. As blockchains do tipo EVM geralmente usam a estrutura de dados Merkle Tree para registrar o conjunto de estados, chamada de World State Trie. Após a execução da transação, o World State Trie muda e seu hash final também é atualizado. O Ethereum chama esse hash de StateRoot, que é usado para representar a mudança do conjunto de estados.
O sistema de contas do Optimism é semelhante ao do Ethereum, também utiliza o campo StateRoot para refletir as mudanças no conjunto de estados. O sequenciador fará upload regular do OutputRoot para o Ethereum, e o OutputRoot é calculado a partir do StateRoot e de outros dois campos.
Máquina Virtual MIPS e Árvore Merkle de Memória
Para verificar a correção do OutputRoot na blockchain, a forma mais simples é implementar um cliente de nó OP no Ethereum, mas isso enfrenta dois problemas:
A primeira questão pode ser resolvida através da implementação do contrato PreimageOracle. Para a segunda questão, a equipe OP escreveu a máquina virtual MIPS em Solidity, implementando parte das funcionalidades do cliente do nó.
Devido à impossibilidade de executar todas as transações na cadeia de forma completa, o OP desenhou um sistema interativo de prova de fraude, que detalha o fluxo de processamento das transações em um processamento ordenado de códigos de operação MIPS. Após a execução de cada código de operação, o hash do estado da máquina virtual muda, e esses registros são resumidos em uma árvore de Merkle.
No processo de prova de fraude, é necessário determinar qual código de operação MIPS causou um problema no hash do estado da máquina virtual, e depois reproduzir o estado da época na cadeia, executar o código de operação e comparar os resultados. Isso requer o envio de parte das informações de estado da máquina virtual MIPS para a cadeia.
Prova de Fraude Interativa
A equipe OP desenvolveu o protocolo Fault Dispute Game(FDG), que inclui dois papéis: desafiador e defensor. Os participantes devem construir localmente a GameTree, composta por duas camadas de árvore Merkle. As folhas da primeira camada da árvore são os OutputRoot de diferentes Blocos, e as folhas da segunda camada são o hash do estado da máquina virtual MIPS.
As partes interagiram várias vezes na Blockchain, localizando finalmente o código de operação MIPS em disputa. O mecanismo central da prova de fraude interativa inclui:
Prova de fraude ZK
A interacção na prova de fraude tradicional é complexa e apresenta os seguintes problemas:
Para resolver esses problemas, a Optimism propôs o conceito de Prova de Fraude ZK. O núcleo é que, quando um desafio ocorre, o sequenciador Rollup fornece a prova ZK da transação desafiada, que é verificada por um contrato inteligente do Ethereum. A verificação bem-sucedida indica que o processamento da transação está correto.
Comparado com a prova de fraude interativa, a Prova de Fraude ZK simplifica múltiplas interações em uma única geração e verificação de prova ZK, economizando tempo e custos. Em comparação com o ZK Rollup, o OP Rollup baseado na Prova de Fraude ZK gera a prova ZK apenas quando é desafiado, reduzindo os custos computacionais.
Esta abordagem também foi adotada pelo BitVM2. Projetos que utilizam o BitVM2, como Bitlayer e Goat Network, implementam programas de verificação ZK Proof através de scripts de Bitcoin, reduzindo significativamente a escala dos programas que precisam ser colocados na blockchain.