-
Notifications
You must be signed in to change notification settings - Fork 389
feat(aggregation-mode): proving system id for proof commitments #2174
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
Conversation
…he proof commitments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Warning
This PR breaks compatibility with previous version, we should coordinate the upgrade with aggregation mode clients
MauroToscano
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Add IDs to interface constants
- Make proving system u16
I've added the proving system as a
I admit enums are nicer for ux, but I feel they are not essential here. The IDs are already documented in comments, and the rust sdk explains them clearly. |
Description
This prs adds the proving system id as part of the proof commitments. This is to avoid a confusion between leaf hashes (proof commitments) and compression hashes (authenticity paths) when verifying that proofs have been indeed verified by the aggregation program. This also fixes an special case were a proof for one proving system could be miss identified as being verified by another one.
As stated by 3MI audit:
How to test
Note: you might need to wait until the
fulufork gets activated on ethereum package (on epoch = 1), you can inspect that with:Test L2 example
Follow the instructions here.
Type of change
Please delete options that are not relevant.
Checklist
testnet, everything else tostaging