Что такое Merkle Tree и Merkle Root в блокчейне?

Все мы знаем, что люди, которые знакомы с криптографией и криптовалютой, уже слышали о деревьях Меркле. Каждый неконечный узел имеет метку с хэшем имен дочерних узлов. Говоря простым языком, это означает, что деревья Merkle обеспечивают эффективную и безопасную проверку больших объемов данных. Это очень интригующая технология, которая в долгосрочной перспективе будет полезна и для криптовалюты.

Изучение потенциала дерева Меркле

Когда дело доходит до эффективного и надежного хранения данных, деревья Merkle, безусловно, играют свою роль. Хеш-дерево - это альтернативное имя дерева Меркле. Он часто предназначен для проверки любых данных, хранящихся и передаваемых между компьютерами в сети и между ними. В последнее время технология стала неотъемлемой частью одноранговых протоколов, в том числе в области криптовалюты.

Чтобы быть более точным, дерево Merkle разработано, чтобы гарантировать, что блоки данных могут получать от других одноранговых узлов в одноранговой сети. Более конкретно, эта информация должна быть в своем первоначальном состоянии, без изменений или искаженной информации.

В большинстве случаев дерево Merkle состоит из двух дочерних узлов под каждым узлом в сети. Этот бинарный подход восстановлен, хотя он все еще оставляет много места для будущих улучшений. На самом деле, кажется, что нет ограничения на то, сколько дочерних узлов может быть использовано на узел для создания более безопасного дерева Меркле.

Что такое корень Меркле?

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

Идея (насколько я понимаю) состоит в том, что дерево Merkle позволяет вам проверять транзакции по мере необходимости и не включать тело каждой транзакции в заголовок блока, в то же время предоставляя способ для тестирования всей цепочки блоков (и, следовательно, доказательства работы). ) на каждую транзакцию.

Чтобы понять это, сначала нужно понять концепцию дерева. Рассмотрим восемь торговых блоков. Представьте себе каждую из этих восьми транзакций у основания пирамиды: это листья. Поместите четыре «ветви» на втором ярусе пирамиды и проведите две линии от каждой из них до листьев, чтобы к каждой ветви были прикреплены два лезвия.