Merkle Trees используются в качестве механизма антиэнтропии в нескольких распределенных хранилищах ключей/значений:
Без сомнения, антиэнтропийный механизм - это хорошая вещь - переходные неудачи происходят просто в производстве. Я просто не уверен, что понимаю, почему Merkle Trees - популярный подход.
-
Отправка полного дерева Merkle в одноранговое соединение предполагает отправку локального ключевого пространства этому равноправному узлу вместе с хэши каждого значения ключа, хранящиеся на самых низких уровнях дерева.
-
Разделение дерева Merkle, отправленного от однорангового узла, требует наличия собственного дерева Merkle.
Поскольку оба одноранговых узла уже должны иметь отсортированное пространство ключа/значения-хэша под рукой, почему бы не выполнить линейное слияние для обнаружения расхождений?
Я просто не уверен, что древовидная структура обеспечивает любые сбережения, когда вы учитываете расходы на содержание, и факт что линейные проходы над листьями дерева уже выполняются только для сериализации представления по проводу.
Чтобы обосновать это, альтернативой соломы может быть обмен узлами массивов хеш-дайджестов, которые инкрементно обновляются и перемещаются по модулю по кольцевому положению.
Что мне не хватает?