Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(zero-bin): add support for 2-to-1 independent block proofs aggregation #387

Open
Nashtare opened this issue Jul 11, 2024 · 1 comment · May be fixed by #656
Open

feat(zero-bin): add support for 2-to-1 independent block proofs aggregation #387

Nashtare opened this issue Jul 11, 2024 · 1 comment · May be fixed by #656
Assignees
Labels
crate: zero_bin Anything related to the zero-bin subcrates. enhancement New feature or request

Comments

@Nashtare
Copy link
Collaborator

Nashtare commented Jul 11, 2024

We'd want to add another prove / verify pair.

The job queue would consist in independent (i.e. distinct chains) final block proofs to be submitted (each possibly representing an entire sequence of consecutive blocks from a single chain past a known checkpoint height), to be aggregated in a binary tree fashion.

Because the aggregation statement hashes a block proof PublicValues, and 2-to-1 hashes (i.e. compresses) two aggregated proofs' own PublicValues hashes, the verifier would need to be passed, in the clear, a sequence of PublicValues with necessary metadata to help them reconstruct the final root hash to be used as public input when verifying the proof. 1

Follow-up work from #318 and #364.

Blocked by #525

Footnotes

  1. or rather, to be verified against the encoded public values already attached to the proof payload.

@Nashtare Nashtare added enhancement New feature or request crate: zero_bin Anything related to the zero-bin subcrates. labels Jul 11, 2024
@Nashtare Nashtare added this to the Type 1 - Q3 2024 milestone Jul 11, 2024
@Nashtare Nashtare self-assigned this Aug 6, 2024
@Nashtare
Copy link
Collaborator Author

Nashtare commented Aug 6, 2024

From a design perspective, I'm not so clear as to how the prover interface should look like on zero-bin side, partly aligned with the motivation behind #447.

Motivation

We want to have two distinct proving modes:

Base work for the paladin operations / zero-bin adaptation has been started on two_to_one_zero branch.

Issue

Adding another mode comes with some design considerations:

  • we already have a lot of CLI args (and actually 2 more to come with feat/continuations).
  • most of the sub args for the 3 input modes above are actually irrelevant when it comes to the block aggregation mechanism
  • we may want to limit the kind of input sources available for one mode or the other (I don't think we've ever used the HTTP mode, will we ever?)

Ideally, we'd want to be aligned with how we want this to look like before I continue further and start shaping the new CLI.
@0xaatif @atanmarko Any opinion welcome :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crate: zero_bin Anything related to the zero-bin subcrates. enhancement New feature or request
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

1 participant