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

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

Независимо от того, занимаетесь ли вы криптовалютой, создаете приложения Web3 или просто пытаетесь понять, как работают эти системы, понимание деревьев Меркла является обязательным.

Почему деревья Меркла важны в блокчейне

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

Биткойн использует их. Эфириум использует их более продвинутую версию. И сама идея существует с 1970-х годов.

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

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

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

Как дерево Меркла работает на практике

Предположим, у вас есть четыре транзакции: T1, T2, T3 и T4. Каждая транзакция хешируется, создавая H1, H2, H3 и H4. Затем вы объединяете их следующим образом:

H1 и H2 хешируются вместе, образуя H12
H3 и H4 хешируются вместе, образуя H34
H12 и H34 хешируются вместе, образуя корень Меркла

Теперь у вас есть один хеш, представляющий все четыре транзакции. Если кто-то попытается изменить T2, хеш H2 будет другим, а значит, H12 будет другим, а значит, и окончательный корень Меркла тоже будет другим. Вот как блокчейны практически мгновенно обнаруживают несоответствия.

Почему блокчейны полагаются на деревья Меркла

Деревья Меркла делают блокчейн-системы эффективными и безопасными несколькими способами

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

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

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

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

Как корень Меркла вписывается в каждый блок

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

Что такое доказательство Меркла

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

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

Деревья Меркла за пределами криптографии

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

В Git они помогают отслеживать изменения файлов и историю коммитов
В IPFS они проверяют фрагменты файлов на распределённых узлах
В распределённых базах данных они ускоряют и делают синхронизацию более безопасной
В облачных системах хранения данных они помогают обнаружить подделку или потерю данных

Ограничения деревьев Меркла и что будет дальше

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

Ethereum использует модифицированную структуру, называемую Merkle Patricia Tree, которая обрабатывает данные типа «ключ-значение» и поддерживает управление состоянием Ethereum. Заглядывая в будущее, разработчики Ethereum изучают то, что называется деревьями Веркла. Они используют другой тип криптографического доказательства, который может уменьшить объемы данных и ускорить синхронизацию узлов, что особенно полезно для масштабирования сети.

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

Понимание деревьев Меркла подобно пониманию корней системы. Вы видите их не каждый день, но они держат всё.

Что такое Synapse (SYN)?
Поскольку экосистемы блокчейнов продолжают расширяться и диверсифицироваться, потребность в бесперебойной совместимости между сетями становится всё более острой. Synapse (SYN) становится ведущим протоколом кросс-чейн-связи, призванным устранить этот пробел. Благодаря надежному набору инструментов, включая обмен сообщениями между цепочками, передачу активов и вызовы смарт-контрактов, Synapse позволяет...
Что такое токен Trust Wallet (TWT)?
С ростом популярности криптовалют мобильные кошельки стали основным инструментом для доступа к цифровым активам из любой точки мира. Среди них Trust Wallet выделяется как одно из самых популярных децентрализованных приложений-кошельков. В основе его экосистемы лежит Trust Wallet Token, или TWT. Этот утилитарный токен играет центральную роль в управлении, стимулировании и взаимодействии с пользователями...
Что такое дерево Меркла?
Если вы когда-нибудь задумывались, как блокчейны проверяют данные без необходимости хранить или проверять каждую транзакцию, ответ кроется в так называемом дереве Меркла. Это не кричаще и не разрекламировано, но это одна из причин, по которой Биткойн, Эфириум и другие блокчейны могут оставаться эффективными, безопасными и защищенными от взлома. Независимо от того, занимаетесь ли вы криптовалютой, создаете...
Что такое сайдчейны в блокчейне?
Масштабируемость, высокие комиссии за газ и отсутствие кросс-чейн координации — давние узкие места блокчейна. Сайдчейны часто предлагают в качестве решения. Но этим термином так часто пользуются, что он потерял смысл. Вот что такое сайдчейны на самом деле, как они работают, где они помогают и где их все еще не хватает. Что такое сайдчейны? Сайдчейн — это отдельный блокчейн, который работает параллельно...
SEC готовится к регулированию криптовалют: стратегия предполагает покупку 7% от общего предложения биткоинов
SEC на пути к регулированию криптовалют Комиссия по ценным бумагам и биржам США (SEC) запускает роуд-шоу по политике в отношении криптовалют, чтобы собрать больше мнений по поводу регулирования криптовалют. Первое мероприятие, которое состоится 4 августа в Беркли, штат Калифорния, будет в первую очередь сосредоточено на прямых обсуждениях с криптопроектами, в которых насчитывается не более 10 сотрудников...


Завести аккаунт

Теперь создайте учетную запись, где вы сможете использовать свои знания.