Skip to content

experimental: transaction ordering policy#27

Draft
tynes wants to merge 1 commit into
mainfrom
feat/tx-ordering-policy
Draft

experimental: transaction ordering policy#27
tynes wants to merge 1 commit into
mainfrom
feat/tx-ordering-policy

Conversation

@tynes

@tynes tynes commented Feb 4, 2024

Copy link
Copy Markdown
Contributor

Description

Explore what applying a predicate to the inputs as part of the
derivation pipeline would look like. The predicate is defined
using evm bytecode and can therefore be quite flexible based
on the chain operator's needs. The payload is dropped if the
predicate returns false.

The chain operator can configure the predicate's bytecode
on L1 using the system config contract.

In practice, this allows for static analysis of the ExecutionPayload
before execution. If some chain operator defined invariant
about the ExecutionPayload isn't held to be true, then
the payload is dropped. This can be used to enforce constraints
on the way that block builders can build blocks.

Explore what applying a predicate to the inputs as part of the
derivation pipeline would look like. The predicate is defined
using evm bytecode and can therefore be quite flexible based
on the chain operator's needs. The payload is dropped if the
predicate returns false.

The chain operator can configure the predicate's bytecode
on L1 using the system config contract.
@tynes

tynes commented May 14, 2024

Copy link
Copy Markdown
Contributor Author

It would be good to have a view function on the contract or in another predeploy that accepts a block body and returns a bool if the block is valid or not. This will help block builders to know they are creating valid blocks

@tynes

tynes commented Jun 11, 2024

Copy link
Copy Markdown
Contributor Author

For this to work with deposits, dropped blocks would need to be mapped to deposits only blocks per ethereum-optimism/design-docs#20


### L1 Attributes Transaction

The L1 Attributes transaction is assumed to be updated with a [diff based serialization](https://github.com/ethereum-optimism/specs/pulls/13).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
The L1 Attributes transaction is assumed to be updated with a [diff based serialization](https://github.com/ethereum-optimism/specs/pulls/13).
The L1 Attributes transaction is assumed to be updated with a [diff based serialization](https://github.com/ethereum-optimism/specs/pull/13).

@emhane emhane added C-enhancement Category: new feature request U-smart-contract Upgrade: involving changes to smart contracts A-execution Area: execution layer A-prover A: fault prover labels Apr 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-execution Area: execution layer A-prover A: fault prover C-enhancement Category: new feature request U-smart-contract Upgrade: involving changes to smart contracts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants