O bug e sua descoberta
A falha residia em um elemento com restrições insuficientes dentro do gadget de multiplicação de curva elíptica no crate halo2_gadgets, parte do sistema de prova de conhecimento zero que sustenta o Orchard. Estava lá desde a ativação do Orchard na mainnet em maio de 2022 — cerca de quatro anos. Isso significava que qualquer pessoa que soubesse disso poderia, em teoria, cunhar ZEC do nada sem deixar rastros na chain.
Hornby encontrou o problema usando ferramentas de verificação formal treinadas em código criptográfico. A vulnerabilidade afetou todas as versões do halo2_gadgets anteriores à v0.5.0, orchard anteriores à v0.14.0 e zcashd versões v5.0.0 a v6.12.3.
Correções de emergência implantadas
Poucas horas após a divulgação, a equipe lançou um soft fork via Zebra 4.5.3 que desativou temporariamente todas as transações Orchard. Uma correção permanente veio com o hard fork NU6.2 — Zebra 5.0 — que foi ativado em 2 de junho no bloco 3.364.600 e corrigiu o circuito em si. Usuários em nós afetados precis




