Блокчейн и криптовалюты — это обширный и сложный ландшафт. В эту машину входит много винтиков, в том числе то, что известно как дерево Меркла. Деревья Меркла играют ключевую роль в функциональности блокчейна, но что именно они делают? Как работает дерево Меркла и почему оно так важно в технологии блокчейн?

Как работает блокчейн?

Прежде чем перейти к динамике дерева Меркла, важно понять как работают блокчейны.

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

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

Транзакции в блокчейне нельзя изменить или удалить. Вместо этого, используя

instagram viewer
процесс, называемый хешированием, данные кодируются с помощью математических алгоритмов. Эти алгоритмы могут преобразовывать символы любой длины в фиксированную закодированную длину.

При записи транзакций в блокчейн деревья Меркла играют решающую роль. Но как работает дерево Меркла?

Что такое дерево Меркла?

Название «Дерево Меркле» имеет два происхождения. «Меркл» относится к Ральфу Мерклу, американскому ученому-компьютерщику и математику, внесшему огромный вклад в криптографию с открытым ключом. Первоначально Меркл предложил бинарные хэш-деревья в 1987 году в статье под названием «Цифровая подпись, основанная на Обычная функция шифрования». Меркл также изобрел криптографическое хэширование, которое используется в дерево.

Вторая часть «дерева Меркле» связана с его структурой. Дерево Меркла (или бинарное хеш-дерево) — это структура данных, которая чем-то похожа на дерево. Деревья Меркла содержат «ветви» и «листья», причем каждый «лист» или «ветвь» содержит хэш блока данных.

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

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

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

Деревья Меркла используются во многих областях вычислительной техники (в частности, в криптографии и шифровании), но часто известны своим присутствием в блокчейнах криптовалют. Биткойн, Ethereum, Dogecoin и все другие криптовалюты используют дерево Меркла, так что это, несомненно, важный элемент.

Итак, как это работает?

Как работает дерево Меркла?

Ниже представлена ​​диаграмма того, как работает дерево Меркла. Обратите внимание, что на самом деле транзакций и хэшей на дерево может быть намного больше, но это изображение упрощает процесс, чтобы вы могли получить представление о необходимых шагах.

Кредит изображения: Азагал/Викисклад

Глядя на эту диаграмму дерева Меркла, все выглядит немного сложно. Но процесс хеширования дерева Меркла довольно прост при разбивке.

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

Начальные транзакции от каждого узла хешируются парами, при этом в качестве результата остается один хэш. Затем пара за парой многократно хэшируется в один, пока не появится один хэш, на котором процесс заканчивается. Если в блоке окажется нечетное количество транзакций, одна транзакция будет продублирована, чтобы ее можно было соединить с оригиналом для хеширования.

Хотя окончательный хеш отображается в верхней части приведенной выше диаграммы, он известен как «корень» дерева (корневой хеш). Корень — это, по сути, кульминационный хэш всех отдельных хэшей транзакций, хранящихся в блоке. Для каждого блока требуется одно дерево Меркла, то есть каждый блок имеет одно поле данных Merkle Root.

Если вы когда-либо подробно изучали блокчейны, возможно, вы слышали о Merkle Root или Merkle Hash. Внутри блока существует нечто, известное как hashMerkleRoot. Эти данные (конечный хэш в конце дерева) хранятся в заголовке данного блока. А Блок блокчейна также содержит другие данные, такие как метка времени, номер версии ресурса и «одноразовый номер» (номер используется только один раз).

Могут ли блокчейны функционировать без деревьев Меркла?

Хотя деревья Меркла не являются абсолютно необходимыми для существования блокчейна, они играют невероятно важную роль в защите данных.

Без деревьев Меркла блокчейны криптовалюты требуют больше ресурсов и времени для выполнения ключевых процессов. Во-первых, каждый узел в сети должен будет хранить собственную копию каждой транзакции, проводимой в блокчейне. В более крупных блокчейнах сотни тысяч транзакций могут выполняться в пространстве всего лишь одного день, поэтому добавление такого объема данных в копию каждого узла, несомненно, потребовало бы много Ресурсы.

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

Деревья Меркла — ключ к функциональности блокчейна

Нельзя отрицать, что деревья Меркла обеспечивают безопасность и эффективность блокчейнов, не занимая при этом много места. Этот изящный криптографический процесс позволяет блокчейнам работать беспрепятственно без необходимости чрезмерного использования ресурсов. Деревья Меркла не обязательны, но очень полезны, когда речь идет о времени, пространстве для хранения и аутентификации данных.