Назад

Merkle Tree

Merkle Tree - это одна из разновидностей хэш-функций, которые позволяют преобразовывать входящую информацию в битовую строку определенного размера. Проще говоря, порция данных кодируется в цепь цифр, которая и называется хэшем.

Хэш всегда уникален, он не позволяет восстанавливать информацию, но зато прекрасно используется для проверок: даже при минимальном изменении информации, меняется и хэш тоже. То есть, если у вас есть доступ к исходной информации, то при их хэшировании должен получиться тот же код. Если это не так – то исходные данные не верны.

Дерево Меркла в некоторых источниках может называться деревом хэшей или обозначаться аббревиатурой TTH (Tiger Tree Hashing).

Главные функции дерева хэшей:

  • Способность присваивать каждому электронному документу собственный идентификатор (хэш);
  • Проверка целостности документа;
  • Восстановление удаленного файла.

Хэшевое дерево было разработано в 1979 году Ральфом Мерклом и названо в его честь. Структура системы получила такое название еще и потому, что напоминает собой дерево. В узлах системы данных располагаются хэши, которые получены на основе информации дочерних узлов (обычно у каждого хэша таких узла два). В конечных узлах – листочках – системы располагаются хэши блоков данных.

Говоря простым языком, дерево Меркла – схема, хэширующая большое количество информации. При этом данные объединяются в порции, которые структура хэширует, получившиеся хэши также объединяются, потом снова хэшируются и так далее до тех пор, пока не получится один главный хэш, образующий вершину всего дерева. Таким образом, хэшевое дерево позволяет сохранить большое количество данных, ведь процесс преобразования может длиться сколько угодно, а результатом всегда будет один-единственный хэш.