BitVM-ZKP-Verifier
The first ZKP Verify Code Implementation using Bitcoin Script, by Zulu.
The Zulu Network team has Open-Sourced the first ZKP Verify Code Implementation using Bitcoin Script! It involves mainstream algorithms such as Groth16/FFlonk, and we have submitted the code to the BitVM repository.
Here are the links to our code:
Importance of Snark Verifier Script
Robin Linus, founder of BitVM, shared that the Snark Verifier script on Bitcoin is very important in BitVM2 (https://bitvm.org/bitvm2).
He has also recently praised the efforts in development by the Zulu Network team: https://x.com/robin_linus/status/1796206213077545079
Technical Implementation
What is the size of the verifier for Groth16/Fflonk?
1. Fflonk Verifier:
Curve: BN254
Public input number: 2
Script size: 7456022084 bytes
Max stack items number: 905
2. Groth16 Verifier:
Curve: BN254
Public input number: 1
Script size: 7034158970 bytes
Max stack items number: 1112 (Can be optimized)
Based on the current script size, we only need to split the entire ZKP script into fewer than 2,000 sub-scripts, which is remarkable. We are deeply grateful to all the contributors to the BitVM repository, including@robin_linus,@weikengchen, and others.
We also extend our thanks to Andrija Novakov from @__geometry__for their latest paper, "On Proving Pairings," https://eprint.iacr.org/2024/640.pdf which significantly reduces the overall script size.
This achievement lays the foundation for constructing a decentralized bridge based on BitVM2. Zulu's next goal is to launch a trust-minimized Bitcoin bridge utilizing cross-chain technology and BitVM2.
The snark verifier in the script on Bitcoin is a huge milestone for future Bitcoin developments, as BitVM creator@robin_linus shared at ZK Proof 6 in Berlin.
Let's move Bitcoin forward!
Last updated