Efficient proof system for proving Ethereum full consensus
To enable fast prover time for proving Ethereum full nodes, we use our efficient proof system, deVirgo. deVirgo is the distributed version of the Virgo protocol, and is designed to parallelize the GKR protocol by distributing the computation across multiple machines. With deVirgo, zkBridge can support swift and flexible interoperability between different blockchains without relying on external trust assumptions. zkBridge also uses recursive proof to prove that the previously generated proof by deVirgo proves the corresponding block headers. The proof recursion reduces the on-chain verification cost to about 220K gas on any EVM-compatible blockchain network.
The key insight of deVirgo is to explore the nature that the verification of Ethereum full consensus can be represented as a data-parallel circuit. Suppose there is a data-parallel arithmetic circuit 𝐶 as well as N machines. The deVirgo proof system can divide the data-parallel circuit into N sub-circuits, with each machine computing only one sub-circuit. Verification of Ethereum full consensus is such a data-parallel circuit, and it can contain more than 30k of identical signature verification algorithms and hashes.
Central to deVirgo is a technique to distribute the sumcheck. In deVirgo, the sumcheck protocol is divided into two phases. In Phase 1, each machine processes their own sub-circuit and collectively generates one aggregated proof. The remaining work will be small enough for a single machine, which executes Phase 2 that concludes the distributed sumcheck.