Дерево Меркла: незамінна структура даних у світі Блокчейн

Я мушу сказати, коли я вперше зіштовхнувся з концепцією Дерева Меркла, я справді трохи заплутався. Яке там дерево, це звучить як якась таємнича математична магія. Але насправді, ця річ набагато практичніша, ніж я думав!

Дерево Меркла – це ідея, яку придумав старий Ральф на початку 80-х. Цей хлопець у криптографічному колі справжній авторитет, спеціалізується на відкритих ключах. Структура, яку він створив, простими словами, це спосіб, який дозволяє нам ефективно перевіряти цілісність даних. У тих випадках, коли всім потрібно ділитися та незалежно перевіряти інформацію в однорангових мережах, цей метод працює особливо добре.

Як це працює?

Уявіть собі, що ви завантажуєте величезний файл, наприклад, гру обсягом 50 ГБ. Якщо під час завантаження виникне помилка, чи доведеться починати все спочатку? Це ж буде занадто витратно за часом!

Дерево Меркла має цю перевагу: ви можете розділити цей великий файл на сто маленьких частин, кожна по 0.5 ГБ. А потім завантажувати їх по одній — хіба це не наш спосіб завантажувати торрент-файли?

У цьому випадку постачальник файлів надасть вам хеш-значення, зване «корінь Меркла». Ця річ насправді представляє «відбиток» усіх блоків даних у файлі.

Наведемо простий приклад: припустимо, у нас є файл обсягом 8 ГБ, розділений на вісім частин (A до H). Спочатку ми генеруємо хеш-значення для кожної частини, потім паруємо їх по двоє та генеруємо новий хеш, продовжуємо об'єднувати, поки не отримаємо кореневий хеш — Дерево Меркла.

Ця структура виглядає як перевернуте дерево, внизу — «листи», вгору з'єднуються, формуючи «вузли», а на самому верху — «корінь».

Якщо файл, який ви завантажили, точно такий же, як оригінальний файл, то обчислений вами корінь Меркла повинен бути абсолютно однаковим з тим, що вам сказав постачальник. Якщо є різниця, ви знаєте, що дані були змінені. І що ще краще, ви можете швидко виявити, яка частина є проблемною! Не потрібно повторно завантажувати весь файл, потрібно лише повторно завантажити ту частину, де виникла помилка.

Чому біткойн необхідно використовувати?

Чесно кажучи, Дерево Меркла відіграє надзвичайно важливу роль у біткойні та інших криптовалютах, без нього блокчейн може працювати з жахливо низькою ефективністю.

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

А для легких вузлів перевага ще більш очевидна. Уявіть собі, що ви запускаєте гаманець біткоїнів на своєму телефоні, і якщо немає Дерева Меркла, вам, можливо, потрібно буде завантажити весь блокчейн (понад 300 ГБ), щоб підтвердити свою транзакцію. Завдяки мерклева доказу, вам потрібно лише кілька хеш-значень, щоб підтвердити, що ваша транзакція була включена в блокчейн.

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

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

Проте є чимало людей, які мало знають про цю технологію, просто сприймаючи криптовалюти як спекулятивний інструмент. Я вважаю, що для того, щоб справді зрозуміти цю галузь, важливо знати базові технології, такі як Дерево Меркла.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити