2.1.3. Example (Beispiel)
2.1.3. Example (Beispiel)
Der binäre Merkle Tree mit 7 Blättern:
hash
/ \
/ \
/ \
/ \
k l
/ \ / \
/ \ / \
/ \ / \
g h i j
/ \ / \ / \ |
a b c d e f d6
| | | | | |
d0 d1 d2 d3 d4 d5
Der Audit-Pfad für d0 ist [b, h, l].
Der Audit-Pfad für d3 ist [c, g, l].
Der Audit-Pfad für d4 ist [f, j, k].
Der Audit-Pfad für d6 ist [i, k].
Derselbe Baum, inkrementell in vier Schritten aufgebaut:
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
Der Konsistenzbeweis zwischen hash0 und hash ist PROOF(3, D[7]) = [c, d, g, l]. c und g werden zur Verifikation von hash0 verwendet; d und l zusätzlich, um zu zeigen, dass hash mit hash0 konsistent ist.
Der Konsistenzbeweis zwischen hash1 und hash ist PROOF(4, D[7]) = [l]. hash kann mit hash1=k und l verifiziert werden.
Der Konsistenzbeweis zwischen hash2 und hash ist PROOF(6, D[7]) = [i, j, k]. k und i werden zur Verifikation von hash2 verwendet; j zusätzlich, um zu zeigen, dass hash mit hash2 konsistent ist.