## 🔴 ZK Withdrawals Blocked: Stale Groth16Verifier Mismatch Halts Protocol After Critical Circuit Update
A critical deployment mismatch has effectively blocked all withdrawal functionality. The core ZK withdrawal circuit was updated to include a fifth public input (`chainId`), but the live `Groth16Verifier` smart contract remains compiled for the old four-input version, rendering it stale and incompatible. This operational deadlock means withdrawals cannot be safely enabled until a complete, fresh cryptographic ceremony is executed and a new verifier is deployed.

The issue stems from commit `56160b2`, which successfully merged the circuit change but did not trigger the necessary follow-on procedures. The currently deployed verifier at address `0x9186fc5e27c15aEDbA2512687F2eF2E5aC7C0e59` has an ABI expecting only four inputs (`amount`, `nonce`, `recipientHash`, `stateRoot`), while the new circuit now requires five, including `chainId`. Furthermore, the `syncCommitteeRoot` for all chains remains unset at a zero value, indicating the system is not yet initialized for the updated proof logic.

Resuming operations now depends on a full, new Phase 2 trusted setup ceremony for the updated `WithdrawalProof(10)` circuit. This process, which can use tools like `snarkjs powersoftau`, must generate fresh proving and verification keys before a corrected verifier contract can be deployed. The blockage creates immediate operational risk, halting a core user function and placing pressure on the development team to manage the ceremonial process and redeployment under scrutiny to restore system integrity.
---
- **Source**: GitHub Issues
- **Sector**: The Lab
- **Tags**: zk-proof, smart-contract, deployment-failure, cryptography, blockchain
- **Credibility**: unverified
- **Published**: 2026-04-17 06:22:35
- **ID**: 68848
- **URL**: https://whisperx.ai/en/intel/68848