efficient-zk-ecdsa
The code in this repo is unaudited and not recommended for production use.
Please refer to this Ethereum Research post for details. The circuits in this repo uses circuits from circom-ecdsa.
Install dependencies
yarn
Compile the circuit and generate the zkey
yarn run build:ecdsaverify
Run proof generation
yarn run run:ecdsaverify
Run benchmarks
cd ./bench
open ./index.html
The full proof and the proving time will be displayed in the browser console.
Benchmarks
Circuit info
Circuit | Constraints | zKey size |
---|---|---|
ecdsa_verify | 163,239 | 119MB |
ecdsa_verify_pubkey_to_addr | 466,599 | 291MB |
Browser proving
The setup:
- M1 Pro Macbook Pro
- Internet speed: 40Mbps
- Browser: Brave browser
Circuit | Proving time |
---|---|
ecdsa_verify | 51s |
ecdsa_verify_pubkey_to_addr | 107s |
Command line proving
The setup:
- M1 Pro Macbook Pro
Circuit | Proving time |
---|---|
ecdsa_verify | 18s |
ecdsa_verify_pubkey_to_addr | 32s |