Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LayerZero inclusion proof library will require an upgrade for SSZ support #269

Open
sambacha opened this issue Nov 8, 2023 · 0 comments
Labels
bug Something isn't working

Comments

@sambacha
Copy link
Contributor

sambacha commented Nov 8, 2023

LayerZero proofs will require an upgrade

This goes to the further complication of running our own oracle, as the current default configuration uses MPT inclusion proofs for the receipts root.

This study aims to examine the potential impact of Ethereum Improvement Proposals
(EIPs) 6404 and 6466, which propose the modification of Merkle-Patricia Trie (MPT)
commitments for transactions and receipts, respectively. Importantly, this entails a
change in the serialization algorithm, from Recursive Length Prefix (RLP) format to the
Simple Serialize (SSZ) format for the Receipts and Transactions containers. In turn, this
changes the Receipts Root and Transactions Root fields in the execution layer headers.
A primary concern is that this transition could disrupt contracts that rely on RLP for proofs
on data committed to the Ethereum mainnet. These contracts may include critical parts
of decentralized bridges, which generate proofs about some log that was emitted in
historical transactions.1

LayerZero: The default inclusion proof library can be updated to reflect the new SSZ commitment for the receipts root.

https://library.dedaub.com/ethereum/tx/0x000a6ea51c873a9cc7283e8a96e3f4b09d4425c4dec78023d5f3d82a9031e129
https://library.dedaub.com/ethereum/address/0x462f7ec57c6492b983a8c8322b4369a7f149b859/source?line=488
https://library.dedaub.com/ethereum/address/0x462f7ec57c6492b983a8c8322b4369a7f149b859/source?line=399

It should also be noted that the LayerZero case is a bit more complicated-due to its highly-configurable nature (applications can have their own relayer, oracles and validation library), any protocols that have a custom configuration might also need to perform some form of update to their on-chain transaction validation logic and even to their oracles.

Footnotes

  1. EIPs-6404 and 6466: An Impact Study on the Transition to SSZ for Existing Contracts Relying on Proofs of RLP-Encoded Data, June 14, 2023

@sambacha sambacha added the bug Something isn't working label Nov 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant