Що таке дерево Меркла в блокчейні і як воно працює?

Програма вебінару

  • Команда Меркле дерево це тип бінарного хеш-дерева, який має 3 типи вузлів: листові вузли, нелистові вузли та кореневі вузли.
  • Дерево Merkle корисно для перевірки та підтримки цілісності транзакцій у будь-якій децентралізованій книзі.
  • Дерево Merkle можна побачити в Bitcoin, а також Ethereum.

Вступ

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

Хоча розуміння різних структур блокчейну – це те, де на допомогу приходять дерева Меркла. Концепцію, розроблену ще в 1980 році Ральфом Мерклем зі Стенфордського університету, Меркле дерево зазвичай використовується в однорангових (P2P) мережах для вирішення вимог до обчислювальної потужності та пам’яті. Не буде перебільшенням сказати, що дерева Merkle зробили технологію блокчейн величезним успіхом. Отже, давайте заглибимося в значення дерева Меркле та його роботу.

https://www.youtube.com/watch?v=YIc6MNfv5iQ

Огляд дерева Merkle

Простіше кажучи, дерево Merkle представляє спосіб цілеспрямованої структури даних. Це дозволяє швидко та ефективно перевіряти великий обсяг інформації в блокчейні. Як згадувалося раніше, Ральф Меркл несвідомо створив це як концепцію в статті під назвою «Сертифікований цифровий підпис». Але ніхто не очікував, що в майбутньому це стане основним компонентом децентралізованої книги.

Дерево Merkle покращило світ криптографії з моменту його створення. Але це стало життєво важливим для криптовалют після того, як таємничий творець біткойна використав його в базовому коді BTC. Після цього Ethereum та інші криптовалюти також прийняли дерева Merkle.

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

Кожен окремий блок у блокчейні містить певну кількість транзакцій. Зберігання всіх цих транзакцій і визначення того, які транзакції належать до якого блоку, може бути надзвичайно дорогим завданням. Крім того, це може негативно вплинути на ефективність блокчейну. Однак за допомогою дерев Merkle усі транзакції ефективно організовуються, що призводить до використання менше даних для перевірки та зменшення обробки ЦП.

Розуміння того, як дерево Merkle працює в блокчейні

Ось простий приклад для пояснення цієї концепції: 

merkeltree

Уявіть собі блок даних, як показано вище, який має 4 транзакції: L1, L2, L3 і L4. Щоб зберегти ці транзакції, ми можемо реалізувати концепцію дерева Меркла, обчисливши хеш кожної транзакції. Після обчислення, ми отримуємо хеш L1, хеш L2, хеш L3 і хеш L4.

Ці хеші кожної транзакції зберігаються у вузлі, який зазвичай називають листовим вузлом, дерева Меркла. Але наша робота продовжується, оскільки ми повинні сформувати нелистові вузли шляхом поєднання листових вузлів. Після обчислення ми отримуємо хеш 0 і хеш 1, які називаються батьківськими або некінцевими вузлами хешів L1, L2, L3 і L4.

Нарешті, хеш хешу 1 і хешу 2 обчислюється шляхом їх об’єднання, і ми досягаємо кореневого вузла, який є коренем Меркла. Завдяки цьому прикладу ми розуміємо, що дерева Merkle працюють шляхом повторного хешування дочірніх вузлів, доки в структурі не залишиться єдиний хеш.

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

Необхідність дерев Merkle для блокчейну

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

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

У блокчейні біткойн, який є розподіленим P2P, можуть бути невідповідності або навіть підробка даних, оскільки ті самі дані існують на кожному комп’ютері, підключеному до мережі P2P. У цьому випадку дерево Merkle полегшує майнерам виявлення будь-яких невідповідностей або втручання в транзакції.

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

Заключні думки

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

Поширені запитання:

Q1. Для чого були розроблені дерева Merkle?
Дерево Merkle було розроблено як процес перевірки даних, щоб дозволити комп’ютерам працювати швидше.
Q2. Який зв'язок між деревом Merkle та Ethereum?
Дерево Merkle — це тип структури блокчейну, який стоїть не лише за Ethereum, але й за Bitcoin і процесом майнінгу криптовалют. Однак Ethereum використовує модифіковану версію дерева Merkle, широко відомого як дерево Merkle Patricia.
Q3. Як реалізувати дерево Меркла
Щоб реалізувати дерева Merkle, потрібно почати з бінарних дерев, у яких кожен нелистовий вузол є хешем двох дочірніх вузлів. Ці листи можуть містити дані або хеш даних.
Q4. Які переваги дерева Меркле?
Будучи легкою структурою, яка збільшує масштабованість у межах блокчейну, дерево Merkle може позбутися непотрібних даних і таким чином підвищити ефективність. Як майнери, так і користувачі можуть отримати користь від дерева Merkle, оскільки воно перевіряє окремі частини блоків, перевіряє транзакції за допомогою хешів, а також обчислює хеші під час отримання транзакцій.
 

 

Джерело: https://coingape.com/education/explained-what-is-a-merkle-tree-in-blockchain-and-how-does-it-work/