-
Notifications
You must be signed in to change notification settings - Fork 3
docs: aggregation #391
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
docs: aggregation #391
Conversation
|
The preview of this PR has been deleted. |
vveiln
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.
Looks good to me! I left a couple of minor comments
| @@ -1,3 +1,39 @@ | |||
| # Proof aggregation | |||
| An aggregation proof attests to the validity of all compliance and logic proofs of an RM transaction. With aggregation, the [raw RM proofs](../proving/index.md) (except the delta proof) are no longer needed, so they can be erased. Reducing thereby verification time and transaction size. | |||
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.
are no longer needed
maybe we could change it to "don't need to be stored in the transaction structure", otherwise it sounds like we don't need to prove the proofs
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.
Changed
| Passing the raw proofs as witnesses means they are not needed to verify the aggregation proof. This is what allows to remove them from the RM transaction. | ||
|
|
||
| !!! note | ||
| The verifier must be aware of what has been verified by the prover during aggregation. This means the aggregation instance must account for the raw verifying keys and raw instances. However, they do not need to appear explicitly. A _binding_ (and possibly short) commitment suffices. |
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.
This note explains why we include vks and instances in the instance, right?
Can we rephrase "This means the aggregation instance must account ..." to "That is why we include raw verifying keys.."?
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.
Changed
| !!! note | ||
| The verifier must be aware of what has been verified by the prover during aggregation. This means the aggregation instance must account for the raw verifying keys and raw instances. However, they do not need to appear explicitly. A _binding_ (and possibly short) commitment suffices. | ||
| ## Aggregation constraints | ||
| An aggregation must check the following: |
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.
aggregation circuit
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.
Added
| An aggregation must check the following: | ||
| 1. Verify each compliance proof against its corresponding compliance instance using the compliance verifying key | ||
| 2. Verify each logic proof against its corresponding logic instance using the corresponding logic verifying key | ||
| 2. Other aggregation-specific constraints |
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.
- the item number should be 3
- Can we specify what constraints?
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.
- Fixed.
- What I meant is that depending on the aggregation circuit there may be more constraints. (For batch strategy there is no more constraints, for sequential strategy correct accumulation/hashing must be enforced also. The strategies are described below.) I changed the paragraph so hopefully is clearer now.
ba60b36 to
8d3c6bb
Compare
8d3c6bb to
022e34d
Compare
Proof aggregation.