Great article! Just wanted to provide my own tl;dr below

β–ͺ MPT Ingredients : Merkle Tree + Prefix Tree + Custom Modification

β–ͺ MPT Nodes : Leaf nodes + branch nodes + extension nodes

β–ͺ State root : 256 bit hash of root

β–ͺ Geth KV Store : levelDB

β–ͺ Parity KV Store : rocksDB

β–ͺ Tries :

1. Transaction Trie - mapping from transction hash β†’ raw transactions

2. Transaction Reciept Trie - mapping from transaction hash β†’ transaction execution Metadata

3. World State Trie - mapping from account address (including contracts) to account data

4. Account Storage Trie - mapping from integers to integers specific to an account/contract

Per the answer at [1], I’m still trying to understand if it’s one transaction trie per block or one for the entirety of the state.

[1] https://ethereum.stackexchange.com/questions/15142/how-many-tries-does-ethereum-have,