Криптография в блокчейне ничего не шифрует — и именно поэтому она работает

24 мин. чтения
BYBIT EARN
Крипта лежит?
Bybit Earn: процент капает каждый день
Открыть Earn

Коротко (TL;DR)

  • Криптография простыми словами — это набор математических приёмов для защиты информации. В блокчейне из всего её арсенала реально работают только два: хеш-функция и пара ключей с цифровой подписью.
  • Шифрования в биткоине нет вообще. Все суммы, адреса и скрипты лежат в блоках открытым текстом — иначе узлы не смогли бы их проверить. Фраза «биткоин использует алгоритм шифрования SHA-256», которая кочует из статьи в статью, неверна дважды.
  • Хеш — односторонний отпечаток данных. Мы поменяли одну букву в слове — и хеш изменился на 128 бит из 256, то есть ровно наполовину.
  • Приватный ключ — это просто очень большое число. Из него получают публичный ключ, из публичного — адрес, и каждый шаг необратим.
  • Подпись доказывает владение, ничего не пряча. По умолчанию в биткоине подписываются все входы и выходы транзакции, кроме самих подписей.
  • Слабое место не в математике, а вокруг неё. Ключи на кривой secp256k1 не сломаны за 17 лет, но подпись фишинговой транзакции тоже математически безупречна — и потому необратима.

Что такое криптография и для чего она нужна

Криптография — это наука о том, как защитить информацию математикой, а не забором и охранником. У неё четыре классические задачи: скрыть содержание (конфиденциальность), доказать, что данные не подменили (целостность), подтвердить, кто автор (аутентификация), и лишить автора возможности потом отпереться (неотказуемость).

Обычный человек знает криптографию по первой задаче — по шифрованию. Отсюда и главная путаница: раз валюта называется «крипто», значит там всё зашифровано. На самом деле блокчейн взял из криптографии вторую, третью и четвёртую задачи, а первую почти не использует.

Аналогия, которая ближе к делу, чем «цифровой сейф»: представьте общественную доску объявлений в подъезде. Любой прохожий читает всё, что там висит, — это не сейф. Но у каждого объявления стоит личная печать, подделать которую невозможно, а сама доска устроена так, что вырвать или переписать старый лист незаметно не получится. Читать может каждый, писать — только владелец печати, менять задним числом — никто. Вот это и есть криптография в блокчейне: не про тайну, а про доказуемость. Именно так устроен биткоин, а вслед за ним и почти все остальные сети.

Криптография — это не шифрование: три инструмента, которые путают

Половина ошибок в текстах по теме растёт из одного корня: слова «криптография», «шифрование» и «хеширование» используют как синонимы. Это три разные вещи с разными свойствами.

SpaceX · xStockSpaceX — частная компания. Торгуй её токеном на Bybit за крипту.Торговать SpaceX →
ИнструментЕсть ключ?Обратимо?Что даётГде в блокчейне
Шифрование симметричное (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())"

Именно из-за лавинного эффекта подделка не проходит незаметно. Изменили в блоке одну цифру суммы — хеш блока изменился целиком. А поскольку каждый следующий блок содержит хеш предыдущего, вслед за ним «поедет» вся цепочка после правки.

SpaceX · xStockSpaceX — частная компания. Торгуй её токеном на Bybit за крипту.Торговать SpaceX →

Как хеш собирает блок: проверка на генезисе

Чтобы это не осталось словами, мы собрали заголовок самого первого блока биткоина из шести полей — версия, хеш предыдущего блока (у нулевого блока это 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 со Schnorr против ECDSA

  • 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 честно оговаривает, что защищает только от «долгой экспозиции» — от перехвата ключа из мемпула, пока транзакция ждёт подтверждения, нужны уже постквантовые подписи.

Что из этого следует лично вам

Три вывода, которые переводят математику в бытовые действия.

  1. Ключ — это и есть деньги, всё остальное — обёртка. Кошелёк не хранит монеты, он хранит ключ. Потеряли ключ и резервную копию — потеряли доступ навсегда, и никакая криптография тут не помощник, потому что она работает ровно так, как задумано.
  2. Проверяйте, что подписываете, а не что вам обещают. Подпись фиксирует конкретные суммы и конкретных получателей. Всё, что показывает экран кошелька перед подтверждением, — это и есть предмет вашей подписи; всё остальное к делу не относится.
  3. Не используйте один адрес повторно. Это одновременно про приватность и про запас прочности на будущее: непотраченный адрес не показывает сети ваш публичный ключ.

Что устареет в этом материале первым: хешрейт сети (меняется еженедельно), доля 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 не защищает — он решает другие задачи.

Криптография в блокчейне и в мессенджере — это одно и то же? Нет, и это хорошая иллюстрация разницы. Мессенджер решает задачу конфиденциальности, поэтому шифрует переписку. Блокчейн решает задачи целостности и владения, поэтому подписывает и хеширует, но не прячет.

BYBIT EARN
Крипта лежит?
Bybit Earn: процент капает каждый день
Открыть Earn
Поделиться
Связаться:
Крипто- и data-аналитик, инженер-программист (факультет компьютерных наук ХНУРЭ). В IT с 2008 года: администрировал корпоративный мониторинг в «Vodafone Украина», семь лет разрабатывал и продвигал веб-проекты, пять лет руководил маркетингом на метриках — конверсия, CTR, ROI, LTV.Криптовалютными рынками занимаюсь с 2021 года: ончейн-метрики, токеномика, макроэкономические индикаторы. Разработал собственную data-driven модель анализа рынка на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математическая статистика и EDA; сбор и сверку данных автоматизирую AI-агентами.Принцип — «Don't trust, verify»: каждая цифра проверена по первоисточнику, ключевые — минимум по двум независимым; прогнозы — только сценарии с условиями. Тезис без данных не публикуется.