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

[Epic] Proof Timeliness and Prover Coordination #8509

Closed
1 task done
just-mitch opened this issue Sep 11, 2024 · 1 comment
Closed
1 task done

[Epic] Proof Timeliness and Prover Coordination #8509

just-mitch opened this issue Sep 11, 2024 · 1 comment
Assignees

Comments

@just-mitch
Copy link
Collaborator

just-mitch commented Sep 11, 2024

Overview

Design docs of proof timeliness and prover coordination.

I'm lumping them together within this one epic because they're tightly related in practice/development, though the key observation is that the Proof Timeliness work is largely enshrined and on L1, and the Prover Coordination work is not.

As a quick overview of the functionality we want with this epic.

Proof timeliness

An epoch is comprised of many blocks (e.g. 32).

On L1, we keep track of a pending chain tip, and a proven chain tip (which is a prefix of the pending chain).

The committee can post blocks to the pending chain, once per L2 slot (e.g. every 36 seconds).

One epoch is proven at a time, and verified on L1.

When epoch n ends, its proof must land in epoch n+1.

The first 13 proposers in an epoch have the ability to post a prover commitment bond, and subsequently the proof.

Doing so claims the TST block rewards that will be distributed once the epoch is proven according to the fee specified by the prover.

The bond they post must come out of an escrow specifically designed for holding prover commitment bonds.

If a bond to prove epoch n-1 doesn't land in the first 13 slots of epoch n, then the pending chain tip get reorged back to point to the last proven block (i.e., the last block in epoch n-2).

If a bond to prove epoch n-1 does land in time, but a proof does not land in epoch n, this results in the same reorg back to the last proven block.

Prover coordination

It is doubtful that the proposers will actually be running their own proving infrastructure. They will, instead, be coordinating with proving marketplaces to get bonds and proofs posted; this is what "prover coordination" refers to.

There will be an optional p2p layer to allow prover marketplaces to submit quotes, which will allow proposers to immediately submit the quote to L1.

The quotes will be signed such that the proposers can use the provers funds in escrow for the purpose of the prover commitment bond.

Stress test of functional requirements

We must demonstrate that 20 actors representing proving marketplaces can submit bids, that at most 1 bid can be accepted on L1 during, the bid can only be accepted during the proof claim period of a prescribed epoch, the bid is only actionable on L1 if the prover has the requisite bond in TST, and that all the above works when there are 300 nodes on the p2p network, and the chain is operating at 1TPS with proving turned on.

Tasks

Preview Give feedback
@just-mitch just-mitch added the T-tracking Type: Tracking Issue. This contains tasklists. label Sep 11, 2024
@just-mitch just-mitch self-assigned this Sep 11, 2024
@github-project-automation github-project-automation bot moved this to Todo in A3 Sep 11, 2024
@just-mitch just-mitch changed the title [Epic] Prover Coordination [Epic] Proof Timeliness and Prover Coordination Sep 16, 2024
@just-mitch
Copy link
Collaborator Author

closed in favor of the two supporting, distinct epics

@just-mitch just-mitch closed this as not planned Won't fix, can't repro, duplicate, stale Sep 24, 2024
@github-project-automation github-project-automation bot moved this from Todo to Done in A3 Sep 24, 2024
@just-mitch just-mitch removed the T-tracking Type: Tracking Issue. This contains tasklists. label Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

1 participant