Proving full node of Ethereum in ZK

Polyhedra Network
5 min readJul 20, 2023

Main takeaways

— Proving the full node of Ethereum PoS is essential for building zkBridge and any interoperability protocols on Ethereum. Sync committee is insufficient for these purposes because the crypto-economic security (~only $32 million USD ETH staked currently) of the sync committee is far from ideal. Any cross-chain infrastructures, oracles, and data processing services relying on the sync committee on Ethereum would be insecure.

— We have designed and implemented the zkBridge system to prove the full nodes for Ethereum PoS (~$40 billion USD total ETH staked currently). All our zk light clients on LayerZero for Ethereum and its rollups (e.g., Arbitrum, Linea, Optimism, zkSync, Mantle) will be equipped with Ethereum full nodes ZK proving. Using our efficient proof system, deVirgo, the prover time is as fast as 10 seconds, which is enough to catch up with the block time of Ethereum.

— The implementation of proving Ethereum full nodes in ZK will enable fully trustless, efficient, and secure interoperability for Ethereum and its rollups. Our system also allows transmission of all the current and historical Ethereum data to be accessible by any layer-1 and layer-2 networks (e.g., BNB smart chain and opBNB) and any applications. This enables smart contracts to trustlessly access Ethereum data to make all kinds of computing logic, and the security is guaranteed by Ethereum PoS full nodes.

Proving full nodes for Ethereum PoS is essential for security

Compared to Ethereum light clients, the approach of proving Ethereum full nodes has much higher security guarantee. Ethereum light clients operate on a distinct algorithm, and their security relies entirely on a committee known as the “sync committee.” However, the sync committee’s size is merely 512, rotating roughly daily (i.e., about 27.3 hours). The total staked assets amount to as few as 16384 ETH (calculated as 512 * 32), a figure quite negligible (~only 32 million USD ETH staked currently) in comparison to the daily transactions volume (more than 300 million USD) on cross-chain bridges connecting Ethereum ecosystem with other networks.

Another issue is that the sync committee does not always sign the block. (e.g., block 17239413 and block 17239414). Statistics show that 1.6% blocks are not signed by the supermajority of the sync committee, and the issue may happen every 12 minutes on average.

System overview for proving Ethereum full nodes

In order to rectify these issues, we have decided to get rid of the sync committee and utilize the full PoS consensus of the Ethereum blockchain, which has been deployed since the merge. This will incorporate more than 20,000 signatures (a 40-fold increase from the 512 sync committee) within a single block on Ethereum mainnet.

To manage the 40-times increase in workload, we have employed our unique proof system — deVirgo. This system boasts unrivaled processing capabilities, thanks to its theoretical enhancements and significant engineering advancements. deVirgo protocol theoretically eliminates the need for very large FFT or MSM, making the proof generation linear time to the number of signatures. The protocol has been deployed on zkBridge and supports parallel and distributed computation.

Experiments on the proof system with a billion-size circuit revealed a proof generation time of less than 10 seconds, which matches the pace of Ethereum block generation, without increasing the proof size or verification time.

Efficient proof system for proving Ethereum full nodes

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.

Performance evaluation for proving Ethereum full nodes

To evaluate the implementation on BLS signature aggregation, we measured the running time of the deVirgo prover and recursive verifier using two AMD EPYC™ 7763 CPUs. The result is summarized as follows:

We have deployed the Ethereum full-node proof system on zkBridge. zkBridge sets Ethereum as the sender chain, and other networks such as BNB Chain and Avalanche as the receiver chain. The result shows that zkBridge can generate the Ethereum full-node proofs and verify the block header on BNB Chain and other networks within 12 seconds including the delays of all the components.

We will continue optimizing the implementation. GPU acceleration is planned in the near future, which can lower the up-front cost for better decentralization. Nevertheless the current zkBridge proof system is efficient enough to catch up with the block time of Ethereum.

Concluding remarks

Through the implementation of proving the Ethereum full nodes, We enable fully trustless, efficient, and secure interoperability using zkBridge, to connect Ethereum ecosystems (both L1 and L2s) with other networks. Furthermore, all our zk light clients on LayerZero for Ethereum and its rollups (e.g., Arbitrum, Linea, Optimism, zkSync, Mantle) will be equipped with Ethereum full nodes ZK proving. This brings the security of the full Ethereum stake (~$40 billion USD) into the zk light client on LayerZero.

The Ethereum full-node proof system also allows state transition of current and historical Ethereum data, including block header and transaction data, to be accessible by any networks and applications. This will enable smart contracts on any blockchain to trustlessly access Ethereum data and process all kinds of computing logics. All the security is guaranteed by proving Ethereum PoS full nodes in ZK.

--

--