An unmatched node needs a documented construction rule.
LET’S PICTURE IT
An odd number of teams leaves one group without a partner.
SEE IT FOR YOURSELF
Build a root and follow one membership proofStep 1 / 4
This example hashes UTF-8 A, B, C and D. The displayed hashes are abbreviated, and the tree uses the playground’s sorted-pair convention.
This example hashes UTF-8 A, B, C and D. The displayed hashes are abbreviated, and the tree uses the playground’s sorted-pair convention.Each pair of raw child hashes is sorted, concatenated and hashed. The resulting parent fingerprints commit to their children.Hash the two parents under the same rule to obtain one root commitment. Changing a leaf changes the hashes on its path.The highlighted siblings are B and hash(C,D). Starting with A, the verifier recomputes its path and compares the final result with a trusted root.
Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.
Locate the unmatched node
A level with three nodes has one complete pair and one remaining node. The tree algorithm must decide what happens to that remainder.
Describe promotion
The playground promotes an unpaired node unchanged to the next level. It does not hash that node with itself merely because a sibling is absent.
Compare duplication
Another convention may duplicate the last node and hash the pair. That construction can produce a different root for the same original leaves.
Verify under the exact rule
A proof path may omit a sibling at a promoted level. The tree builder and verifier must agree on shape and promotion behavior.
Follow the proof model
Three leaves A, B, C
level 1: hashPair(A,B), C
root: hashPair(hashPair(A,B), C)
A, B and C here denote their leaf hashes.
Binary examples use the stated local playground convention. They are not Ethereum account or storage trie proofs.