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): simplify protocol and remove prover pool from core protocol #14541

Conversation

dantaik
Copy link
Contributor

@dantaik dantaik commented Aug 19, 2023

Inspired by Brecht's feature request, this PR aims to separate the current prover (pool) contract from the core protocol, allowing various prover contract designs. Taiko will act as the "glue" between the core protocol and different prover contracts.

Changes introduced in this PR:

  • Block Proposal: Blocks must assign a non-zero prover address, and proposers will pay a non-refundable Ether fee to the prover. The prover will burn Taiko tokens as a bond, returned if proof is submitted within 90 minutes; otherwise, the block opens, and half the bond goes to the actual prover.
  • Prover Authorization: If an EOA, must authorize the proposer with a valid ECDSA signature; if a contract, must have a onBlockAssigned function that doesn't revert.
  • Notification Calls: Removed on-chain notification calls to prover (pool) contract to prevent malicious exploitation.
  • Prover (Pool) Contract and API: Deleted IProverPool. Taiko and partners will create a Pool API server for proposers to access proving services.
  • Token and Configuration: Taiko token decimals is set to 18. TaikoConfig is simplified, loaded from a Library for testing.

Taiko Token functions as a bond token for provers.

Co-authored-by: adaki2004 <keszeydani@gmail.com>
Co-authored-by: David <david@taiko.xyz>
@vercel
Copy link

vercel bot commented Aug 19, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
bridge-ui-v2 ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 26, 2023 3:58am

@dantaik dantaik changed the title feat(protocol): simplify protocol and remove prover from core protocol feat(protocol): simplify protocol and remove prover pool from core protocol Aug 21, 2023
Copy link

@joohhnnn joohhnnn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps it would be more appropriate to replace the public keyword with external? Can slightly reduce some gas

packages/protocol/contracts/L1/TaikoL1Base.sol Outdated Show resolved Hide resolved
@dantaik dantaik merged commit 001b722 into one_txn_token_and_eth_release Aug 27, 2023
14 checks passed
@dantaik dantaik deleted the prover_abstraction_and_protocol_simplification branch August 27, 2023 13:51
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): allow the proposer to select a prover
6 participants