Дерево Merkle та корінь Merkle в Blockchain

Початківець11/21/2022, 8:46:13 AM
Дерево Меркла — це структура, яка використовується для ефективної перевірки та підтримки цілісності даних у наборі. Перевірка транзакцій у мережі потребує багато місця та потужності обробки. Побудувавши дерево merkle та згенерувавши корінь merkle, транзакції можна перевірити без обов’язкового проходження тисяч транзакцій у мережі.

Блокчейн — це децентралізована книга для запису даних. Це технологія, яка лежить в основі криптовалют. На відміну від ручної книги, блокчейн є незмінним, будь-який запис у блокчейні остаточний і не може бути пошкоджений. Серед особливостей, які сприяють унікальності блокчейну, можна виділити дерево меркла та корінь меркла.

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

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

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

Дерево Меркла було створено в 1980 році професором Стенфордського університету Ральфом Мерклем. Він представив технологію у своїй статті про цифрові підписи під назвою «Сертифікований цифровий підпис» . Дерева Merkle переважно використовуються в однорангових мережах (P2P), де інформація обмінюється та незалежно перевіряється. Дерево меркла широко використовується в криптовалютах, таких як біткойн, для перевірки дійсності транзакцій.

Блокчейн, як випливає з назви, складається з блоків, пов’язаних разом. Кожен блок здатний зберігати тисячі транзакційних даних. Перевірка транзакцій у мережі потребує багато місця та потужності обробки. Але за допомогою дерева merkle транзакції можна перевіряти без обов’язкового проходження тисяч транзакцій у мережі.

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

  1. Листовий вузол: кожна окрема транзакція в блоці має своє хеш-значення. Це хеш-значення зберігається на кінцевому вузлі.
  2. Нелистовий вузол: цей вузол складається з хеш-значень із різних листових вузлів. Він є посередником між листовим вузлом і кореневим вузлом.
  3. Кореневий вузол: це корінь дерева merkle і містить єдиний хеш, що представляє всі транзакції в блоці, який зберігається в заголовку блоку.

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

Що таке корінь Меркле?

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

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

Дерево merkle розбиває масові дані на менші одиниці, з якими легко працювати. Він об’єднує всі транзакційні дані в блок для створення єдиного цифрового відбитка. Таким чином, перевірка транзакцій стає легшою та швидшою.

Дерево Merkle формується шляхом комбінування та хешування різних пар вузлів. В результаті виходить корінь меркле. Структура дерева меркле проходить знизу вгору (корінь до листя). Різні транзакції з листових вузлів об’єднуються в пари, щоб утворити нелистові вузли, поки ми не дійдемо до кореневого вузла.

Щоб мати більш чітке розуміння дерева Merkle, розглянемо блок із 8 різними транзакціями, T1, T2, T3, T4, T5, T6, T7 і T8. Кожна транзакція хешується для створення H1, H2, H3, H4, H5, H6, H7 і H8. Потім хеші об’єднуються в пари та знову хешуються, щоб отримати H(12), H(34), H(56) і (H78). Результат об’єднується ще раз і хешується, щоб отримати H(1234) і H(5678). Ще один крок дасть H(12345678) як корінь Меркла. На наведеній нижче діаграмі представлено дерево Merkle, побудоване з 8 різних транзакцій у блоці.

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

Переваги Merkle Tree

Використання дерева merkle та коренів merkle у блокчейні дає багато переваг. Визначними серед них є:

Ефективний процес перевірки даних

Дерево Merkle забезпечує ефективний засіб перевірки транзакцій, не споживаючи багато процесорної потужності.

Менший обсяг пам'яті

Перевірка транзакцій за допомогою дерева merkle не потребує завантаження всього блокчейну. Тому обчислення потребують менше місця порівняно з іншими структурами даних.

Швидкі транзакції

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

Виявлення втручання

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

Чому Merkle Trees і Merkle Roots необхідні в Blockchain

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

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

Застосування дерев Merkle та коренів Merkle у Blockchain

Дерева Меркла та корені Меркле дуже важливі в блокчейні. У мережі Bitcoin та інших криптовалютах вони важливі для майнінгу та процесу перевірки.

Майнінг

Дерево merkle є невід’ємною частиною мережі Bitcoin. Щоб перевірити транзакції та додати нові блоки, майнерам у мережі доручено хешувати дані, щоб створити вихід, який відповідає певним умовам. Це може коштувати трильйони спроб, перш ніж знайти дійсний результат. Для цього майнери продовжують вгадувати випадкові числа, щоб отримати результат.

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

Перевірка

Під час запуску вузла на пристрої з обмеженою обчислювальною потужністю. Неможливо буде завантажити та хешувати всі транзакції в блоці. Тут потрібне підтвердження merkle (підтвердження того, що певна транзакція присутня в блоці). Це зменшує кількість хешувань, які необхідно виконати, тому транзакції можна перевіряти за допомогою пристрою.

Висновок

Дерева Merkle та корені Merkle призначені для покращення перевірки даних у блокчейні. Ці інструменти допомагають забезпечити дійсність транзакцій без необхідності завантажувати всю мережу. Сьогодні вони є мозком мобільних гаманців. Користувачі можуть взаємодіяти з блокчейном без необхідності мати повну копію книги.

作者: Unique
译者: Yuler
审校: Matheus, Edward, Joyce, Ashley
* 投资有风险,入市须谨慎。本文不作为Gate.io提供的投资理财建议或其他任何类型的建议。
* 在未提及Gate.io的情况下,复制、传播或抄袭本文将违反《版权法》,Gate.io有权追究其法律责任。

