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,