chunker of the Groth16 verifier program#129
Conversation
|
This is great! I had a quick look at the code and I am a bit confused how we'd use this in the bitvm setup. It seems like |
In general the idea is to reuse code for the compilation step in the actual evaluation/assert/disprove step. Thus, at compile time one can provide a placeholder proof that will only change the hints but alwasy return the same scripts. At run time the correct proof is provided which will fill in the correct hints. |
|
Good point! The segments should work as Lukas mentioned. We are trying to add more unit test cases to show the placehoder works as Lukas mentioned. |
|
Thank you guys. That's amazing work! When I run the |
The code was updated, now segments size is 975 and commitments size is 1079. |
We add a new test case 'test_hinted_groth16_verifier_stable' located in src/chunker/chunk_groth16_verifier.rs, which could show the placeholder works. @sander2 @lucidLuckylee |
The assert transaction will be about 3.6M (by using Winternize Signature and 16-byte version Blake3 Hash) and each slash transaction will be under the limitations of Bitcoin's consensus rules, including stack depth and the total size of witnesses and scripts. |
Hi, we have completed our chunks of the Groth16 verifier program. Each chunk complies with Bitcoin's consensus rules, including stack depth and the total size of witnesses and scripts and will generate script and witness for each branch of disprove transaction.
Special thanks to @wz14, @panjone, @dylan, and the support from Bitlayer.