wasmSNARK
A IVC SNARK implementation based on the Fold scheme, capable of running insde a browser based p2p network, support continuation and parallelization.
Screenshots



Problem Statement
The purpose of this project is to use a browser based p2p network and IVC SNARK system to build a fully decentralized ZKP computing platform, not only reduce the price of ZK computing power but also make ZK proof more decentralized.wasmSNARK contains four major steps/parts:Enables reading R1CS and circuit generation (WASM) from Circom within the browser.Supports the generation of recursive SNARK tasks, dividing them into pieces.Facilitates the distribution of SNARK tasks across a browser-based P2P network.Allows the folding and verification of distributed tasks on arbitrary nodes.A demo is included to show how the snark and wasm based p2p works.
Solution
The project use @ringsnetwork as p2p layer, which is based on WASM, WebRTC and Chord DHT.The project use nova-snark as it's folding scheme implementation.The project implemented circom circuit reader, which can read r1cs and wasm from circom output.The project use bellman as SNARK engine, which support Merlin, Plonk as SNARK backend.