Empty Merkle tree node.
Empty root node.
Empty root node. If the tree contains no elements, it's root hash is array of 0 bits of a hash function digest length
- hash function application type
- hash function
Internal node in Merkle tree
Internal node in Merkle tree
- hash function application type
- left child. always non-empty
- right child. can be emptyNode
- hash function
Merkle tree leaf
Merkle tree leaf
- hash function application type
- leaf data.
- hash function
Proof is given leaf data, leaf hash sibling and also siblings for parent nodes.
Proof is given leaf data, leaf hash sibling and also siblings for parent nodes. Using this data, it is possible to compute nodes on the path to root hash, and the hash itself. The picture of a proof given below. In the picture, "^^" is leaf data(to compute leaf hash from), "=" values are to be computed, "*" values are to be stored.
........= Root ..... / \ .... * = ....... / \ ...... * = ......... /.\ .........* = ............ ^^
- leaf data bytes
- levels in proof, bottom up, each level is about stored value and position of computed element (whether it is left or right to stored value)
Empty Merkle tree node. Either Leaf (if number of non-empty leafs is not a power of 2, remaining leafs are EmptyNode) or InternalNode (if both childs of an InternalNode are empty, it is EmptyNode)
- hash function application type
- hash function