Hash Trees
Hash tree is a data structure where the leaves of the tree are nothing but the hash values of it's children.
- The entire tree doesn't hold any data. It only holds the hash values of data stored somewhere else.
- Number of child nodes describes the size of the hash tree.
- The hash algorithm used to hash the data isn't relevant for this data structure. It's left to the implementer to decide it.
Practical use cases
- Bitcoin - uses this to create a Merkel root of the data in the block.
- GIT - Uses this to create an hash of an commit by generating the hash of the entire repository.