You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the first iteration of PG protocol there is no accumulator (i.e. Instance with FoldingParams set) and there are two ways to go through the protocol. Writing down notes from a conversation with Zac.
Option 1 (more expensive)
Transform an Instance into an Accumulator: this can be done by having the verifier send a challenge beta to the prover and prover computes vec{beta} as powers of beta and then run the protocol as usual. ('beta is referred to as the gate separation challenge in the codebase).
Option 2
Run the protocol with an empty accumulator. This saves us the work ok computing F (the perturbator polynomial) at the first iteration and so F(alpha) = 0. Then vec{beta*) will be entirely dependent of challenges alpha and delta. The rest of the iteration runs as normal.
The text was updated successfully, but these errors were encountered:
This work makes the first iteration of protogalaxy more efficient by removing the perturbator computation in just the first iteration. We can do this because in the first iteration, there is no accumulator, so we're just folding instances together. Because of this, we can assume that f_i(\omega) is 0 for all i. This seems suspicious, but this assumption is fine because if the instances were not valid (some f_i(\omega) is not 0), folding invalid instances would yield an invalid accumlator so it wouldn't matter in the end. Normally, we can't do this because f_i(\omega) for a correct accumulator is not all 0s, as \omega is some folded thing.
FixesAztecProtocol/barretenberg#740.
This work makes the first iteration of protogalaxy more efficient by removing the perturbator computation in just the first iteration. We can do this because in the first iteration, there is no accumulator, so we're just folding instances together. Because of this, we can assume that f_i(\omega) is 0 for all i. This seems suspicious, but this assumption is fine because if the instances were not valid (some f_i(\omega) is not 0), folding invalid instances would yield an invalid accumlator so it wouldn't matter in the end. Normally, we can't do this because f_i(\omega) for a correct accumulator is not all 0s, as \omega is some folded thing.
Fixes#740.
At the first iteration of PG protocol there is no accumulator (i.e.
Instance
withFoldingParams
set) and there are two ways to go through the protocol. Writing down notes from a conversation with Zac.Option 1 (more expensive)
Transform an Instance into an Accumulator: this can be done by having the verifier send a challenge
beta
to the prover and prover computesvec{beta}
as powers ofbeta
and then run the protocol as usual. ('beta
is referred to as the gate separation challenge in the codebase).Option 2
Run the protocol with an empty accumulator. This saves us the work ok computing
F
(the perturbator polynomial) at the first iteration and soF(alpha) = 0
. Thenvec{beta*)
will be entirely dependent of challengesalpha
anddelta
. The rest of the iteration runs as normal.The text was updated successfully, but these errors were encountered: