🔗 Криптографія · Розподілені системи
📅 Березень 2026⏱ 14 хв🟡 Середній · Останнє оновлення: 23 червня 2026 р.

Блокчейн і Bitcoin: математика

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

1. Криптографічні геш-функції

Bitcoin використовує SHA-256 (Secure Hash Algorithm, 256-бітовий вихід). Геш-функція відображає вхід довільної довжини на вихід фіксованої довжини з такими властивостями:

SHA-256("Bitcoin") = b4056df6691f8dc...(64 hex chars = 256 bits) SHA-256("bitcoin") = 6b88c087247aa2...(completely different)

Bitcoin застосовує SHA-256 двічі: SHA-256(SHA-256(block_header)). Це подвійне гешування запобігає атакам розширення довжини й закладене як проєктне рішення в оригінальний протокол Сатоші.

2. Дерева Меркла

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

Це уможливлює спрощену перевірку платежів (SPV): щоб довести, що транзакція є в блоці, потрібно лише log₂(N) гешів («доказ Меркла»), а не весь блок. Для 4 000 транзакцій це 12 гешів × 32 байти = 384 байти замість повного блоку (~1–2 МБ).

Виявлення підробки: зміна навіть однієї транзакції змінює її листовий геш, що поширюється вгору й змінює корінь Меркла. Оскільки корінь Меркла є в заголовку блоку, змінюється геш блоку, що руйнує ланцюг — усі наступні блоки довелося б перемайнити.

3. Доказ роботи

Заголовок блоку містить: версію, геш попереднього блоку, корінь Меркла, мітку часу, ціль складності та 32-бітове число nonce. Блок є дійсним тоді й лише тоді, коли:

SHA-256(SHA-256(block_header)) < target «target» — це 256-бітове число. Чим менший target, тим складніша головоломка. Пошук дійсного nonce потребує перебору: пробуємо nonce=0,1,2,... Очікувана кількість спроб = 2²⁵⁶ / target

Тут немає короткого шляху — єдиний спосіб знайти дійсний геш — це вгадувати. Саме тому майнінг потребує величезної обчислювальної потужності. Поточна швидкість гешування мережі Bitcoin (2025) — ~700 EH/s (700 × 10¹⁸ SHA-256d за секунду). Сумарне споживання енергії: ~100 ТВт·год/рік.

Щойно майнер знаходить дійсне число nonce, поширити блок тривіально — будь-який вузол може перевірити геш за мікросекунди. Ця асиметрія (важко створити, легко перевірити) є основою безпеки доказу роботи.

4. Корегування складності

Bitcoin прагне до 10-хвилинних інтервалів між блоками. Кожні 2 016 блоків (~2 тижні) протокол перераховує складність:

new_target = old_target × (actual_time / expected_time) expected_time = 2016 × 10 хв = 20 160 хв Якщо блоки надходили кожні 8 хв: відношення = 16 128/20 160 = 0,80 → target зменшується на 20% → складність зростає Максимальне корегування за один перерахунок: ×4 вгору або ×0,25 вниз

Цей контур від’ємного зворотного зв’язку утримує час блоку біля 10 хвилин незалежно від того, скільки обчислювальної потужності приєднується до мережі чи залишає її. Коли Китай заборонив майнінг у 2021 році, швидкість гешування за ніч упала на 50% — складність скоригувалася вниз за 3 перерахунки, і час блоків стабілізувався протягом 6 тижнів.

5. ECDSA: цифрові підписи

Кожна адреса Bitcoin виводиться з відкритого ключа на еліптичній кривій. Bitcoin використовує криву secp256k1:

Крива: y² = x³ + 7 (mod p) p = 2²⁵⁶ − 2³² − 977 (256-бітове просте число) Твірна точка G — фіксована точка на кривій Порядок n ≈ 2²⁵⁶ (кількість точок на кривій) Приватний ключ: випадкове ціле k ∈ [1, n−1] (256 бітів) Відкритий ключ: P = k·G (скалярне множення на еліптичній кривій) Знаходження k за P — це задача дискретного логарифма на еліптичній кривій (ECDLP) — обчислювально неможливо на класичних комп’ютерах.

Щоб витратити Bitcoin, власник підписує транзакцію своїм приватним ключем за допомогою ECDSA (Elliptic Curve Digital Signature Algorithm). Будь-який вузол перевіряє підпис, використовуючи лише відкритий ключ. Підпис доводить право власності, не розкриваючи приватного ключа, — це основний механізм автентифікації.

6. Візантійська відмовостійкість

Проблема візантійських генералів (Лампорт, 1982): як N розподіленим сторонам узгодити рішення, коли до f з них можуть брехати або діяти зловмисно? Класична теорія довела, що консенсус потребує N ≥ 3f+1 чесних учасників — припущення про більшість.

Прорив Bitcoin (Накамото, 2008) переформульовує проблему: замість підрахунку особистостей (які можна підробити Сивіл-атакою) до кожного голосу прив’язується обчислювальна вартість. Блок — це «голос», що коштував реальної енергії для створення. Зловмиснику потрібно >50% сумарної обчислювальної потужності мережі, щоб створити довший ланцюг, — це атака 51%.

Правило найдовшого ланцюга: вузли завжди вважають дійсним ланцюг із найбільшим сукупним доказом роботи. Цей імовірнісний консенсус збігається експоненційно: після 6 підтверджень (~60 хв) імовірність того, що транзакцію скасує зловмисник із 10% обчислювальної потужності, менша за 0,001%.

P(зловмисник надолужує, відстаючи на z блоків) = 1 якщо q ≥ p = (q/p)^z якщо q < p де p = частка чесної обчислювальної потужності, q = частка зловмисника z=6, q=0,10: P = 0,10^6 ≈ 0,000 001

7. Теорія ігор та економіка майнінгу

Майнінг — це економічна гра. Раціональний майнер майнить чесно, бо:

Рівновага Неша — це чесний майнінг: відступництво (спроба шахраювати) суворо менш прибуткове за співпрацю. Саме ця теоретико-ігрова безпека дозволяє мережі без довіри й без дозволів функціонувати без жодного центрального органу.

Альтернатива — доказ частки (Proof of Stake): Ethereum перейшов на PoS у вересні 2022 року («The Merge»). Замість обчислювальної роботи валідатори блокують (стейкають) ETH як заставу. Зловмисні валідатори втрачають свою частку (slashing). Споживання енергії впало на ~99,95%. Математична модель безпеки зміщується від переваги в обчислювальній потужності до економічної більшості.