Research inputs:
-
https://medium.com/cybermiles/diving-into-ethereums-world-state-c893102030ed
-
https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/
-
https://rockwaterweb.com/ethereum-merkle-patricia-trees-javascript-tutorial/
-
https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/trie#merkle-proofs
-
https://easythereentropy.wordpress.com/2014/06/04/understanding-the-ethereum-trie/
-
https://github.com/gabrocheleau/merkle-patricia-trees-examples
-
https://github.com/gabrocheleau/merkle-patricia-trees-examples#3-generating-and-verifying-hashes
“The size complexity of a Merkle proof is logarithmic in the quantity of data stored. This means that, even if the entire state tree is a few gigabytes in size, if a node receives a state root from a trusted source that node has the ability to know with full certainty the validity of any information with the tree by only downloading a few kilobytes of data in a proof.”[2]
outlook
- https://nethermind.io/verkle-trees/
- https://dankradfeist.de/ethereum/2021/06/18/pcs-multiproofs.html
Vitalik Buterin Shiba Inu https://etherscan.io/tx/0xb65bcbb85c1633b0ab4e4886c3cd8eeaeb63edbb39cacdb9223fdcf4454fd2c7
Usage of MPT proofs in Curve / stETH pool https://github.com/lidofinance/curve-merkle-oracle