Developing a light client for ethereum , proving the consensus through zero-knowledge , effectively making it a zk-Light Client enabling to make trustless zk-Bridges
Light clients were introduced by ethereum to. interact with the ethereum network without running a full node. These light clients can be utilized in the creation of zero knowledge bridges for multi purpose cross-chain communication. The sync committee was introduced to make the consensus of light clients easy to verify on-chain. But regardless , this consensus remains difficult to verify on-chain. Few reason for this is we would have to store the public keys of all the 512 validators on chain , expensive verification of headers which will upto 512 curve additions and 1 pairing and currently no precompile on ethereum supports BLS12-381 curve on the EVM. Zero-knowledge proofs enable us to move the expensive parts of this verification off-chain which will in turn require us to only verify the proof generated on-chain ( which is does not cost as much gas ) .
The project mainly focuses on building a zk-light client for the Ethereum. We mainly use the official specs which ethereum specified in the altair update. ( https://ethereum.github.io/consensus-specs/specs/altair/light-client/sync-protocol/#lightclientfinalityupdate )
The proof of the verification of the consensus of this light client is made made through RISC-0 zkvM which enables us to generate the proof on any arbitrary computation written in Rust. The proof generated is then verified on the Ethereum.