Merkle Trees werden als Anti-Entropie-Mechanismus in mehreren verteilten, replizierten Schlüssel- / Wertspeichern verwendet:
Zweifellos ist ein Anti-Entropie-Mechanismus eine gute Sache - vorübergehende Fehler treten einfach in der Produktion auf. Ich bin mir nur nicht sicher, warum Merkle Trees der beliebte Ansatz sind.
Das Senden eines vollständigen Merkle-Baums an einen Peer umfasst das Senden des lokalen Schlüsselraums an diesen Peer zusammen mit Hashes jedes Schlüsselwerts, die in den untersten Ebenen des Baums gespeichert sind.
Um einen von einem Kollegen gesendeten Merkle-Baum zu unterscheiden, muss ein eigener Merkle-Baum vorhanden sein.
Da beide Peers bereits über einen sortierten Schlüssel- / Wert-Hash-Bereich verfügen müssen, können Sie eine lineare Zusammenführung durchführen, um Diskrepanzen zu erkennen.
Ich bin einfach nicht davon überzeugt, dass die Baumstruktur Einsparungen bietet, wenn Sie die Unterhaltskosten berücksichtigen, und die Tatsache, dass lineare Übergänge über die Baumblätter bereits durchgeführt werden, um die Darstellung über den Draht zu serialisieren .
Um dies zu begründen, könnte eine Strohmann-Alternative darin bestehen, dass Knoten Arrays von Hash-Digests austauschen, die schrittweise aktualisiert und durch die Modulo-Ringposition eingeteilt werden.
Was vermisse ich?