This project serves as an exploration playground for the creation of an Ethereum ZK Light Client with Helios by using Succinct's SP1 zkVM.
Helios
Helios is a fully trustless, efficient, and portable Ethereum light client written in Rust. Helios converts an untrusted centralized RPC endpoint into a safe unmanipulable local RPC for its users. It syncs in seconds, requires no storage, and is lightweight enough to run on mobile devices.
SP1
SP1 is a performant, 100% open-source, contributor-friendly zero-knowledge virtual machine (zkVM) that can prove the execution of arbitrary Rust (or any LLVM-compiled language) programs. SP1 democratizes access to ZKPs by allowing developers to use programmable truth with popular programming languages.
As both tools are Rust programs, the goal is to combine them and generate verifiable proofs for the operations done by the light client.
Initial list of tasks:
- Prove finality (done)
- Prove the next sync committee
- Prove sync committee signature
Before, follow the SP1 installation guide.
terminal 1:
❯ cd program
❯ cargo prove build
terminal 2:
❯ cd script
❯ cargo run --release