• Stars
    star
    130
  • Rank 277,575 (Top 6 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created over 2 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Rust zkVM with a Modular Proof System

eigen-zkvm

eigen-zkvm is a zkVM on 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 commandline for stark, plonk and groth16.

  • Circom 2.x on PlonK prove system;

  • Proof composition: proof aggregation and recursion on Stark;

  • Proof Recursion with Snark on Stark;

  • Solidity verifier generation;

  • GPU acceleration for proving, not opensourced;

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

  • Eigen zkVM: basing on RISCV ISA.

How layered proof system works

mixed-proof-system

Tutorial

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

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

  • Single proof

test_plonk_verifier.sh

test_plonk_verifier.sh poseidon

  • 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