Extend Deneb with Execution layer cross-validation#557
Extend Deneb with Execution layer cross-validation#557dapplion wants to merge 4 commits intoethereum:mainfrom
Conversation
|
Based on the discussions on discord, I've converted the witness to a fully opaque blob on the engine API. I.e.
This should both make the api diff smaller, as well as more performant by avoiding witness parsing CL side. |
|
We used to have |
This change is not part of any hard-fork, and can be enabled at any time (including before Pectra) by some clients without coordination. Given that where would you place it? |
|
|
||
| - `status`: `enum` - `"VALID" | "INVALID"` | ||
| - `stateRoot`: `DATA|null`, 32 Bytes - the state root of the most recent *valid* block in the branch defined by payload and its ancestors | ||
| - `receiptsRoot`: `DATA|null`, 32 Bytes - the receipts root of the most recent *valid* block in the branch defined by payload and its ancestors |
There was a problem hiding this comment.
@karalabe could you please share more info about why latestValidHash can not work in the case of stateless execution?
There was a problem hiding this comment.
There's no local chain. Stateless execution is stateless. Here's the input, here's the output. Forget we ever talked.
There was a problem hiding this comment.
It's more akin to a library verifying an execution than a full node being on the other side.
It seems that we would need to update PayloadStatusV2:
In this case it can become a part of the API since Prague. If we want to make this functionality parallel to the main payload processing flow (i.e. always be implemented via separate methods) then it can be introduced in Cancun I believe, and updated accordingly in Prague. |
Add spec for routes introduced by @karalabe in https://gist.github.com/karalabe/47c906f0ab4fdc5b8b791b74f084e5f9
In summary, these routes allow one to request witnesses from an execution client, and submit them to another for stateless execution.
Refer to Peter's doc for more detailed rationale https://gist.github.com/karalabe/47c906f0ab4fdc5b8b791b74f084e5f9#engine-api-specs