You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
arnaucube a0d2df686b upgrade to latest sonobe version after several changes, extend docs, restructure sections 7 months ago
..
design Update the docs for decider circuits (#5) 10 months ago
imgs Update nova-cyclefold-diagram.png correcting typo 1 year ago
usage upgrade to latest sonobe version after several changes, extend docs, restructure sections 7 months ago
README.md upgrade to latest sonobe version after several changes, extend docs, restructure sections 7 months ago
SUMMARY.md upgrade to latest sonobe version after several changes, extend docs, restructure sections 7 months ago
examples_projects.md upgrade to latest sonobe version after several changes, extend docs, restructure sections 7 months ago
experimental-frontends.md upgrade to latest sonobe version after several changes, extend docs, restructure sections 7 months ago
folding-and-sonobe.md upgrade to latest sonobe version after several changes, extend docs, restructure sections 7 months ago

README.md

sonobe

Experimental folding schemes library implemented in a joint effort by 0xPARC and PSE.

https://github.com/privacy-scaling-explorations/sonobe

Sonobe is a modular library to fold circuit instances in an Incremental Verifiable computation (IVC) style. It features multiple folding schemes and decider setups, allowing users to pick the scheme which best fit their needs.

Sonobe is conceived as an exploratory effort with the aim to push forward the practical side of folding schemes and advancing towards onchain (EVM) verification.

"The Sonobe module is one of the many units used to build modular origami. The popularity of Sonobe modular origami models derives from the simplicity of folding the modules, the sturdy and easy assembly, and the flexibility of the system."

Warning: experimental code, do not use in production.
The code has not been audited. Several optimizations are also pending. Our focus so far has been on implementing the Nova and CycleFold schemes and achieving onchain (EVM) verification.

Schemes implemented

The library uses arkworks, and implements the following folding schemes:

Frontends

Frontends allow to define the circuit to be folded (ie. FCircuit). The recommended frontend is directly implementing the FCircuit trait with the Arkworks constraint system.

Alternatively, experimental frontends for Circom, Noir and Noname can be found at the sonobe/experimental-frontends directory, which have some computational (and time) overhead.

More details about the frontend interface and the experimental frontends can be found at the sonobe-docs/frontend page.