zkmopro / mopro

Making client-side proving on mobile simple.
https://zkmopro.org
Apache License 2.0
131 stars 35 forks source link

Add support for bls381 #203

Closed chancehudson closed 4 months ago

chancehudson commented 4 months ago

Problem

Mopro only supports circom proofs over the alt_bn128 curve. We rely on circom-compat to read the zkey. This package returns a ProvingKey<Bn254> structure from read_zkey.

Details

We should add support for the bls381 curve to mopro as it will be added to ethereum as a precompile in the next hard fork. We'll need test zkeys/wasms built for the bls381 curve.

The zkey binary file includes information about what curve the key is built for. We should automatically use this to change what curve we're making proofs on.

Acceptance criteria

Make a circom proof over the bls381 curve.