Skip to content

Conversation

@ralexstokes
Copy link
Member

@ralexstokes ralexstokes commented Oct 8, 2024

Would replace #3969 , and pair with ethereum/execution-apis#597

@ralexstokes ralexstokes force-pushed the execution-requests-expression branch from f3891e2 to 6c47a39 Compare October 8, 2024 21:48
@mkalinin
Copy link
Contributor

mkalinin commented Oct 9, 2024

The problem of passing not serialized requests to engine is that the spec misses a part of the protocol, particularly, EL can only use SSZ serialized requests for the commitment validation. SSZ encoding in this case is not an engine API artefact, it would be necessary even if CL and EL had direct communications and were a part of the same process/binary

@ralexstokes
Copy link
Member Author

yeah this PR and the execution-apis one I linked above pair together, and to me are a better expression of what we are trying to accomplish

putting SSZ serialization into the state transition function is a violation of the (sub)layers of the protocol, and also complicate testing (as now the correctness of the state transition function depend directly on SSZ serialization in a way that they didn't really before)

@mkalinin
Copy link
Contributor

as now the correctness of the state transition function depend directly on SSZ serialization in a way that they didn't really before

I see, but they do really depend now as the requests commitment computation uses SSZ under the hood. Alternatively, we can write a custom decoder in the CL for this particular case and not call it SSZ in the spec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants