leonardoalt / eigen-zkvm

A private zkVM basing on layered proof system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

A private zkVM basing on layered proof system

License:Apache License 2.0


Languages

Language:Rust 78.2%Language:Circom 20.4%Language:Solidity 0.5%Language:JavaScript 0.4%Language:Shell 0.3%Language:TypeScript 0.2%Language:Makefile 0.0%