Глосарій · Мережа

Корінь Меркла

Від команди CloudMineCryptoОновлено

Визначення

Корінь Меркла — це один хеш, який підсумовує всі транзакції в блоці Bitcoin. Його створюють, хешуючи транзакції попарно, потім попарно об’єднуючи отримані хеші, доки не залишиться один. Його зберігають у заголовку блока.

Частина глосарія з майнінгу Bitcoin: 88 термінів простою мовою.

Побудувати корінь Меркла

Корінь Меркла в заголовку

17b1344a79d1

хеш 0+1

de80192c

хеш 2+3

b87d4f25

транзакція 0

94e5fe9e

транзакція 1

c752a4cd

транзакція 2

934d1415

транзакція 3

3f172c5d

Натисни «Редагувати» на будь-якій транзакції. Її хеш, хеш пари й корінь зміняться.

Справжній подвійний SHA-256, обчислений у браузері й скорочений для показу. У справжніх блоках хешують дані транзакцій, а не речення.

Як будується корінь Меркла?

Почни з ідентифікатора кожної транзакції в блоці, який сам є подвійним хешем SHA-256. Розташуй їх по порядку, спочатку coinbase. Об’єднай сусідні хеші в пари й захешуй кожну пару. Тепер хешів удвічі менше. Повторюй, доки не залишиться один: це і є корінь Меркла.

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

Чому дерево, а не один великий хеш?

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

Це також важливо для майнінгу. Коли майнер змінює додатковий nonce у coinbase-транзакції, корінь Меркла змінюється, і в заголовку блока з’являється новий набір nonce для перевірки.

Джерела

  1. Bitcoin: пірингові електронні гроші · Satoshi Nakamoto, 2008
  2. Посилання про блокчейн: заголовки, дерева Меркла, ціль · Документація розробника Bitcoin
  3. Дерево Меркла · Bitcoin Wiki

Актуальні дані на цій сторінці надходять з API CloudMineCrypto та публічних даних блокчейну, регулярно оновлюються й позначені там, де відображаються. Лише для ознайомлення, не фінансова порада.

А тепер подивімося, як відбувається майнінг.

Claim a free 8-hour mining plan in the CloudMineCrypto app and watch your estimated BTC tick up from live network data. Withdraw to your own wallet, Lightning included. Rewards are estimates.