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

chore: add receipt trie data structure #399

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

shane-moore
Copy link
Contributor

Changes

  • added diagram and description for Receipt Trie to resolve a TODO under EL > data-structures.md

@shane-moore
Copy link
Contributor Author

@taxmeifyoucan, this PR is ready for review. It seems I'm unable to add you or others as reviewers at the moment

Here is a simple diagram of a Receipt Trie, which follows the Merkle Patricia Trie flow for value lookups.
![Receipt Tree](../../images/data-structures/receipt-trie.png)

Receipt Tries enable light clients to efficiently verify transaction results provided by full nodes. Since light clients only store block headers, they rely on full nodes to query execution results. To ensure trustlessness, full nodes return not only the transaction results but also Merkle proofs derived from the receiptsRoot stored in the block header. This structure allows light clients to independently verify the legitimacy of the data without storing the full transaction history.
Copy link
Contributor

Choose a reason for hiding this comment

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

Receipts are not mainly for light clients but are useful for indexing data without re-executing transactions and regular full nodes download them during snap sync.

It would be ideal here to refer to some explanation of what is a receipt. It should be part of transaction anatomy page on the wiki but it's missing there :/

Also EIP 2718 should be mentioned on this page https://eips.ethereum.org/EIPS/eip-2718#receipts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants