Los árboles Merkle se utilizan como un mecanismo anti-entropía en varios almacenes de clave / valor replicados y distribuidos:
Sin duda, un mecanismo anti-entropía es algo bueno: las fallas transitorias simplemente ocurren en la producción. Simplemente no estoy seguro de entender por qué Merkle Trees es el enfoque popular.
Enviar un árbol Merkle completo a un par implica enviar el espacio de claves local a ese par, junto con los valores hash de cada valor de clave, almacenados en los niveles más bajos del árbol.
Para diferenciar un árbol Merkle enviado por un compañero, es necesario tener un árbol Merkle propio.
Dado que ambos pares ya deben tener un espacio ordenado clave / valor-hash a mano, ¿por qué no realizar una fusión lineal para detectar discrepancias?
Simplemente no estoy convencido de que la estructura del árbol proporcione algún tipo de ahorro cuando se tienen en cuenta los costos de mantenimiento, y el hecho de que ya se están realizando pases lineales sobre las hojas del árbol solo para serializar la representación sobre el cable .
Para fundamentar esto, una alternativa de hombre de paja podría ser hacer que los nodos intercambien matrices de resúmenes de hash, que se actualizan y clasifican de forma incremental según la posición del anillo de módulo.
¿Qué me estoy perdiendo?