Zum Hauptinhalt springen

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.