Блокчейн і Bitcoin: математика
Якщо відкинути хайп, блокчейн — це ланцюг криптографічних структур даних, захищених геш-головоломками. Кожен вузол мережі Bitcoin незалежно перевіряє ту саму математику — геш-функції, дерева Меркла, підписи на еліптичних кривих, — щоб без довіри до будь-кого узгодити єдину історію транзакцій.
1. Криптографічні геш-функції
Bitcoin використовує SHA-256 (Secure Hash Algorithm, 256-бітовий вихід). Геш-функція відображає вхід довільної довжини на вихід фіксованої довжини з такими властивостями:
- Детермінованість: однаковий вхід → завжди однаковий вихід
- Швидкість: обчислення H(x) триває мікросекунди
- Стійкість до прообразу: маючи H(x), знайти x обчислювально неможливо (потрібно ~2²⁵⁶ спроб)
- Стійкість до колізій: знаходження x₁ ≠ x₂, де H(x₁) = H(x₂), потребує ~2¹²⁸ спроб (межа парадокса днів народження)
- Лавинний ефект: зміна одного біта входу змінює ~50% бітів виходу
Bitcoin застосовує SHA-256 двічі: SHA-256(SHA-256(block_header)). Це подвійне гешування запобігає атакам розширення довжини й закладене як проєктне рішення в оригінальний протокол Сатоші.
2. Дерева Меркла
Кожен блок містить тисячі транзакцій. Замість перелічувати їх усі в заголовку блоку, Bitcoin будує дерево Меркла — двійкове дерево гешів:
- Листові вузли: геш кожної окремої транзакції
- Внутрішні вузли: геш конкатенації двох нащадків. H(AB) = SHA-256(H(A) || H(B))
- Корінь: єдиний 32-байтовий корінь Меркла, що фіксує всі транзакції в блоці
Це уможливлює спрощену перевірку платежів (SPV): щоб довести, що транзакція є в блоці, потрібно лише log₂(N) гешів («доказ Меркла»), а не весь блок. Для 4 000 транзакцій це 12 гешів × 32 байти = 384 байти замість повного блоку (~1–2 МБ).
3. Доказ роботи
Заголовок блоку містить: версію, геш попереднього блоку, корінь Меркла, мітку часу, ціль складності та 32-бітове число nonce. Блок є дійсним тоді й лише тоді, коли:
Тут немає короткого шляху — єдиний спосіб знайти дійсний геш — це вгадувати. Саме тому майнінг потребує величезної обчислювальної потужності. Поточна швидкість гешування мережі Bitcoin (2025) — ~700 EH/s (700 × 10¹⁸ SHA-256d за секунду). Сумарне споживання енергії: ~100 ТВт·год/рік.
Щойно майнер знаходить дійсне число nonce, поширити блок тривіально — будь-який вузол може перевірити геш за мікросекунди. Ця асиметрія (важко створити, легко перевірити) є основою безпеки доказу роботи.
4. Корегування складності
Bitcoin прагне до 10-хвилинних інтервалів між блоками. Кожні 2 016 блоків (~2 тижні) протокол перераховує складність:
Цей контур від’ємного зворотного зв’язку утримує час блоку біля 10 хвилин незалежно від того, скільки обчислювальної потужності приєднується до мережі чи залишає її. Коли Китай заборонив майнінг у 2021 році, швидкість гешування за ніч упала на 50% — складність скоригувалася вниз за 3 перерахунки, і час блоків стабілізувався протягом 6 тижнів.
5. ECDSA: цифрові підписи
Кожна адреса Bitcoin виводиться з відкритого ключа на еліптичній кривій. Bitcoin використовує криву secp256k1:
Щоб витратити Bitcoin, власник підписує транзакцію своїм приватним ключем за допомогою ECDSA (Elliptic Curve Digital Signature Algorithm). Будь-який вузол перевіряє підпис, використовуючи лише відкритий ключ. Підпис доводить право власності, не розкриваючи приватного ключа, — це основний механізм автентифікації.
6. Візантійська відмовостійкість
Проблема візантійських генералів (Лампорт, 1982): як N розподіленим сторонам узгодити рішення, коли до f з них можуть брехати або діяти зловмисно? Класична теорія довела, що консенсус потребує N ≥ 3f+1 чесних учасників — припущення про більшість.
Прорив Bitcoin (Накамото, 2008) переформульовує проблему: замість підрахунку особистостей (які можна підробити Сивіл-атакою) до кожного голосу прив’язується обчислювальна вартість. Блок — це «голос», що коштував реальної енергії для створення. Зловмиснику потрібно >50% сумарної обчислювальної потужності мережі, щоб створити довший ланцюг, — це атака 51%.
Правило найдовшого ланцюга: вузли завжди вважають дійсним ланцюг із найбільшим сукупним доказом роботи. Цей імовірнісний консенсус збігається експоненційно: після 6 підтверджень (~60 хв) імовірність того, що транзакцію скасує зловмисник із 10% обчислювальної потужності, менша за 0,001%.
7. Теорія ігор та економіка майнінгу
Майнінг — це економічна гра. Раціональний майнер майнить чесно, бо:
- Винагорода за блок: наразі 3,125 BTC (після халвінгу у квітні 2024 року). Халвінги відбуваються кожні 210 000 блоків (~4 роки). Сумарна емісія: 21 мільйон BTC (буде досягнута ~2140 року).
- Комісії за транзакції: у міру зменшення винагород за блок комісії стають домінантним стимулом. Середня комісія у 2025 році: ~$2–$10.
- Вартість атаки: утримувати 51% обчислювальної потужності коштувало б ~$10 мільярдів на обладнання плюс ~$20 мільйонів/день на електроенергію. Винагорода зловмисника (подвійна витрата) зазвичай менша за ці витрати.
Рівновага Неша — це чесний майнінг: відступництво (спроба шахраювати) суворо менш прибуткове за співпрацю. Саме ця теоретико-ігрова безпека дозволяє мережі без довіри й без дозволів функціонувати без жодного центрального органу.