Skip to content

Proof of Concept to SNARKify current implementation of Ethereum Consensus Layer

License

Notifications You must be signed in to change notification settings

ReamLabs/consensp1us

Repository files navigation

consensp1us

consensp1us is a Proof of Concept of integrating zkVM with the current Ethereum Consensus layer. It will leverage ream and sp1.

Requirements

Running the Project

There are four main ways to run this project: build a program, execute a program, generate a core proof, and generate an EVM-compatible proof.

Build the Program

To build the program, run the following command:

cd program
cargo prove build

Execute the Program

To run the program without generating a proof:

cd script
make download
cargo run --release -- --execute --operation_name <OPERATION_NAME>
possible values for OPERATION_NAME: attestation, attester_slashing, block_header, bls_to_execution_change, deposit, execution_payload, proposer_slashing, sync_aggregate, voluntary_exit, withdrawals

This will execute the program and display the output.

Generate benchmarks for execution

cd script
make download
make run-<OPERATION_NAME>
OPERATIONS = attestation attester_slashing block_header bls_to_execution_change deposit execution_payload proposer_slashing sync_aggregate voluntary_exit withdrawals

This will execute the program and generate benchmarks (especially for cycles) in ./script/summaries directory.

Generate a Core Proof

To generate a core proof for your program:

cd script
cargo run --release -- --prove --operation_name <OPERATION_NAME>

About

Proof of Concept to SNARKify current implementation of Ethereum Consensus Layer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published