
As soluções de Layer 2 consolidaram-se como alternativas promissoras para superar os desafios de escalabilidade do Layer 1. Nesta série, o foco recai sobre métodos de prova em L2, com destaque para mecanismos de fraude proof. Tais sistemas são mecanismos criptográficos que validam e verificam transações ou cálculos na blockchain, assegurando a integridade e segurança das operações em registros distribuídos.
O fluxo do Optimistic Rollup compreende sete etapas que constituem um pipeline completo de verificação de transações. Inicialmente, os usuários disparam transações na rede Layer 2 encaminhando-as diretamente ao sequenciador de L2. O sequenciador executa essas transações com sua própria cópia da cadeia L2 e gera uma nova raiz de estado refletindo o novo balanço do livro-razão.
Após a execução, o sequenciador envia tanto as transações originais quanto as novas raízes de estado para a blockchain Layer 1. Ao receber essas informações, o smart contract de L1 ativa uma janela de tempo específica para desafios, permitindo que qualquer participante questione a validade das transações ou dos resultados apresentados pelo sequenciador de L2. Essa etapa é crucial para garantir a segurança do sistema e coibir práticas maliciosas.
Encerrado o período de desafios, a blockchain Layer 1 finaliza o histórico de execução do L2. Caso seja comprovada a desonestidade do sequenciador nessa fase, são aplicadas penalidades e as raízes de estado são recalculadas, restaurando a integridade do sistema.
O mecanismo de fraude proof e o sistema de desafios são essenciais para reduzir riscos ligados ao comportamento desonesto dos sequenciadores. Com provas criptográficas, a correção das transações em rollups e das raízes de estado pode ser auditada por qualquer participante da blockchain L1 sem a necessidade de reexecutar todo o histórico de transações.
O Optimism adota uma janela de desafio estendida, permitindo que usuários e verificadores independentes validem os resultados de execução e as raízes de estado. Esse prazo ampliado assegura à comunidade tempo hábil para identificar e contestar envios fraudulentos, estabelecendo um modelo de segurança robusto baseado em incentivos econômicos e verificação criptográfica, eliminando a dependência de confiança cega em entidades específicas.
Há duas linhas principais de soluções de prova no universo blockchain, cada uma com sua lógica operacional e trade-offs. Sistemas de prova de validade exigem que, ao enviar resultados para o Layer 1, o sequenciador anexe provas criptográficas de validade. Assim, qualquer participante na rede Layer 1 pode verificar imediatamente a correção dos resultados, sem reexecutar transações em L2, embora isso envolva matemática avançada e sistemas de zero-knowledge proof.
Já sistemas de fraude proof, ou fault proof, partem da premissa da honestidade do sequenciador e se apoiam em um mecanismo de desafio para garantir a correção. Nesse modelo, existe um prazo para contestação de envios fraudulentos, transferindo o ônus da prova ao desafiador. Isso pode ser mais eficiente em cenários em que a maior parte dos envios é legítima.
As implementações de fraude proof dividem-se em dois grandes grupos: soluções não-interativas e interativas, cada uma com arquitetura e impactos distintos em desempenho.
Fraude proofs não-interativas funcionam ao reexecutar todas as transações do L2 no L1. Essa abordagem exige infraestrutura robusta capaz de rodar transações L2 no ambiente L1 e validar as mudanças de estado do L2 via camada de verificação do L1. Os dois principais desafios são: reexecutar transações do L2 no L1 e resolver inconsistências de estado entre os ambientes L2 e L1 para permitir uma auditoria precisa.
Para superar os desafios de consistência de estado em provas não-interativas, o protocolo Optimism incorporou técnicas sofisticadas. Comprometimentos de estado são emitidos periodicamente pelo L2, gerando provas criptográficas do estado completo do L2. A disponibilidade de dados é assegurada quando validadores do L1 confirmam a presença e acessibilidade dos dados na cadeia L1. A validação da execução ocorre quando validadores do L1 reexecutam transações usando dados do L2 no contexto L2. Mecanismos de comunicação entre cadeias são implementados para permitir integração entre L1 e L2. Além disso, incentivos bem desenhados promovem comportamento honesto.
A principal inovação do OVM foi criar um "container" que faz a reexecução no L1 ser equivalente à execução no L2. Isso é viabilizado pelo pré-carregamento do estado das contas do L2 no L1; modificação dos bytecodes EVM ligados a armazenamento e acesso de estado; implantação de smart contracts no L1 que modificam o bytecode dos contratos dos usuários para acesso externo aos dados; e ajustes no compilador Solidity para gerar bytecode OVM em vez do tradicional EVM.
Apesar dos avanços, o OVM apresentou desvantagens notáveis. O método adicionou complexidade ao modificar o compilador original de bytecode, exigindo dos desenvolvedores conhecimento de bytecode não padrão. O tamanho do código aumentou devido à substituição de opcodes por chamadas de função, elevando os custos de implantação. O consumo de gas subiu significativamente, pois chamadas de função consomem mais gas que opcodes simples, tornando as transações OVM mais caras. Houve ainda limitações de desempenho, já que o OVM não estava totalmente otimizado, criando gargalos no processamento.
Fraude proofs interativas representam um novo paradigma, com um protocolo bilateral entre defensor e desafiador para validar transições de estado. Essa abordagem tende a ser mais eficiente que as provas tradicionais, pois permite que as partes foquem recursos computacionais apenas nos pontos de discordância, evitando a reexecução completa de todas as transações.
O desenvolvimento atual do Optimism, batizado de projeto Cannon, visa realizar a verificação com apenas uma instrução MIPS executada no L1, reduzindo drasticamente a demanda computacional on-chain.
O Cannon persegue objetivos ambiciosos. Elimina modificações em smart contracts ao nível de opcode, evitando a complexidade de cenários EVM-on-EVM. Oferece um mecanismo simplificado para acesso ao estado do L2 e reduz substancialmente o custo de verificação de fraude proof on-chain.
Isso é possível graças a funcionalidades como: solução unificada de acesso ao estado via preimage oracle, mecanismo que permite acessar o estado L2 por meio de hashes; uso de replay em nível Geth, mais próximo da implementação do cliente; verificação on-chain limitada a uma única instrução MIPS, reduzindo o processamento; op-program atuando como ponte para acesso e geração de dados de preimage; e dispute game, que permite a defensor e desafiador colaborarem para identificar instruções problemáticas.
A arquitetura do Cannon envolve componentes críticos em sinergia. O op-program é uma implementação cliente-servidor de acesso aos dados de preimage, com o cliente op-program compilado em instruções MIPS e o servidor responsável pelas consultas e obtenção dos dados. O Cannon funciona como um emulador MIPS, executando instruções MIPS e contendo o componente mipsevm e os smart contracts on-chain. O MIPS.sol provê o núcleo do interpretador das instruções MIPS on-chain e o PreimageOracle.sol atende às requisições de preimage do MIPS.sol.
O fluxo de trabalho segue uma ordem clara. O cliente op-program MIPS é carregado no emulador Cannon MIPS, gerando o estado inicial do processo de fraude proof. A execução parte do ponto inicial, rodando etapas no mipsevm, registrando acessos e salvando preimages conforme necessário. O dispute game começa quando desafiadores detectam diferenças entre as alterações de estado do rollup L2 e o registro no L1. Defensor e desafiador usam busca binária para localizar a instrução divergente. Por fim, os materiais do fraude proof são preparados e enviados ao MIPS.sol para validação on-chain.
Apesar dos avanços, o Cannon enfrenta desafios relevantes. A escolha do conjunto de instruções MIPS foi motivada pelo suporte nativo do Golang, facilidade de implementação do interpretador e simplicidade arquitetural, mas traz barreiras de aprendizado. Possíveis exploits no runtime do Golang geram preocupações de segurança, pois o Cannon desabilitou a coleta de lixo do Golang, o que pode causar falta de memória em cenários intensivos.
O maior impacto para o usuário é a janela de tempo de desafio do fraude proof. O prazo estendido obriga o usuário a aguardar para sacar tokens, gerando fricção em aplicações sensíveis ao tempo. Além disso, a segurança dos smart contracts de L1 e dos componentes off-chain exige constante revisão e aprimoramento.
A comunidade blockchain segue pesquisando alternativas para fraude proofs, com propostas baseadas em mecanismos zero-knowledge. O objetivo é reduzir ou extinguir a etapa interativa das provas tradicionais, possibilitando maior rapidez na finalização e menor complexidade, ainda que isso implique novos desafios em requisitos computacionais e tempo de geração das provas.
Com a maturação de blockchains L2 baseadas em OP Stack, projetos vêm impulsionando os mecanismos de fraude proof por meio de diversas iniciativas. Os esforços priorizam ganhos de eficiência na infraestrutura off-chain, otimização da janela de desafio para proporcionar finalização mais rápida aos usuários, aprimoramento de contratos on-chain com testes e auditorias rigorosas, além da busca por soluções orientadas a negócios que atendam diferentes perfis de aplicações e comunidades.
O artigo acompanhou a evolução dos sistemas de fraude proof em Layer 2, abordando desde abordagens históricas até inovações recentes como o Cannon. Foram analisados os princípios de arquitetura do OVM, que buscou compatibilidade de execução EVM no L1, e detalhados os avanços do Cannon, que reduz a verificação on-chain a uma instrução MIPS. Esses desenvolvimentos comprovam a progressão da tecnologia Layer 2 rumo à eficiência, redução de custos e aprimoramento da experiência do usuário, sem abrir mão das garantias de segurança que o mercado blockchain exige.
Fraude proofs são provas criptográficas utilizadas para questionar a validade de transações em blockchains. Elas asseguram a integridade das transações e são fundamentais para a escalabilidade de soluções blockchain.
As fraude proofs permitem que usuários contestem estados incorretos de L2 propostos por sequenciadores. Optimistic rollups publicam os dados das transações e contam com verificadores externos para reconstruir o estado do L2. Se identificadas divergências, o desafiador pode contestar o estado no L1 através de um mecanismo de bissecção, apontando o passo de computação incorreto e apresentando uma prova de um passo para comprovar a fraude.
Fraude proofs validam transações após um período de contestação, pois dependem de desafios a transações falsas, enquanto validade proofs confirmam transações instantaneamente via criptografia zero-knowledge. Validity proofs são mais eficientes e proporcionam finalização imediata, enquanto fraude proofs exigem um prazo de espera para possíveis contestações.


