Releases: facebook/winterfell
Releases · facebook/winterfell
v0.6.1
v0.6.0
- Implemented more efficient remainder handling in FRI (#139)
- Removed term involving conjugate OOD challenge z from deep composition polynomial (#166).
- Added
FieldElement::EXTENSION_DEGREEconstant. - Added
FieldElement::base_elementandFieldElement::slice_from_base_elementsmethods. - [BREAKING] Renamed
FieldElement::as_base_elementsintoFieldElement::slice_as_base_elements. - Added
Matrix::num_base_colsandMatrix::get_base_elementmethods. - [BREAKING] Renamed
MatrixintoColMatrix. - [BREAKING] Replaced
ColMatrixwithRowMatrixto hold LDE trace in the prover (#168). - Updated conjectured security computation and added estimation of proven security (#151).
- Changed root of unity for
f64field (#169). - Implemented reduction of public inputs and proof context to field elements (#172).
- [BREAKING] Replaced
RandomCoinstruct with a trait (#176).
v0.5.1
0.5.1 (2023-02-20)
- [BREAKING]: Refactored prover/verifier to take hash function as a generic parameter (#111).
- Introduced
FftInputstrait (#124). - Optimized
as_int()method forf64field (#127, #146). - Improved FRI remainder commitment methodology (#128).
- Added new arithmetization-friendly hash functions: Griffin and Rescue Prime Jive (#129).
- Fixed panic in prover when debugging with concurrent feature enabled (#130, #132).
- Added variable-time exponentiation option to
f64field (#134). - Optimized squaring for degree 2 and 3 extension fields of
f64field (#138). - Simplified conversion to base elements for degree 2 and 3 extension field elements (#147).
- Made closure types less restrictive for
TraceTable::fill()(#149). - [BREAKING] Refactored serialization/deserialization traits (#150).
v0.4.2
v0.4.1
- Increased transition constraint exemption limit by 1.
- Implemented custom doubling for
f64andf62field. - Moved
f64field arithmetic to Montgomery form (constant time). - Updated MDS matrix and related-multiplication routine for
Rp64_256hash function. - Improved performance of
Matrix::interpolate_columnsfunction. - Added ability to "unbatch" a
BatchMerkleProof(viaBatchMerkleProof::into_paths()method). - Changed visibility of FRI utils (made them public).
- Added support for FRI folding factor of 2 (in addition to 4, 8, and 16).
v0.4.0
- Added support for Randomized AIR (with example).
- Added support for custom number of transition constraint exemptions.
- Enabled transition constraints of degree n + 1 when blowup factor is n.
- Moved trace and constraint commitment construction into separate functions in the
Provertrait. - Introduced
Matrixstruct in the prover which is used as a backing type for trace and constraint evaluations. - Added
ExtensionOftrait and implemented it for all supported fields. - Sped up inversion in
f64field by using inversion method based on Fermat’s little theorem. - Implemented
Randomizabletrait foru32,u16, andu8types. - [BREAKING]
AirContext::new()now requiresnum_assertionsparameter. - [BREAKING] Various interface changes in the
Airtrait to support multi-segment traces. - Increased min version of
rustcto 1.60.
v0.3.0
- Added
f64field. - Added support for cubic field extensions.
- Added an implementation of Rescue Prime hash function in
f64field. - Switched to Rust 2021 and increased min version of
rustcto 1.57. - [BREAKING] Renamed
Air::BaseElementtoAir::BaseField. - [BREAKING] Replaced
prover::prove()function withProvertrait. - [BREAKING] Split
ExecutionTracestruct intoTracetrait andTraceTablestruct.
v0.2.0
- Added
Blake3_192as hash function option. - Implemented high-performance version of Rescue Prime hash function.
- Removed
allocfeature in favor of turning onno_stdvia--no-default-featuresflag only. - Moved
randdependency todev-dependenciesonly and removedhashbrowndependency. - Increased min version of
rustcto 1.54.