Дерево Merkle та корінь Merkle в Blockchain

Початківець11/21/2022, 8:46:13 AM
Дерево Меркла — це структура, яка використовується для ефективної перевірки та підтримки цілісності даних у наборі. Перевірка транзакцій у мережі потребує багато місця та потужності обробки. Побудувавши дерево merkle та згенерувавши корінь merkle, транзакції можна перевірити без обов’язкового проходження тисяч транзакцій у мережі.

Блокчейн — це децентралізована книга для запису даних. Це технологія, яка лежить в основі криптовалют. На відміну від ручної книги, блокчейн є незмінним, будь-який запис у блокчейні остаточний і не може бути пошкоджений. Серед особливостей, які сприяють унікальності блокчейну, можна виділити дерево меркла та корінь меркла.

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

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

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

Дерево Меркла було створено в 1980 році професором Стенфордського університету Ральфом Мерклем. Він представив технологію у своїй статті про цифрові підписи під назвою «Сертифікований цифровий підпис» . Дерева Merkle переважно використовуються в однорангових мережах (P2P), де інформація обмінюється та незалежно перевіряється. Дерево меркла широко використовується в криптовалютах, таких як біткойн, для перевірки дійсності транзакцій.

Блокчейн, як випливає з назви, складається з блоків, пов’язаних разом. Кожен блок здатний зберігати тисячі транзакційних даних. Перевірка транзакцій у мережі потребує багато місця та потужності обробки. Але за допомогою дерева merkle транзакції можна перевіряти без обов’язкового проходження тисяч транзакцій у мережі.

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

  1. Листовий вузол: кожна окрема транзакція в блоці має своє хеш-значення. Це хеш-значення зберігається на кінцевому вузлі.
  2. Нелистовий вузол: цей вузол складається з хеш-значень із різних листових вузлів. Він є посередником між листовим вузлом і кореневим вузлом.
  3. Кореневий вузол: це корінь дерева merkle і містить єдиний хеш, що представляє всі транзакції в блоці, який зберігається в заголовку блоку.

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

Що таке корінь Меркле?

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

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

Дерево merkle розбиває масові дані на менші одиниці, з якими легко працювати. Він об’єднує всі транзакційні дані в блок для створення єдиного цифрового відбитка. Таким чином, перевірка транзакцій стає легшою та швидшою.

Дерево Merkle формується шляхом комбінування та хешування різних пар вузлів. В результаті виходить корінь меркле. Структура дерева меркле проходить знизу вгору (корінь до листя). Різні транзакції з листових вузлів об’єднуються в пари, щоб утворити нелистові вузли, поки ми не дійдемо до кореневого вузла.

Щоб мати більш чітке розуміння дерева Merkle, розглянемо блок із 8 різними транзакціями, T1, T2, T3, T4, T5, T6, T7 і T8. Кожна транзакція хешується для створення H1, H2, H3, H4, H5, H6, H7 і H8. Потім хеші об’єднуються в пари та знову хешуються, щоб отримати H(12), H(34), H(56) і (H78). Результат об’єднується ще раз і хешується, щоб отримати H(1234) і H(5678). Ще один крок дасть H(12345678) як корінь Меркла. На наведеній нижче діаграмі представлено дерево Merkle, побудоване з 8 різних транзакцій у блоці.

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

Переваги Merkle Tree

Використання дерева merkle та коренів merkle у блокчейні дає багато переваг. Визначними серед них є:

Ефективний процес перевірки даних

Дерево Merkle забезпечує ефективний засіб перевірки транзакцій, не споживаючи багато процесорної потужності.

Менший обсяг пам'яті

Перевірка транзакцій за допомогою дерева merkle не потребує завантаження всього блокчейну. Тому обчислення потребують менше місця порівняно з іншими структурами даних.

Швидкі транзакції

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

Виявлення втручання

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

Чому Merkle Trees і Merkle Roots необхідні в Blockchain

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

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

Застосування дерев Merkle та коренів Merkle у Blockchain

Дерева Меркла та корені Меркле дуже важливі в блокчейні. У мережі Bitcoin та інших криптовалютах вони важливі для майнінгу та процесу перевірки.

Майнінг

Дерево merkle є невід’ємною частиною мережі Bitcoin. Щоб перевірити транзакції та додати нові блоки, майнерам у мережі доручено хешувати дані, щоб створити вихід, який відповідає певним умовам. Це може коштувати трильйони спроб, перш ніж знайти дійсний результат. Для цього майнери продовжують вгадувати випадкові числа, щоб отримати результат.

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

Перевірка

Під час запуску вузла на пристрої з обмеженою обчислювальною потужністю. Неможливо буде завантажити та хешувати всі транзакції в блоці. Тут потрібне підтвердження merkle (підтвердження того, що певна транзакція присутня в блоці). Це зменшує кількість хешувань, які необхідно виконати, тому транзакції можна перевіряти за допомогою пристрою.

Висновок

Дерева Merkle та корені Merkle призначені для покращення перевірки даних у блокчейні. Ці інструменти допомагають забезпечити дійсність транзакцій без необхідності завантажувати всю мережу. Сьогодні вони є мозком мобільних гаманців. Користувачі можуть взаємодіяти з блокчейном без необхідності мати повну копію книги.

作者: Unique
译者: Yuler
审校: Matheus, Edward, Joyce, Ashley
* 投资有风险,入市须谨慎。本文不作为Gate.io提供的投资理财建议或其他任何类型的建议。
* 在未提及Gate.io的情况下,复制、传播或抄袭本文将违反《版权法》,Gate.io有权追究其法律责任。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!