nlok5923 / pp-verifier

Groth16 verifier on Arbitrum Stylus

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sunade

zk-sunade

This is an optimized , hand written Groth16 implementation in Rust using Arbitrum's Stylus SDK.

Features

  • Optimized the code size to 22 KB from 26 KB.(Unoptimized)
  • Minimal use of std library. Removed use of parse() method , instead used bytes to reduce size.
  • Verifier is deployed on Arbitrum Stylus testnet at this address
  • Proofs are working. We are demontrating it , by using tornado cash's code as a POC. Proof working link on stylus testnet.

Benchmarks

  • Uncompressed Wasm - 72Kb
  • Compressed Wasm - 22.7Kb
  • Deployment Gas - 4969475
  • Runtime Gas - 256334

Safety

This is experimental software and is provided on an "as is" and "as available" basis. We do not give any warranties and will not be liable for any loss incurred through any use of this codebase. This code is strictly for educational purposes only. Not for production use.

Made with ❤️ by

About

Groth16 verifier on Arbitrum Stylus


Languages

Language:Solidity 53.7%Language:Rust 46.3%