Open Sourcing an Ultra-fast zk Prover: Rapidsnark

9 months ago   •   2 min read

By Polygon Hermez

We’d like to share an important milestone for the Hermez Network project and potentially to the zero-knowledge developer community.

We have been developing a new zk-SNARKs zero-knowledge prover module called “Rapidsnark”, and we have published and open-sourced it. Read on for more details!

What’s a prover and why does it matter

Long story short, a prover is a programmable module that generates zero-knowledge proofs and does the cryptographic computation required for some applications such as Hermez zk-rollup.

Making a prover fast matters, as it has a direct impact on the application usability. For example, in Hermez, the number of zero-knowledge proofs that can be generated in a given time slot defines the network throughput and transaction latency.

Rapidsnark: A new SNARK proof generation benchmark

Our Technical Lead, Jordi Baylina, recently released Rapidsnark, a prover written in C that he’s been working on for some time.

The announcement caused a great deal of interest in the zero-knowledge community, as well as in the Telegram group of iden3, where tens of cryptographers share ideas and work together to improve the technology behind zkRollups.

Ethereum developer and founder of Semaphore, Koh Wei Jie, compared the speed of Rapidsnark against zkutil. Using 1.1 million constraints, the results were:

  • Zkutil: 17 seconds
  • Rapidsnark: 7 seconds
1.1M constraints -> 7 seconds with Rapidsnark vs 17 seconds with zkutil!

Koh Wei Jie's original Telegram message.

A comparison with a higher number of constraints (128 Million), using Hermez Network’s 2.000 tx/s circuit provides similar results: 152 s vs 343 s.

A faster zkRollup

Rapidsnark, SNARKjs, Circom and the Hermez smart contracts are just part of the tooling that the Hermez team has been working on for months and has now open-sourced.

In the coming days, we’ll release our public testnet, inviting all developers to contribute with their feedback to scaling the Ethereum blockchain. In the meantime, follow us on Twitter and join the conversation on Discord.

EDITED:

After receiving the feedback from members of the cryptographic community, we've edited this post to remove a comparison regarding the bellman library to increase accuracy.


Spread the word

Keep reading