ZCash Brasil no Discord.

Zcash corrige falha crítica no Orchard

Zcash resolve vulnerabilidade crítica no pool Orchard via soft e hard fork coordenados. Fundos seguros, privacidade intacta. Saiba o que mudou.

Zcash corrige falha crítica no Orchard

O pool Orchard da Zcash apresentou uma vulnerabilidade crítica de segurança na última semana, e o ecossistema respondeu com um upgrade coordenado de rede concluído na madrugada desta quarta-feira, 3 de junho.

Nenhuma evidência de exploração foi encontrada. Fundos de usuários permaneceram seguros durante todo o processo.

A seguir:

  • O que era a falha e por que ela exigiu um fork de emergência, não um simples patch
  • Como mineradores e exchanges agiram em coordenação sem precisar confiar uns nos outros
  • O que usuários do Zodl precisam fazer agora para voltar a operar normalmente

A vulnerabilidade foi descoberta na sexta-feira, 29 de maio, por Taylor Hornby, pesquisador independente contratado pela Shielded Labs para auditorias contínuas do protocolo.

Hornby reportou o problema ao time de engenharia da ZODL (Zcash Open Development Lab) ainda naquela noite, iniciando um processo de resposta que durou menos de cinco dias.

O que estava em jogo era sério: sem correção, a falha poderia permitir gastos duplos dentro do pool Orchard, comprometendo a integridade contábil do protocolo.

O que era a vulnerabilidade

Uma falha no circuito zero-knowledge

O bug estava na implementação do circuito de prova zero-knowledge do Orchard, especificamente no crate halo2_gadgets. O loop de multiplicação de pontos na curva elíptica (ecc::chip::mul) mantinha uma base constante entre as iterações, mas essa base nunca estava vinculada à base real do protocolo.

Na prática, um atacante poderia substituir a base real por um valor arbitrário, fazendo o gadget calcular [a] base + [b] B' em vez de [scalar] base. Isso abria a possibilidade de aceitar provas inválidas como válidas.

Por que não bastava um patch de software

Corrigir um bug em um circuito de prova de conhecimento zero exige atualizar a chave de verificação fixada do circuito. Isso não é possível via atualização de software de nó. Exige mudança de consenso, ou seja, um hard fork.

Mas publicar o hard fork diretamente exporia os detalhes da falha no código antes que todos os participantes da rede tivessem atualizado. Qualquer pessoa com acesso ao código veria exatamente onde estava o problema.

Como a coordenação funcionou sem exigir confiança

O papel do soft fork: comprar tempo sem revelar a falha

A solução foi um soft fork prévio, que desabilitou temporariamente todas as transações Orchard sem expor o motivo técnico. O soft fork foi ativado com sucesso no bloco 3.363.426, na madrugada de terça-feira, 2 de junho.

Mineradores aceitaram parar de minerar transações Orchard por algumas horas. Não porque confiavam cegamente no ZODL, mas porque inspecionaram o código, entenderam o contexto e concluíram que interromper temporariamente o Orchard protegia seus próprios negócios a longo prazo.

Esse é o mecanismo central da descentralização: alinhamento de incentivos, sem exigir confiança.

O hard fork com a correção completa

Com o soft fork ativo e a rede estabilizada, a correção real foi preparada e publicada. O hard fork NU6.2 ativou na madrugada de quarta-feira, 3 de junho, às 00:10 EDT, no bloco 3.364.600.

O upgrade atualizou a chave de verificação do circuito Orchard, fechando permanentemente a vulnerabilidade. As versões corrigidas são zcashd v6.20.0 e zebrad v5.0.0.

Impacto e o que usuários devem fazer agora

Nenhum fundo foi comprometido

O mecanismo de torniquete da Zcash, que rastreia o saldo total de ZEC em cada pool (Sprout, Sapling, Orchard, transparente e lockbox), permitiu confirmar que o suprimento total permaneceu intacto durante todo o incidente. Transações em Sapling e na camada transparente continuaram operando normalmente.

Exchanges que custodiavam ZEC mantiveram operações durante o rollout. Não houve criação não autorizada de valor detectada.

Zodl v3.5.1: atualize agora

O wallet Zodl lançou a versão 3.5.1 com suporte às novas regras de consenso. A atualização já está disponível na App Store (iOS) e no GitHub (Android). A versão para Google Play está em revisão e deve ser liberada em breve.

Após o upgrade de rede, o software atualizado é obrigatório para gastar fundos Orchard sob as novas regras. Transações tentadas durante a janela de suspensão não foram mineradas. Usuários com dúvidas sobre o status de uma transação devem verificar o TXID no explorador de blocos ou contatar @zodl_support.

Se houver lentidão ao conectar, o recomendado é acessar Configurações Avançadas → Escolher um Servidor e rodar um teste de servidores para selecionar o de melhor desempenho.

Avatar de Andressa Pontes

Escrito por