In our latest article about powdr autoprecompiles, we ask ourselves 2 questions: - Can we make manually written precompiles obsolete? - How do autoprecompiles improve the state-of-the-art of ZK proofs for Ethereum block verification? More in the article or below👇
1
4
31
Replies
3/9 Isolated benchmarks comparing autoprecompiles to existing precompiles in @openvm_org: - Keccak, U256: faster than manual precompiles! - SHA: autoprecompiles achieve close performance to manual. - EC/ECDSA: manual precompiles are faster, likely more hints could close the gap.
1
0
4
4/9 When benchmarking Ethereum block verification, we consider two scenarios: - Use autoprecompiles next to existing manual precompiles. - Do not use any manual precompiles.
1
0
4
5/9 In the first case, autoprecompiles already provide a 1.37x advantage over using vanilla OpenVM, including recursion!
1
0
4
6/9 We stop at 100 autoprecompiles above due to restrictions on recursion, which could be solved by a different proving system. We report results without recursion also for larger numbers of autoprecompiles. With 1000 autoprecompiles, we achieve a 1.84x speedup!
1
0
4
7/9 Finally, we removed all OpenVM precompiles from the guest program, simulating a world where they don't exist. We achieve a 2.62x improvement (with recursion) over software. As ECDSA is a major workload when verifying Ethereum blocks, OpenVM precompiles achieve better times.
1
0
4
8/9 Our experiments hint that manual precompiles can be made mostly obsolete sooner than later, eliminating a huge amount of engineering effort and security risk.
1
1
4