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(protocol): Introduce oracle and system prover concept #13729

Merged

Conversation

adaki2004
Copy link
Contributor

@adaki2004 adaki2004 commented May 9, 2023

Modifications:

  • Separated Oracle proofs and System proofs (System proofs was the skipped ones, usually called it sometimes "fake proofs", but decided not a good wording.)

Oracle proofs:

  • They have to be overwritten (by regular proofs) - otherwise cannot be verified
  • They cannot overwrite the existing proof if it's the same
  • They can overwrite if FC's data differs

System proofs:

  • They are overwriteable and also verifiable as well (UPDATE: was not overwriteable first, we changed)

Related to : #13728

@adaki2004 adaki2004 changed the title Introduce oracle and system prover concept feat(protocol): Introduce oracle and system prover concept May 9, 2023
@adaki2004 adaki2004 marked this pull request as ready for review May 9, 2023 11:03
@Brechtpd
Copy link
Contributor

Brechtpd commented May 9, 2023

Maybe too late to do this for testnet, but what if we start doing things according to #13693:

  • Blocks need a zk proof + a signature (currently just one we generate and share somehow)
  • For proofs that need to be skipped only a valid signature is required, the zk proof verification is skipped. Here we force the proof time to be the target proof time to not impact the base fee calculation.

Then, currently optional because not needed, we just have an additional fail safe mechanism to overwrite and lock a fork choice directly, not going through the normal proving code in proveBlock.

EDIT: issue created: #13731

@adaki2004 adaki2004 requested a review from dantaik May 9, 2023 14:35
@dantaik
Copy link
Contributor

dantaik commented May 9, 2023

Lets create an issue for it.

@dantaik dantaik marked this pull request as draft May 9, 2023 16:08
Co-authored-by: adaki2004 <[email protected]>
Co-authored-by: Dani <[email protected]>
@dantaik dantaik marked this pull request as ready for review May 9, 2023 16:12
dantaik
dantaik previously approved these changes May 9, 2023
@cyberhorsey
Copy link
Contributor

Will need to add the system prover address of (1) to Taiko client, will create an issue and do it.

dantaik
dantaik previously approved these changes May 9, 2023
@davidtaikocha davidtaikocha enabled auto-merge May 10, 2023 03:26
@davidtaikocha davidtaikocha added this pull request to the merge queue May 10, 2023
Merged via the queue into main with commit e8ba716 May 10, 2023
@davidtaikocha davidtaikocha deleted the separate_oracle_proof_and_artificially_valid_oracle_proof branch May 10, 2023 03:26
@github-actions github-actions bot mentioned this pull request May 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(protocol): add a shorter proofCooldownPeriod for oracle proofs
5 participants