Skip to content

0xEigenLabs/eigen-zkvm

Repository files navigation

eigen-zkvm

eigen-zkvm is a zkVM on a layered proof system, allowing the developers to write Zero-knowledge applications, proving with the layered proof system to achieve no trusted setup, constant on-chain proof size and low gas cost, and finally generating the solidity verifier.

  • zkit: universal command line for stark, plonk, and groth16.

  • Circom 2.x support;

  • Proof composition: proof aggregation and recursion on Stark;

  • Proof Recursion with Snark on Stark;

  • Solidity verifier generation;

  • GPU acceleration for proving, not open-sourced;

  • WASM friendly for single proving and verifying, NodeJS/Javascript prover and verifier, plonkjs;

  • Eigen zkVM: basing on RISCV ISA.

How the layered proof system works

mixed-proof-system

Tutorial

  • Generate universal setup key
zkit setup -p 13 -s setup_2^13.key

For the power from 20 to 26, you can download directly from universal-setup hub.

  • Snark aggregation proof

test_aggregation.sh

  • Stark aggregation proof

stark_aggregation.sh yes BN128

stark_aggregation.sh yes BLS12381

  • Stark proof and recursive stark prove

starky

  • Layered proof

starkjs

Applications