Skip to content

Conversation

tynes
Copy link
Contributor

@tynes tynes commented Feb 4, 2024

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
Copy link
Contributor Author

tynes commented May 14, 2024

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
Copy link
Contributor Author

tynes commented Jun 11, 2024

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
Member

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