Drzewa Merkle są używane jako mechanizm antyentropii w kilku rozproszonych, replikowanych magazynach klucza / wartości:
Bez wątpienia mechanizm antyentropii jest Dobrą Rzeczą - w produkcji po prostu zdarzają się przejściowe awarie. Nie jestem tylko pewien, czy rozumiem, dlaczego drzewa Merkle są popularnym podejściem.
Wysłanie pełnego drzewa Merkle do peera obejmuje wysłanie lokalnej przestrzeni kluczy do tego peera wraz z hashami każdej wartości klucza, przechowywanymi na najniższych poziomach drzewa.
Odróżnianie drzewka Merkle wysłanego od rówieśnika wymaga posiadania własnego drzewka Merkle.
Skoro obaj rówieśnicy muszą już mieć pod ręką posortowane miejsce na hash klucza / wartości, dlaczego nie wykonać scalenia liniowego w celu wykrycia rozbieżności?
Po prostu nie jestem przekonany, że struktura drzewa zapewnia jakiekolwiek oszczędności, jeśli weźmie się pod uwagę koszty utrzymania, a fakt, że liniowe przejścia nad liśćmi drzewa są już wykonywane tylko po to, aby serializować reprezentację przez drut .
Aby to uziemić, alternatywą może być wymiana węzłów macierzy trawienia hash, które są przyrostowo aktualizowane i grupowane według pozycji pierścienia modulo.
czego mi brakuje?