|
| CommitmentKey ()=default |
|
| CommitmentKey (const size_t num_points) |
| Construct a new Kate Commitment Key object from existing SRS.
|
|
bool | initialized () const |
| Checks the commitment key is properly initialized.
|
|
Commitment | commit (PolynomialSpan< const Fr > polynomial) const |
| Uses the ProverSRS to create a commitment to p(X)
|
|
Commitment | commit_structured (PolynomialSpan< const Fr > polynomial, const std::vector< std::pair< size_t, size_t > > &active_ranges, size_t final_active_wire_idx=0) |
| Efficiently commit to a polynomial whose nonzero elements are arranged in discrete blocks.
|
|
Commitment | commit_structured_with_nonzero_complement (PolynomialSpan< const Fr > polynomial, const std::vector< std::pair< size_t, size_t > > &active_ranges, size_t final_active_wire_idx=0) |
| Efficiently commit to a polynomial with discrete blocks of arbitrary elements and constant elements.
|
|
Commitment | commit_with_type (PolynomialSpan< const Fr > poly, CommitType type, const std::vector< std::pair< size_t, size_t > > &active_ranges={}, size_t final_active_wire_idx=0) |
|
template<class
Curve>
class bb::CommitmentKey< Curve >
CommitmentKey object over a pairing group 𝔾₁.
Commitments are computed as C = [p(x)] = ∑ᵢ aᵢ⋅Gᵢ where Gᵢ is the i-th element of the SRS. For BN254, the SRS is given as a list of 𝔾₁ points { [xʲ]₁ }ⱼ where 'x' is unknown. For Grumpkin, they are random points. The SRS stored in the commitment key is after applying the pippenger_point_table thus being double the size of what is loaded from path.
Definition at line 40 of file commitment_key.hpp.
Efficiently commit to a polynomial whose nonzero elements are arranged in discrete blocks.
Given a set of ranges where the polynomial takes non-zero values, copy the non-zero inputs (scalars, points) into contiguous memory and commit to them using the normal pippenger algorithm. Defaults to the conventional commit method if the number of non-zero entries is beyond a threshold relative to the full polynomial size.
- Note
- The wire polynomials have the described form when a structured execution trace is in use.
- Warning
- Method makes a copy of all {point, scalar} pairs that comprise the reduced input. May not be efficient in terms of memory or computation for polynomials beyond a certain sparseness threshold.
- Parameters
-
- Returns
- Commitment
Definition at line 121 of file commitment_key.hpp.