Skip to content

Commit

Permalink
Two to one block aggregation (#318)
Browse files Browse the repository at this point in the history
* Two to one aggregation

* Comments

* Two-to-one block aggregation proof

* Minor

* Minor

* feat: Implement two-to-one Block Aggregation

WIP: compute hashes directly from witness and check against public inputs

WIP: add TwoToOneBlockAggCircuitData

WIP: add test

WIP: rewrite to use hasher circuitry

WIP: test: can generate proofs of unrelated blocks

WIP: test/refactor: generate multiple blocks

WIP: test/refactor: autoformat

WIP: refactor:  use result iterator

WIP: convert PIS

WIP: feat: witness: set public input hashes

WIP: feat: cache proofs in /tmp

WIP: config: default to no cache

WIP: bug: cache write-read assertion fails

WIP: bug: prepare for more eyeballs

WIP: bug: work on to_public_inputs

WIP feat: private public inputs

WIP feat: set pv targets

WIP experiment: public input

WIP refactor: clean up

WIP feat: 1-level aggregation working

WIP forgot: private public inputs

WIP: use agg child structure

WIP: split into IVC and binop

WIP: split part2 into IVC and binop

WIP: split part3 into IVC and binop

WIP: ivc structure done

WIP: wip wip

WIP: ivc+binop

WIP: after talking to Linda

WIP: adjust num_public_inputs

WIP: VirtualTarget index: 5 was set twice

feat: assert on input values length

experiment: minimize failing circuit

feat: add selector for public values

WIP: bug: add methods from branch `no_dummy_segment_no_pis`

WIP: bug: first draft

feat: verify 4-block aggregation

test: add more tests

* cleanup(tests)

* cleanup(tests): obey Clippy

* cleanup: remove unneeded experiment

* cleanup: remove vector to public inputs

* cleanup: remove IVC and re-add two_to_one_block

* cleanup: fix de/serialization

* cleanup: add comments

* cleanup: remove checks

* cleanup: remove unrelated change

* cleanup: remove unused parameter and todo

* feat: enable caching as default

* cleanup: remove previous block aggregation implementation

* refactor: simplify naming

* refactor: improve naming

* cleanup: remove custom build config

* cleanup: undo this change

* cleanup: obey Clippy

* cleanup: remove two-to-one aggregation

* review: resolve small issues

* fixup! cleanup: remove two-to-one aggregation

* review: make order consistent

* fixup! review: make order consistent

* review: merge aggregation children

* review: rename `evm_proof` to `base_proof`

* review: squash tests

* review: investigate padding length

* review: investigate padding length part 2

* review: remove magic numbers

* review: remove HasCircuit trait and pass in CircuitData field directly

* review: rework `set_dummy_if_necessary`

* review: remove logging in test

* review: remove legacy test

* review: remove all `debug_assert!`

* review: obey Clippy and fmt

* review: impl Merklet tree test

* WIP review: fix hashing mechanism and make hash public input

* review: remove VK from inputs

* review: test Merkle tree working

* review: refactor: remove scaffolding

* review: fix ascii art

* review: clippy

* review: remove logging

* review: fmt

* review: remove redundant computations

* fmt

* review: implement feedback from Hamy

* fmt

* review: const verifier_key_len

* review: make offsets explicit

* review(docs): rewrite rustdoc for helper functions

* review: clippy

* fmt

* Remove double spacing

---------

Co-authored-by: wborgeaud <williamborgeaud@gmail.com>
Co-authored-by: Robin Salen <salenrobin@gmail.com>
  • Loading branch information
3 people authored Jul 11, 2024
1 parent a936bc6 commit 5da11bd
Show file tree
Hide file tree
Showing 3 changed files with 738 additions and 28 deletions.
Loading

0 comments on commit 5da11bd

Please sign in to comment.