devnet0x / sandstorm

Cairo prover powered by miniSTARK (compatible with StarkWare's verifiers)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sandstorm

Wasm sandstorm

Cairo prover powered by miniSTARK

license stability-experimental

Warning this code is new and will change in future versions. Please try it out and provide feedback.

Sandstorm is a Cairo prover built by Andrew Milson on top of miniSTARK. The prover was built by reverse engineering StarkWare's open source verifier and was used to submit the first independent proof to StarkWare's Ethereum verifier (see tweet here).

You can find Sandstorm on Andrew Milson repository.

This is just a slightly modified version to learn Wasm and demonstrate that we can run Sandstorm in a web browser with Wasm. There is a lot of wasm optimization to be done to achieve real Sandstorm speed.

This release uses a slightly modified version of Ministark to support WASM.

As an example, running in Firefox on a virtualized machine with 6 AMD EPYC 7282 16-core processors and 16 MB RAM, we get 10 seconds for verification and almost 1.2 hours for a proof.

How to install locally

  1. Download all files from cli/pkg folder.
  2. Install a local http server like lite-server from npm.
  3. Copy all your memory, trace and input files in the same folder.
  4. Load in your browser.

Notes

  1. When generating the proof the browser will store automatically the .proof file in your Download folder.

Screenshots

Verification Ok Verification Ok

Verificaton failed Verification failed

Proof generation Verification Ok

About

Cairo prover powered by miniSTARK (compatible with StarkWare's verifiers)

License:MIT License


Languages

Language:Rust 95.8%Language:Python 2.2%Language:JavaScript 1.2%Language:Cairo 0.7%Language:HTML 0.1%