taikoxyz / taiko-reth

Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust
Apache License 2.0
17 stars 12 forks source link

Gwyneth smart contracts design #22

Closed Brechtpd closed 3 weeks ago

Brechtpd commented 1 month ago

Describe the feature

Core rollup smart contracts, without any fancy features for now.

Overview:

Onchain costs (completely independent of blocks now):

BasedOperator/TaikoL1 changes

ChainProver contract

Additional context

No response

adaki2004 commented 1 month ago

All the data we need is in the function inputs, but let's put the required data for the node also in events for now.

There are currently some 3rd party partners (e.g.: ENS) which require cross-state-roots on-chain for example. Or also some data which accounting for the chain height, etc.

The contract needs to store a single value: keccak(l1_blockhash, root). l1_blockhash is the L1 block up until we have proven everything. root is an opaque hash for some data that the prover will need internally that may also need to be exposed onchain)

Where is data related to L2 stored/validated or the link between a block under proving and a block proposed (already)? Like, why l1_blockhash is needed but l2 does not appear in your description above, something does not really add up in my head 😄. or the current_root and new_root refers to L2 world state root ?

github-actions[bot] commented 1 month ago

This issue is stale because it has been open for 21 days with no activity.

github-actions[bot] commented 3 weeks ago

This issue was closed because it has been inactive for 7 days since being marked as stale.