add FRI
FRI protocol from dragoon/fri
changelog
- add binary assets to be used as inputs
- add
fri
andfri_test_utils
as local dependencies untildragoon/fri
becomes public - add
fri
feature and module (see section below for the public definitions) - fix bug in 32bd6566
- bump Rust in e7a2c244
- add a versatile example
- add Nushell pipeline to run benchmarks and plot results
- add some tests
fri
module API
struct Block<F: PrimeField, H: Hasher>
fn evaluate<F: PrimeField>(bytes: &[u8], k: usize, n: usize) -> Vec<Vec<F>>
fn encode<F: PrimeField>(
bytes: &[u8],
evaluations: Vec<Vec<F>>,
k: usize,
) -> Vec<fec::Shard<F>>
fn prove<const N: usize, F: PrimeField, H: Hasher, P>(
evaluations: Vec<Vec<F>>,
shards: Vec<fec::Shard<F>>,
blowup_factor: usize,
remainder_plus_one: usize,
nb_queries: usize,
) -> Result<Vec<Block<F, H>>, KomodoError>
where
P: DenseUVPolynomial<F>,
for<'a, 'b> &'a P: Div<&'b P, Output = P>,
<H as rs_merkle::Hasher>::Hash: AsRef<[u8]>,
fn verify<const N: usize, F: PrimeField, H: Hasher, P>(
block: Block<F, H>,
domain_size: usize,
nb_queries: usize,
) -> Result<(), KomodoError>
where
P: DenseUVPolynomial<F>,
for<'a, 'b> &'a P: Div<&'b P, Output = P>,
<H as rs_merkle::Hasher>::Hash: AsRef<[u8]>,
fn decode<F: PrimeField, H: Hasher>(blocks: Vec<Block<F, H>>, n: usize) -> Vec<u8>
results
times
sizes
Edited by STEVAN Antoine
Merge request reports
Activity
added protocol label
assigned to @a.stevan
mentioned in merge request !167 (merged)
added 1 commit
- 0ab32053 - share the commit of FRI blocks using RC (!167 (merged))
added 1 commit
- d00c4d35 - remove the linear combination in Shards when FRI is used (!180 (merged))
added 84 commits
-
50b86f54...de4266c0 - 4 commits from branch
main
- de4266c0...5ef6663d - 70 earlier commits
- 0ee69c47 - plot: use base 2 for the log scales
- 04e5724a - move FRI benchmark parameters to file
- 11533bfe - split snippet command
- 77d46d7c - format
- 3e91ed82 - add some tests
- cb9da284 - use published versions of FRI crates
- 90d7b8f1 - make Clippy happy
- 38a0f183 - share the commit of FRI blocks using RC (!167 (merged))
- e877dcfe - remove the linear combination in Shards when FRI is used (!180 (merged))
- ae5544bb - don't make `fri::transpose` public
Toggle commit list-
50b86f54...de4266c0 - 4 commits from branch
enabled an automatic merge when all merge checks for ae5544bb pass
mentioned in commit 202d8bcc
Please register or sign in to reply