|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <ecc_op_queue_relation.hpp>
Public Types | |
| using | FF = FF_ |
Static Public Member Functions | |
| template<typename AllEntities > | |
| static bool | skip (const AllEntities &in) |
| template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters > | |
| static void | accumulate (ContainerOverSubrelations &accumulators, const AllEntities &in, const Parameters &, const FF &scaling_factor) |
| Constrains ecc_op_wire polynomials to equal shifted wires on the ECC op domain, and zero elsewhere. | |
Static Public Attributes | |
| static constexpr std::array< size_t, 8 > | SUBRELATION_PARTIAL_LENGTHS |
Definition at line 12 of file ecc_op_queue_relation.hpp.
| using bb::EccOpQueueRelationImpl< FF_ >::FF = FF_ |
Definition at line 14 of file ecc_op_queue_relation.hpp.
|
inlinestatic |
Constrains ecc_op_wire polynomials to equal shifted wires on the ECC op domain, and zero elsewhere.
The relation is defined as C(in(X)...) = \alpha_{base} * ( \Sum_{i=0}^3 \alpha^i * (w_i_shift - w_{op,i}) * \chi_{ecc_op} + \Sum_{i=0}^3 \alpha^{i+4} w_{op,i} * \bar{\chi}_{ecc_op} )
where w_{op,i} are the ecc op gate wires, \chi_{ecc_op} is the indicator for the portion of the domain representing ecc op gates and \bar{\chi} is the indicator on the complementary domain.
The first four sub-relations check that the values in the conventional wires are identical to the values in the ecc op wires over the portion of the execution trace representing ECC op queue gates. The next four check that the op wire polynomials are identically zero everywhere else.
ecc_op_wires are derived witnesses, which the prover "fills in". We wish that these values are constrained to be w_i_shift when i is in the ecc_op range and 0 else. This tacitly assumes that the ecc ops "come first" in the execution trace. | evals | transformed to evals + C(in(X)...)*scaling_factor |
| in | an std::array containing the fully extended Univariate edges. |
| parameters | contains beta, gamma, and public_input_delta, .... |
| scaling_factor | optional term to scale the evaluation before adding to evals. |
Definition at line 58 of file ecc_op_queue_relation.hpp.
|
inlinestatic |
Definition at line 27 of file ecc_op_queue_relation.hpp.
|
staticconstexpr |
Definition at line 16 of file ecc_op_queue_relation.hpp.