10

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
Randomblue
  • 2,610
  • 2
  • 17
  • 38
  • 1
    What is the difference between the two first trie that you have mentioned? – adi Apr 21 '18 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 https://ethereum.stackexchange.com/a/16541/136. – Randomblue Apr 21 '18 at 22:45

1 Answers1

10

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

Richard Horrocks
  • 37,835
  • 13
  • 87
  • 144
  • 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 Nov 05 '22 at 19:12