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

· 2 min read

Дерево Меркла — структура даних, яку використовують в інформатиці та криптографії. На криптовалютному ринку деревом Меркла називають структуру даних, що містить згорнутий за допомогою хеш-функції підсумок транзакцій у блокчейні. Дерево Меркла допомагає легко й ефективно перевіряти блоки транзакцій у блокчейні. У цій статті ви знайдете відповідь на запитання, що таке дерево Меркла.

Дерево Меркла винайшов Ральф Меркл. Він запатентував цю концепцію у 1979 році й описав її у праці «Цифровий підпис на основі традиційної функції шифрування», опублікованій 1987 року. Дерево Меркла — це структура даних у вигляді схеми, яка містить хеші. Хеш-коди даних у дереві Меркла вибудовуються в схему знизу вгору. Додавання хешів на нижньому рівні схеми визначає значення хешів на рівні вище.

Цілісність даних у системі забезпечується самим деревом Меркла й хешами, розміщеними у схемі, та послідовним згортанням хеш-значень знизу вгору. Його застосовують під час передавання даних від людини до людини, в однорангових мережах, а також для перевірки переданих даних. За допомогою дерева Меркла можна зрозуміти, чи не пошкоджені й не підроблені передані дані або блоки даних. Коректність цих блоків підтверджується саме деревом Меркла.

Як працює дерево Меркла?

Дерева Меркла складаються з хешів, зібраних у блоки. У самому низу дерева Меркла лежать дані транзакцій. Хеш-значення (хеш-код) цих даних отримують, запустивши хеш-функцію. Далі значення з нижнього рівня схеми додають одне до одного, а отриманий результат переносять на рядки вище. У результаті цього процесу й будується дерево Меркла. Наприкінці хеш-значення у верхівці схеми називають кореневим хешем, або коренем Меркла. Обчислене значення кореневого хешу показує, чи є помилки у блоках. Якщо значення, з яких складається кореневий хеш, не збігаються, алгоритм системи продовжує працювати з хеш-функціями, доки не сформує безпомилковий корінь Меркла.

Чому дерево Меркла використовують у Bitcoin?

Воно спрощує роботу майнерам, які перевіряють блоки у блокчейні Bitcoin. Майнери в мережі Bitcoin підтверджують блоки, запускаючи хеш-функцію. У блокчейні Bitcoin дані впорядковують і розміщують у дереві Меркла. Далі за допомогою хеш-функцій алгоритму отримують кореневий хеш. Отриманий кореневий хеш можна використати й у подальших операціях майнінгу. Завдяки цьому майнери можуть працювати далі, хешуючи лише кореневий хеш, а не всі блоки. Дерево Меркла так само стає в пригоді й у блокчейнах інших криптовалют, не лише Bitcoin.

дерево меркла що таке дерево меркла кореневий хеш блокчейн майнінг bitcoin