Коротко (TL;DR)
- Криптографія простими словами — це набір математичних прийомів для захисту інформації. У блокчейні з усього її арсеналу справді працюють лише два: хеш-функція та пара ключів із цифровим підписом.
- Шифрування у біткоїні немає взагалі. Усі суми, адреси та скрипти лежать у блоках відкритим текстом — інакше вузли не змогли б їх перевірити. Фраза «біткоїн використовує алгоритм шифрування SHA-256», яка кочує зі статті у статтю, хибна двічі.
- Хеш — односторонній відбиток даних. Ми змінили одну літеру в слові — і хеш змінився на 128 бітів із 256, тобто рівно наполовину.
- Приватний ключ — це просто дуже велике число. З нього отримують публічний ключ, із публічного — адресу, і кожен крок незворотний.
- Підпис доводить володіння, нічого не ховаючи. За замовчуванням у біткоїні підписуються всі входи та виходи транзакції, окрім самих підписів.
- Слабке місце не в математиці, а навколо неї. Ключі на кривій secp256k1 не зламані за 17 років, але підпис фішингової транзакції теж математично бездоганний — і тому незворотний.
Що таке криптографія і для чого вона потрібна
Криптографія — це наука про те, як захистити інформацію математикою, а не парканом та охоронцем. У неї чотири класичні завдання: приховати зміст (конфіденційність), довести, що дані не підмінили (цілісність), підтвердити, хто автор (автентифікація), і позбавити автора можливості потім відмагатися (невідмовність).
- Коротко (TL;DR)
- Що таке криптографія і для чого вона потрібна
- Криптографія — це не шифрування: три інструменти, які плутають
- Як працює хеш-функція
- Ключі та підпис: чому приватний ключ — це і є ваші гроші
- Чому приватний ключ не можна підібрати: рахуємо у числах
- Види криптографії та де яка працює у крипті
- Від ECDSA до Schnorr: що змінилося у підписах біткоїна
- П’ять міфів, які кочують статтями про криптографію
- Ризики криптографії на практиці: підпис фішингу і втрата ключа
- Що з цього випливає особисто вам
- FAQ
Пересічна людина знає криптографію за першим завданням — за шифруванням. Звідси й головна плутанина: якщо валюта зветься «крипто», то там нібито все зашифроване. Насправді блокчейн узяв із криптографії друге, третє та четверте завдання, а перше майже не використовує.
Аналогія, ближча до справи, ніж «цифровий сейф»: уявіть спільну дошку оголошень у під’їзді. Будь-який перехожий читає все, що там висить, — це не сейф. Але на кожному оголошенні стоїть особиста печатка, яку неможливо підробити, а сама дошка влаштована так, що вирвати або переписати старий аркуш непомітно не вийде. Читати може кожен, писати — тільки власник печатки, змінювати заднім числом — ніхто. Ось так і застосовується криптографія у криптовалюті: не про таємницю, а про доказовість. Саме так влаштований біткоїн, а слідом за ним і майже всі інші мережі.
Криптографія — це не шифрування: три інструменти, які плутають
Половина помилок у текстах на цю тему росте з одного кореня: слова «криптографія», «шифрування» та «хешування» вживають як синоніми. Це три різні речі з різними властивостями.
| Інструмент | Чи є ключ? | Чи зворотно? | Що дає | Де у блокчейні |
|---|---|---|---|---|
| Шифрування симетричне (AES) | один спільний | так, за наявності ключа | приховує вміст | у самих блоках — ніде; ним гаманець шифрує файл із ключами на вашому диску під паролем |
| Шифрування асиметричне (RSA) | пара, різні | так, за наявності приватного | приховує вміст, не вимагаючи обміну секретом | у біткоїні не використовується |
| Хеш-функція (SHA-256) | ключа немає | ні, ніколи | фіксує, що дані не змінювалися | ідентифікатори блоків і транзакцій, майнінг, адреси |
| Цифровий підпис (ECDSA, Schnorr) | пара, різні | підпис перевіряється, але не «розшифровується» | доводить володіння ключем | підтвердження кожної витрати |
Стандарт NIST, яким описано SHA-256, формулює призначення функції прямим текстом: дайджести потрібні, «щоб виявити, чи змінювалося повідомлення після того, як дайджест був згенерований». Не «приховати повідомлення», а «виявити зміну». Шифрування у NIST описане окремим стандартом і до блокчейну стосунку не має.
Практичний висновок для читача: якщо вам обіцяють «розшифрувати хеш» — вам обіцяють неможливе. У хеша немає ключа і немає зворотної операції: із 256 бітів не можна відновити файл на гігабайт, бо інформація просто втрачена. Сервіси, які нібито «зламують хеші», перебирають заздалегідь пораховані варіанти і працюють лише на коротких передбачуваних входах на кшталт паролів «123456».
Як працює хеш-функція
Хеш-функція бере дані будь-якого розміру — літеру, договір, фільм — і видає рядок фіксованої довжини. У SHA-256 це завжди 256 бітів, тобто 64 символи у шістнадцятковому записі.
Від звичайної «контрольної суми» криптографічну хеш-функцію відрізняють чотири властивості: однаковий вхід завжди дає однаковий вихід; обчислюється швидко; за виходом не можна відновити вхід; і знайти два різні входи з однаковим виходом практично неможливо.
Лавинний ефект: наш замір
Найнаочнішу властивість простіше показати, ніж описати. Ми обчислили SHA-256 від двох слів, що різняться однією останньою літерою:
SHA-256("insidepc") = 628674e3f393145d1c1d7a32524fe57c152abe2fa3fa8f2ec421422b7549da91
SHA-256("insidepd") = a42171fe3b55644bef6cbb59a8c3d62ca97c6937001e810466b81948e28aed0e
Різняться 128 бітів із 256 — рівно половина, еталонна поведінка функції. Збіглися лише 4 із 64 символів, та й то випадково. Перевірити це можна за п’ять секунд у терміналі:
python3 -c "import hashlib; print(hashlib.sha256(b'insidepc').hexdigest())"
Саме через лавинний ефект підробка не проходить непомітно. Змінили у блоці одну цифру суми — хеш блока змінився цілком. А оскільки кожен наступний блок містить хеш попереднього, слідом за ним «поїде» весь ланцюг після правки.
Як хеш збирає блок: перевірка на генезисі
Щоб це не лишилося словами, ми зібрали заголовок найпершого блока біткоїна з шести полів — версія, хеш попереднього блока (у нульового блока це 32 нулі), корінь дерева транзакцій, час, компактний запис складності та nonce. Вийшло рівно 80 байтів. Подвійний SHA-256 від цих 80 байтів дає:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Це і є хеш генезис-блока, той самий, що показує будь-який експлорер. Жодної магії: ідентифікатор блока — не запис у базі даних, а обчислювана величина. Звідси ж зрозуміло, чим насправді зайняті майнери у пулі — вони змінюють nonce у цих 80 байтах і перераховують хеш, доки не отримають результат із потрібною кількістю нулів на початку.
Ключі та підпис: чому приватний ключ — це і є ваші гроші
Приватний ключ — просто число
Приватний ключ біткоїна — 256-бітове число, і все. Не файл, не пароль, не акаунт. Діапазон допустимих значень задає порядок кривої secp256k1 — приблизно 1,158 × 10⁷⁷ варіантів.
Публічний ключ отримують із приватного множенням на фіксовану точку кривої. Операція швидка в один бік і непідйомна у зворотний: знаючи приватний, ви за мікросекунди отримаєте публічний; знаючи публічний, приватний не отримаєте ніяк.
Сама крива обрана не випадково. Біткоїн використовує secp256k1 з рівнянням y² = x³ + 7, і Bitcoin Wiki відзначає дві її особливості: за оптимізованої реалізації вона «часто більш ніж на 30% швидша за інші криві», а її константи «обрані передбачуваним чином» — на відміну від популярних кривих NIST. Друге важливіше за перше: передбачуваний вибір констант різко знижує шанс, що автор кривої заклав у неї лазівку.
Адреса — це хеш публічного ключа
Ланцюжок має такий вигляд: приватний ключ → публічний ключ → адреса. Останній крок теж односторонній, бо адреса у найпоширенішому типі виходу — це хеш публічного ключа, а не сам ключ.
Звідси неочевидний наслідок, до якого рідко доходять пояснювачі: доки ви з адреси нічого не надсилали, ваш публічний ключ мережі невідомий — він з’являється у блокчейні лише в момент першої витрати, разом із підписом. Це стане важливим у розділі про квантову загрозу.
Що саме підписується у транзакції
Тут починається те, чого немає у жодного матеріалу з топ-10. Підпис ставиться не «на транзакцію» цілком за замовчуванням — у відправника є вибір, яку частину даних зафіксувати. Ці режими називаються прапорцями SIGHASH.Прапорець Що підписується Що це означає на практиці SIGHASH_ALL (за замовчуванням) усі входи та всі виходи ні суму, ні отримувача змінити не можна SIGHASH_NONE усі входи, жодного виходу куди підуть монети, може переписати будь-хто SIGHASH_SINGLE усі входи та один «свій» вихід своя частина захищена, чужі можна змінювати SIGHASH_ANYONECANPAY (модифікатор) лише цей вхід інші учасники можуть додавати свої входи
З підписуваних даних завжди виключені самі signature scripts — блоки, де лежать підпис і публічний ключ. Причина проста: підпис не може бути частиною тих даних, які він сам і підписує.
Звичайний гаманець використовує SIGHASH_ALL і ніколи не питає вас про це. Екзотичні прапорці потрібні для спільних транзакцій і краудфандингових схем. Але знати про їхнє існування корисно: це рівно та деталь, через яку фраза «блокчейн захищає транзакцію» перетворюється з гасла на конкретне «що саме захищено».
Чому приватний ключ не можна підібрати: рахуємо у числах
Конкуренти на цьому місці пишуть «практично неможливо» і йдуть далі. Порахуємо.
Варіантів приватного ключа — 1,158 × 10⁷⁷. Візьмімо найпотужніший обчислювач, який людство збудувало: мережу біткоїна, 2 серпня 2026 року вона видає близько 930 ексахешів на секунду (922 EH/s за mempool.space і 935 EH/s за blockchain.com, складність в обох 1,2623 × 10¹⁴).
Скерувавши її цілком на перебір одного ключа, отримуємо 1,25 × 10⁵⁶ секунд, тобто 3,9 × 10⁴⁸ років — у 2,9 × 10³⁸ разів більше за вік Всесвіту. Навіть якщо пощастить і ключ знайдеться на половині шляху, це 2 × 10⁴⁸ років.
Розрахунок навмисне завищує шанси атакувальника: одна перевірка кандидата в ключі коштує дорожче за один SHA-256, тож справжнє число ще більше. Незалежна оцінка Chaincode Labs, що йде іншим шляхом (через швидшу атаку складністю ~2¹²⁸), дає для найкращого суперкомп’ютера листопада 2024 року понад 10¹⁷ років на одну пару ключів. Різні методики — один висновок: перебір не є шляхом атаки.
Саме тому крадуть не ключі, а людей: фішингом, підміною адреси у буфері обміну, шкідливим ПЗ на комп’ютері. Математику обходять збоку.
Види криптографії та де яка працює у крипті
Види криптографії поділяють за однією ознакою — скільки ключів бере участь і чи бере взагалі.
Симетрична. Один ключ шифрує і розшифровує. Швидка, але вимагає безпечно передати ключ другій стороні — а це окрема проблема. У блокчейні не застосовується до записів, зате застосовується поруч: файл гаманця на вашому диску зашифрований симетрично, паролем, який ви вводите під час запуску.
Асиметрична. Пара пов’язаних ключів, один відкритий, другий секретний. Класичний RSA використовує її для шифрування листування. Біткоїн та Ethereum використовують інший її сценарій — цифровий підпис: секретним ключем підписують, відкритим перевіряють. Жодне повідомлення при цьому не шифрується. Саме тому криптографія з відкритим ключем у крипті — це про доказ володіння, а не про таємницю.
Хешування. Формально не належить ні до першої, ні до другої: ключа немає, зворотної операції немає. Це окремий клас, і плутанина «хеш — це теж шифрування» саме звідси.
До речі, про часту помилку у переліках «алгоритми блокчейну»: RSA туди потрапляє регулярно, хоча ні біткоїн, ні Ethereum його не використовують. Причина практична — за співмірної стійкості криптографія на еліптичних кривих дає ключі й підписи в рази коротші, а у блокчейні за кожен байт платять комісію. Ethereum, до слова, підписує на тій самій кривій secp256k1 (у специфікації типів транзакцій прямо фігурує параметр yParity — парність y-координати підпису secp256k1), а от хешує іншою функцією, Keccak-256.
Від ECDSA до Schnorr: що змінилося у підписах біткоїна
Пояснювачі масово зупиняються на зв’язці «SHA-256 + ECDSA», ніби надворі 2019 рік. Тим часом у листопаді 2021-го активувався софтфорк Taproot, а з ним — новий тип підпису, Schnorr (BIP-340, статус специфікації Deployed).
Різниця не косметична. Специфікація BIP-340 перелічує чотири пункти:
- Розмір. Підпис Schnorr — фіксовані 64 байти проти «змінного розміру, до 72 байтів» у ECDSA в DER-кодуванні. Публічний ключ — 32 байти проти 33.
- Доказова стійкість. Схема Schnorr доказово стійка; для ECDSA найкращі відомі результати спираються на сильніші припущення.
- Непідробність по-іншому. ECDSA кувка: якщо (r, s) — валідний підпис, то (r, n − s) валідний для того самого ключа і повідомлення. Третя сторона могла змінити підпис, не знаючи ключа, і цим зламати ідентифікатор транзакції. Schnorr не кувкий за побудовою.
- Лінійність. Кілька сторін можуть спільно побудувати один підпис, валідний для суми їхніх ключів. Звідси протоколи MuSig і FROST та головний наслідок для приватності: мультипідпис «два з трьох» у блокчейні має вигляд звичайної одиночної транзакції.
Наш вимір: скільки це у байтах на живому блоці
Специфікація — це заявлені величини. Ми взяли реальний блок 960695 (2 серпня 2026 року, 6296 транзакцій), вивантажили з нього перші 25 транзакцій — 51 вхід — і виміряли, скільки місця займає доказ володіння на кожному типі входу.
- Taproot із витратою за ключем: witness рівно 64 байти. Публічний ключ узагалі не передається — він уже лежить у виході.
- P2WPKH: підпис ECDSA 71 байт плюс публічний ключ 33 байти = 104 байти.
- P2PKH: scriptSig 106 байтів.
За одну й ту саму роботу Schnorr бере на 38% менше місця.
Переїзд при цьому йде неквапно. У нашій вибірці Taproot трапився рівно один раз проти 38 входів P2WPKH — але 51 вхід замало, щоб робити з цього висновок про мережу, тому спираємося на мережевий замір зі звіту Chaincode Labs: виходи P2TR становлять близько 32,5% усіх UTXO, але тримають лише ~0,74% вартості мережі (близько 146 715 BTC). Новий формат розійшовся невеликими гаманцями, а великі суми і далі лежать у старих типах виходів.
П’ять міфів, які кочують статтями про криптографію
Міф 1. «Біткоїн шифрує транзакції алгоритмом SHA-256». Помилка двічі: SHA-256 не шифр, а хеш-функція, і вміст транзакцій не шифрується взагалі. Кожен вузол зобов’язаний прочитати транзакцію, щоб її перевірити.
Міф 2. «Криптографія робить транзакції анонімними». Пари ключів дають псевдонімність, а не анонімність. Адреса — постійний ідентифікатор, уся її історія публічна і пов’язується інструментами аналізу ланцюга; Bitcoin Wiki згадує їх прямо, пояснюючи користь Taproot. Різниця між «псевдонім» і «анонім» коштувала людям грошей і свободи.
Міф 3. «Хеш можна розшифрувати за належної потужності». Розшифровувати нічого: зворотної функції не існує, інформація втрачена при стисненні у 256 бітів.
Міф 4. «Блокчейн захищений шифруванням, тому його не можна зламати». Захищений він не шифруванням, а вартістю підробки. Хеш-ланцюг робить переписування історії обчислювально дорогим, підпис робить чужу витрату неможливою. Ні те, ні інше не заважає вам самому підписати погану транзакцію.
Міф 5. «Усі блокчейни використовують однакову криптографію». Крива у біткоїна та Ethereum справді одна, а хеш-функції різні, і підписи у біткоїна після Taproot уже двох типів.
Ризики криптографії на практиці: підпис фішингу і втрата ключа
Розділ, якого у конкурентів майже немає: там, де ми розбираємо проблеми, вони пишуть «переваги криптографії».
Криптографія сумлінно підписує те, що їй дали. Це головний побутовий ризик. Підпис фішингової транзакції математично бездоганний, і тому незворотний — повернути монети не зможе ніхто, включно з розробниками. Гарна новина: той самий механізм означає, що і у вас ніхто нічого не відбере, доки ключ у вас.
Ключ можна втратити, і це не баг. Зворотний бік односторонніх функцій: відновити приватний ключ за адресою не можна ні вам, ні службі підтримки. Звідси вся індустрія резервного копіювання — від паперової seed-фрази до апаратних гаманців, де ключ не залишає пристрій і підписує транзакцію всередині чипа.
Ключ може бути не ваш. Якщо монети лежать на біржі, приватним ключем володіє майданчик, а у вас запис у його базі. Це не добре і не погано саме собою — це інший набір ризиків, і різниця між кастодіальним і некастодіальним зберіганням зводиться рівно до того, у кого ключ.
Повторне використання адреси подвоює вразливість. Доки з адреси не витрачали, публічний ключ прихований хешем. Після першої витрати він видимий назавжди — і якщо на адресі лишилися монети, вони переходять із категорії «вразливі лише в момент відправлення» до категорії «вразливі безстроково». Раніше це вважалося проблемою приватності; у квантовому контексті це ще й проблема безпеки.
Квантова загроза — реальна, але не така, як її описують. Тут важливо розрізняти два алгоритми, чого не робить жоден матеріал із топу:Що під ударом Який алгоритм Наскільки погано Чи є лікування Хеші (SHA-256, RIPEMD-160), майнінг Ґровера стійкість падає вдвічі за бітами: 256 → 128 так, перехід на функцію з подвійним запасом (SHA-512) Підписи (ECDSA і Schnorr) Шора стійкість зникає повністю лише зміна схеми підпису на постквантову
Тобто ламається не «блокчейн узагалі», а підписи. Масштаб оцінюють по-різному, і розбіжність показова: BIP-361 повідомляє, що на 1 березня 2026 року понад 34% усіх біткоїнів уже розкрили публічний ключ у мережі; звіт Chaincode Labs називає близько 6,26 млн BTC із розкритим ключем і відзначає, що легасі-тип P2PK тримає ~8,68% вартості мережі (~1 720 747 BTC), здебільшого монети епохи Сатоші; CoinShares оцінює ризик помітно скромніше — ті самі ~1,6 млн BTC у P2PK, але лише 10 200 монет із них лежать у гаманцях, крадіжка яких зрушила б ринок, а решта розпорошена по 32 607 окремих UTXO приблизно по 50 BTC. Різниця не в арифметиці, а в тому, що вважати вразливим: лише структурну експозицію чи ще й повторне використання адрес.
Терміни — прогноз, а не факт. Chaincode Labs очікує появи квантового комп’ютера, небезпечного для біткоїна, у 2030–2035 роках; NIST у серпні 2024-го говорив про «приблизно десятиліття». При цьому жоден квантовий комп’ютер досі не обійшов суперкомп’ютер у жодному комерційно значущому завданні.
Що робиться. NIST 13 серпня 2024 року випустив три фінальні постквантові стандарти: FIPS 203 (ML-KEM, обмін ключами), FIPS 204 (ML-DSA, підписи) та FIPS 205 (SLH-DSA, резервна схема на хешах). Проєкт NIST IR 8547 від 12 листопада 2024 року передбачає заборону криптографії на еліптичних кривих у федеральних системах США після 2035 року. У самому біткоїні є дві пропозиції — BIP-360 (новий тип виходу, який не розкриває ключ заздалегідь) і BIP-361 (поетапна відмова від старих підписів). В обох статус Draft, консенсусу немає, і BIP-360 чесно застерігає, що захищає лише від «довгої експозиції» — від перехоплення ключа з мемпулу, доки транзакція чекає підтвердження, потрібні вже постквантові підписи.
Що з цього випливає особисто вам
Три висновки, які переводять математику у побутові дії.
- Ключ — це і є гроші, все інше — обгортка. Гаманець не зберігає монети, він зберігає ключ. Втратили ключ і резервну копію — втратили доступ назавжди, і жодна криптографія тут не помічник, бо вона працює рівно так, як задумано.
- Перевіряйте, що підписуєте, а не що вам обіцяють. Підпис фіксує конкретні суми і конкретних отримувачів. Усе, що показує екран гаманця перед підтвердженням, — це і є предмет вашого підпису; решта до справи не стосується.
- Не використовуйте одну адресу повторно. Це водночас про приватність і про запас міцності на майбутнє: невитрачена адреса не показує мережі ваш публічний ключ.
Що застаріє у цьому матеріалі першим: хешрейт мережі (змінюється щотижня), частка Taproot-транзакцій і статуси BIP-360/BIP-361 — їх варто звіряти у репозиторії bitcoin/bips. Математика хеша і підпису не зміниться.
FAQ
Яке шифрування використовує біткоїн? Жодного. У протоколі біткоїна шифрування вмісту немає: транзакції лежать у блоках відкрито, щоб кожен вузол міг їх перевірити. Використовуються хеш-функція SHA-256 та цифрові підписи ECDSA і Schnorr — це не шифри.
Чим хеш відрізняється від шифрування? Шифрування двостороннє і потребує ключа: зашифрували — розшифрували. Хеш односторонній і ключа не має: з відбитка не можна відновити вихідні дані за жодних потужностей, бо при стисненні до 256 бітів інформація втрачається.
Чи можна обчислити приватний ключ за адресою гаманця? Ні. Ланцюжок «приватний ключ → публічний ключ → адреса» односторонній на обох кроках. Перебір усіх варіантів приватного ключа силами всієї мережі біткоїна зайняв би порядку 10⁴⁸ років.
Хто вигадав криптографію, яку використовує біткоїн? Сатоші Накамото нічого в криптографії не винаходив — він зібрав готові кубики: SHA-256 розроблений АНБ і стандартизований NIST (чинна редакція FIPS 180-4 — серпень 2015), ECDSA та еліптичні криві з’явилися у 1980-х, схему Шнорра описано наприкінці 1980-х. Новим було поєднання, а не складові частини.
Чи зламає квантовий комп’ютер біткоїн? Хешам і майнінгу він небезпечний обмежено — алгоритм Ґровера знижує стійкість SHA-256 з 256 до 128 бітів, що лікується переходом на довшу функцію. По-справжньому вразливі підписи: алгоритм Шора обнуляє стійкість ECDSA і Schnorr. Але криптографічно значущого квантового комп’ютера поки не існує, а відповідні пропозиції у біткоїні (BIP-360, BIP-361) перебувають у статусі чернеток.
Що безпечніше — ECDSA чи Schnorr? Schnorr: він доказово стійкий, не кувкий і компактніший (64 байти проти 72). При цьому обидві схеми спираються на ту саму криву secp256k1, тому проти квантової атаки Schnorr не захищає — він розв’язує інші завдання.
Криптографія у блокчейні та у месенджері — це те саме? Ні, і це гарна ілюстрація різниці. Месенджер розв’язує завдання конфіденційності, тому шифрує листування. Блокчейн розв’язує завдання цілісності та володіння, тому підписує і хешує, але не ховає.



