2.1.3. Esempio
2.1.3. Esempio
L'albero Merkle binario con 7 foglie:
hash
/ \
/ \
/ \
/ \
/ \
k l
/ \ / \
/ \ / \
/ \ / \
g h i j
/ \ / \ / \ |
a b c d e f d6
| | | | | |
d0 d1 d2 d3 d4 d5
Il percorso di audit per d0 è [b, h, l].
Il percorso di audit per d3 è [c, g, l].
Il percorso di audit per d4 è [f, j, k].
Il percorso di audit per d6 è [i, k].
Lo stesso albero, costruito incrementalmente in quattro passaggi:
hash0 hash1=k
/ \ / \
/ \ / \
/ \ / \
g c g h
/ \ | / \ / \
a b d2 a b c d
| | | | | |
d0 d1 d0 d1 d2 d3
hash2 hash
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
k i k l
/ \ / \ / \ / \
/ \ e f / \ / \
/ \ | | / \ / \
g h d4 d5 g h i j
/ \ / \ / \ / \ / \ |
a b c d a b c d e f d6
| | | | | | | | | |
d0 d1 d2 d3 d0 d1 d2 d3 d4 d5
La prova di coerenza tra hash0 e hash è PROOF(3, D[7]) = [c, d, g, l]. c, g sono usati per verificare hash0, e d, l sono inoltre usati per mostrare che hash è coerente con hash0.
La prova di coerenza tra hash1 e hash è PROOF(4, D[7]) = [l]. hash può essere verificato usando hash1=k e l.
La prova di coerenza tra hash2 e hash è PROOF(6, D[7]) = [i, j, k]. k, i sono usati per verificare hash2, e j è inoltre usato per mostrare che hash è coerente con hash2.