-
Notifications
You must be signed in to change notification settings - Fork 389
Update aggregator doc
#1365
Update aggregator doc
#1365
Conversation
To emphase the "continuous" in aggregated data
roynalnaruto
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.
Nit-picks, minor suggestions
| /// SNARKs. | ||
| type As = KzgAs<Pcs>; | ||
|
|
||
| /// Select condition ? LHS : RHS. |
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.
Maybe we should add some more detail: both this and the below entry are helpers to construct corresponding circuits inside of the ecc_chip which is maintained in the loader argument.
select_accumulator select the lhs or rhs according to the condition and return the cells for ec point represent the result of selection.
accumulate put all the accumulators in argument into circuit and accumulate them into a new pair of ec point and return it.
It may be better also to note that change the size of the vec of accumulators argument would lead to a new circuit (vk changed).
|
|
||
| #[derive(Clone)] | ||
| pub struct RecursionCircuit<ST> { | ||
| /// The verifying key for the 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.
Basicaly it is not the verifying key but the common params of the recursion circuit. The so called "vk" part which identify the circuit is passed via preprocessed_digest PI.
| pub struct RecursionCircuit<ST> { | ||
| /// The verifying key for the circuit. | ||
| svk: Svk, | ||
| /// The default accumulator to initialise the 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.
It is the accumulator that recursion circuit begin with when the "previous" snark is not avaliable (aka. round = 0)
| default_accumulator: KzgAccumulator<G1Affine, NativeLoader>, | ||
| /// The SNARK witness from the k-th BatchCircuit. | ||
| app: SnarkWitness, | ||
| /// The SNARK witness from the (k-1)-th BatchCircuit. |
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.
from the previous RecursionCircuit, i.e. the RecursionCircuit which has aggregated (k-1) snarks from BatchCircuit
| round: usize, | ||
| /// The public inputs to the RecursionCircuit itself. | ||
| instances: Vec<Fr>, | ||
| /// The accumulation of the SNARK proofs recursed over thus far. |
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.
Should say "the proofs of AppCircuit's snark under accumulation scheme"?
Update
aggregatorcrate's documentation