Did I miss any trie below and get things right?

  • Transaction tries, one per block, root hash included in the block header
  • Transaction receipt tries, one per block, root hash included in the block header
  • Storage tries, one per account, root hashes across accounts used to build the state trie
  • State trie, one per world state, updated root hash included in the block header
  • 1
    What is the difference between the two first trie that you have mentioned?
    – adi
    Commented Apr 21, 2018 at 20:33
  • 1
    A transaction is a message that gets included in the blockchain. A (transaction) receipt is metadata indicating effects of a transaction (things like gas used, logs)—see ethereum.stackexchange.com/a/16541/136.
    – Randomblue
    Commented Apr 21, 2018 at 22:45

1 Answer 1


This sounds correct to me.

Referring to the graphical interpretation of the descriptions in the Yellow Paper, your 4 tries are shown in the "Information required to derive block header" section.

The picture exactly matches your descriptions.

Ethereum as a picture

  • So is it correct to assume that a separate trie is built from scratch for the transactions & receipts with every block? Or, is there just one transaction trie that's keyed by the transaction (hash?), only a small subset of which is included in each block?
    – Olshansky
    Commented Nov 5, 2022 at 19:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.