Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: biggroup_goblin handles points at infinity + 4x reduction in ECCVM size #9366

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

zac-williamson
Copy link
Contributor

This PR adds support for biggroup_goblin handling elliptic curve points at infinity

This feature is used to optimize the ECCVM instructions created when running a recursive protogalaxy verifier.

Instead of performing size-2 scalar multiplications for every witness/commitment, additional random challenges are generated in order to evaluate two large batch multiplications.

The technique implemented is described in https://hackmd.io/T1239dufTgO1v8Ie7EExlQ?view

Copy link
Contributor

Changes to public function bytecode sizes

Generated at commit: 29b7d6443d9ec4e0d50d6b8de57a9d0e49e68b69, compared to commit: 8835b31d76b2f7c45416eaf67a748d8df9dbc753

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
Token::public_dispatch -4,718 ✅ -14.33%
NFT::public_dispatch -4,073 ✅ -15.51%
NFT::_finalize_transfer_to_private_unsafe -2,454 ✅ -39.00%
NFT::finalize_transfer_to_private -2,454 ✅ -39.20%
Token::complete_refund -2,969 ✅ -50.68%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
Token::public_dispatch 28,211 (-4,718) -14.33%
NFT::public_dispatch 22,193 (-4,073) -15.51%
NFT::_finalize_transfer_to_private_unsafe 3,838 (-2,454) -39.00%
NFT::finalize_transfer_to_private 3,807 (-2,454) -39.20%
Token::complete_refund 2,889 (-2,969) -50.68%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant