Технология блокчейна привлекает к себе все больше внимания при решении проблем обеспечения прозрачности операций, обеспечения децентрализованного хранения данных и надежности передачи данных. Существенно расширилась сфера применения блокчейн-систем, основанных на криптографических методах шифрования и распределенных вычислениях, распространившись на здравоохранение, финансы, государственное управление, логистику и Интернет вещей [1, 2]. Однако, несмотря на такие преимущества, как неизменяемость данных, защита от несанкционированного доступа и устранение необходимости в доверенном посреднике, блокчейн-системы сталкиваются с серьезными проблемами в области обеспечения безопасности и конфиденциальности.
Развитие смарт-контрактов, появление новых моделей токенизации и внедрение масштабируемых решений, таких как уровневые протоколы и кроссчейн-интеракции, способствуют совершенствованию технологии, но одновременно создают и новые векторы атак [3, 4]. Уязвимости, связанные с консенсусными механизмами [5], атаками 51% (захват более половины сети), централизованными точками отказа в децентрализованных приложениях (DApps) и недостаточной защитой смарт-контрактов, требуют разработки эффективных методов противодействия. Однако, несмотря на актуальность проблем, в российском научном сообществе относительно мало публикаций по их исследованиям [6]. Вместе с тем предложенная Сатоши Накамото еще в 2008 году концепция блокчейн-технологии трансформировалась сегодня в многогранную экосистему с широким спектром применений, что делает особенно актуальными вопросы обеспечения ее безопасности и конфиденциальности.
Публикации и атаки
В РИНЦ по запросам «блокчейн» и «распределенный реестр» за 2018–2024 годы обнаружено 6594 публикации, хотя на ScienceDirect и IEEE Xplore их 20 402 и 30 661 соответственно (рис. 1).
![]() |
| Рис. 1. Динамика публикаций статей по блокчейн-тематике за 2018–2024 гг. |
Видно, что число публикаций ежегодно увеличивается (среднегодовой прирост — 31,72%). Небольшой спад наблюдался только в 2020–2021 годы. Распространение технологии во всех сферах жизни тесно коррелирует с числом научных работ, а статистика свидетельствует о тенденции роста внимания научного сообщества к проблемам безопасности блокчейн-систем. Кроме этого наблюдается рост интереса к защите криптоактивов на фоне увеличения объемов украденных активов (рис. 2).
![]() |
| Рис. 2. Общая сумма украденных активов и число хакерских атак за 2016–2024 гг. |
В период с 2015 по 2024 годы наблюдался значительный рост количества атак на блокчейн-системы и объемов украденных средств, особенно в 2018–2022 годах, когда потери достигли рекордных 3,7 млрд долл. Однако после 2022 года объемы украденных активов снизились, несмотря на продолжающийся рост числа атак, что свидетельствует о повышении эффективности мер защиты и переходе злоумышленников к множественным атакам меньшего масштаба, включая эксплойты смарт-контрактов и фишинг.
В феврале 2025 года произошел крупнейший в истории взлом криптовалютной биржи Bybit, в результате которого было похищено более 1 млрд долл. в криптовалюте Ethereum — хакеры получили доступ к одному из холодных кошельков биржи, что позволило вывести значительные средства. Этот инцидент подчеркивает необходимость дальнейшего совершенствования механизмов кибербезопасности, аудита смарт-контрактов и регулирования криптовалютного рынка.
Для эффективного анализа и разработки мер защиты важно систематизировать угрозы, учитывая их воздействие на основные аспекты информационной безопасности.
- Нарушение доступности. К этой группе относятся атаки, направленные на дестабилизацию работы сети, перегрузку узлов или ограничение доступа пользователей к данным. Наиболее распространенные примеры — DDoS-атаки, атака 51%, а также манипуляции с маршрутизацией трафика (BGP hijacking).
- Нарушение целостности. Данный класс атак включает попытки модификации данных в блокчейне или эксплуатацию уязвимостей механизмов консенсуса. В частности, угрозу представляют атаки двойной траты, Selfish Mining (контроль над сетью со стороны злоумышленника при том, что он обладает вычислительными ресурсами суммарной мощностью менее 50%), манипуляции со смарт-контрактами и компрометация криптографических алгоритмов.
- Нарушение конфиденциальности. Атаки, направленные на деанонимизацию пользователей, утечку информации о транзакциях и несанкционированный доступ к данным. Здесь применяется анализ метаданных транзакций и взлом механизмов генерации случайных чисел в смарт-контрактах.
Подобная классификация позволяет не только структурировать известные угрозы, но и выявить взаимосвязь между ними. Например, атака 51% может одновременно затронуть как доступность сети (из-за монополизации вычислительных мощностей), так и целостность данных (из-за возможности проведения двойных трат).
Существует несколько подходов к систематизации угроз блокчейн-систем.
- Функциональный анализ угроз, при котором атаки рассматриваются в контексте конкретных компонентов блокчейн-архитектуры (узлы, консенсусный механизм, смарт-контракты, криптографические алгоритмы). Такой подход позволяет анализировать влияние атак на технические аспекты системы.
- Классификация по степени воздействия — угрозы оцениваются по потенциальному ущербу и вероятности реализации. Наиболее опасны: атака 51%, эксплуатация уязвимостей смарт-контрактов и компрометация ключей пользователей.
- Системы риск-ориентированного анализа — использование математических моделей для оценки вероятности атак и последствий их реализации. Такие методы позволяют прогнозировать уязвимости в зависимости от текущего состояния сети и поведения участников.
Применение этих подходов в совокупности позволяет формировать комплексные стратегии защиты, ориентированные не только на устранение известных угроз, но и на снижение потенциальных рисков.
В таблице представлены основные угрозы, направленные на функционирование криптовалютной блокчейн-системы.
Атака 51%
Угроза захвата большей части сети — атака 51% представляет собой угрозу для блокчейн-сетей, основанных на механизмах консенсуса Proof-of-Work (PoW) или Proof-of-Stake (PoS). Один субъект или группа злоумышленников получает контроль над более половиной вычислительной мощности или стейкинга (блокировки активов), что позволяет изменять историю транзакций и, в некоторых случаях, осуществлять двойные траты.
Предположим, что злоумышленник выбирает небольшую сеть, в которой общий хешрейт (показатель вычислительной мощности в единицу времени) составляет порядка 100 TH/s, а алгоритм консенсуса основан на Ethash (алгоритм майнинга для Ethereum), что делает возможным использование арендованных мощностей, таких как сервисы облачного майнинга. Первоначально он анализирует состояние сети, чтобы убедиться, что атака будет экономически оправдана. Он оценивает ликвидность токена на биржах, сложность майнинга, распределение мощности среди пулов и возможные меры защиты, предпринятые разработчиками. Например, если сеть не требует большого количества подтверждений для депозитов на биржах, то вероятность успешного проведения атаки значительно возрастает.
Затем злоумышленник приступает к подготовке атаки, арендуя вычислительные мощности на сервисах типа NiceHash (криптовалютная биржа с открытым рынком для покупателей и продавцов вычислительной мощности), где можно временно получить хешрейт, достаточный для преодоления порога в 51%. Допустим, аренда 100 TH/s на один час стоит 0,1 BTC и запускается атака на несколько часов, чтобы гарантированно получить преимущество в цепи блоков. В этот момент запускается параллельный майнинг частной версии блокчейна, начиная с определенного блока, например N, и он не транслирует найденные блоки в основную сеть.
Одновременно с этим на биржу отправляется крупная транзакция, например 1000 Xcoin, и после того как она получает достаточное количество подтверждений, конвертируется в другую валюту, например, в Bitcoin или USDT. После успешного обмена и вывода средств раскрывается секретная намайненная цепь, которая оказывается длиннее текущей благодаря тому, что контроль над вычислительной мощностью позволял майнить блоки быстрее, чем это делала остальная сеть. Согласно правилам консенсуса, узлы сети переключаются на новую цепь, а все неподтвержденные транзакции в отмененных блоках, включая его перевод на биржу, оказываются аннулированными. В результате на бирже не остается информации о депонировании Xcoin, а злоумышленник уже успел вывести активы в другой криптоактив, что делает невозможным возврат средств.
После завершения атаки злоумышленник прекращает поддерживать свой хешрейт, возвращая сеть к нормальной работе. Биржи, осознав факт атаки, могут временно приостановить ввод и вывод монеты, но ущерб уже нанесен, а репутация блокчейна испорчена. В этом сценарии атака была возможна из-за недостаточной децентрализации, низкого общего хешрейта сети и недостаточно строгих правил подтверждения транзакций на биржах.
Если рассматривать аналогичный сценарий атаки в сети, работающей на Proof-of-Stake, процесс приобретает несколько иной характер. В отличие от PoW, механизм PoS считается более защищенным от такого рода атак, особенно при достаточной масштабируемости сети. Для реализации уязвимости в PoS злоумышленникам необходимо контролировать более 50% всех активов сети, что требует значительных ресурсов. Вместо аренды вычислительных мощностей злоумышленник фокусируется на скупке значительной доли токенов, участвующих в стекинге. Например, если в блокчейне PoS Coin всего 10 млн монет, а в стекинге участвуют четыре, то, приобретя три миллиона токенов, можно добиться доминирующего положения в сети и фактически управлять процессом выбора валидаторов. После получения контроля можно изменять правила консенсуса, снижая штрафы за слэшиинг (механизм наказания валидаторов, отвечающих за подтверждение новых транзакций и обеспечение безопасности блокчейна, за вредоносное поведение или существенные ошибки) или позволяя проведение двойных трат через атаки с форком цепочки. В некоторых случаях такие атаки могут быть предотвращены экономическими мерами, такими как длительное замораживание токенов в стекинге или механизмами, основанными на случайном выборе валидаторов, однако в условиях слабой защиты сеть оказывается под угрозой.
Таким образом, атака 51% представляет собой реальную угрозу для блокчейнов с недостаточным уровнем децентрализации и слабой защитой. Для предотвращения подобных атак разработчики внедряют различные меры защиты, такие как увеличение сложности сети, применение алгоритмов типа checkpointing, ужесточение требований к подтверждениям на биржах и введение штрафных механизмов в PoS. В случае крупнейших сетей, таких как Bitcoin и Ethereum, атака 51% становится практически невозможной из-за огромного объема требуемых ресурсов, но в малых и средних блокчейнах она остается серьезной проблемой, требующей постоянного мониторинга и усовершенствования механизмов консенсуса.
Уязвимости смарт-контрактов
Исследования в области безопасности блокчейн-технологий выявили значительное число уязвимостей смарт-контрактов, работающих на различных платформах: Ethereum, Binance Smart Chain и др., поддерживающих децентрализованные вычисления. В первую очередь выделяют уязвимости, связанные с переиспользованием данных памяти и неинициализированными переменными, что может привести к утечке критически важной информации. Кроме того, широко известны проблемы повторного входа (reentrancy), возникающие при несоответствующем порядке выполнения вызовов внутри контрактов. Помимо логических ошибок, следует учитывать и экономические атаки, такие как манипуляция порядком исполнения транзакций (MEV-атаки) и предсказуемость случайных чисел, используемых для генерации криптографических значений.
Один из наиболее изученных и опасных классов уязвимостей — атака повторного входа, которая позволяет злоумышленнику неоднократно вызывать внешний контракт, прежде чем завершится выполнение исходной транзакции, тем самым обходя ожидаемую логику выполнения. Классическим примером является эксплойт, обнаруженный в смарт-контракте The DAO в 2016 году [7]. Уязвимость возникала из-за того, что контракт позволял внешним вызовам выполняться до обновления баланса пользователя. Это привело к тому, что атакующий, создавший вредоносный контракт, смог многократно запрашивать возврат средств до того, как состояние баланса обновлялось в блокчейне. В результате было выведено более 3,6 миллионов ETH, что на тот момент составило значительную часть оборота сети Ethereum.
Для более детального анализа можно представить пример кода на языке Solidity уязвимого смарт-контракта, реализующий простую функцию вывода средств. В данном коде присутствует критическая ошибка: обновление состояния (уменьшение баланса) происходит после выполнения внешнего вызова msg.sender.call. В случае если атакующий развернет контракт с функцией, содержащей вредоносный fallback, в котором повторно вызывается withdraw, он сможет неоднократно извлекать средства, пока не будет исчерпан баланс уязвимого контракта. В случае атак повторного входа рекомендуется использовать модификатор checks-effects-interactions, который требует сначала обновлять баланс пользователя, а уже затем выполнять внешние вызовы. Кроме того, возможно использование механизмов реентерабельных блокировок и других методов защиты, позволяющих минимизировать вероятность эксплуатации подобных уязвимостей.
Важно продолжать исследования в области автоматизированного анализа кода, методов верификации и инструментов детектирования атак в реальном времени, что позволит повысить уровень безопасности смарт-контрактов в публичных блокчейн-сетях.
Определение уровня угрозы блокчейн-сети связано в первую очередь с масштабом ущерба, который может быть нанесен при реализации конкретной уязвимости. Другим критерием опасности является вероятность осуществления данного типа уязвимости в различных сетях. В таблице указаны проблемные места блокчейн-систем.
![]() |
| Рис. 3. Модель уязвимостей блокчейн-систем |
На рис. 3 приведена схема функционирования блокчейн-систем — отмечены источники уязвимостей. Ошибки в коде могут присутствовать в любом элементе системы. На уровне узлов имеется угроза захвата вычислительных мощностей и маршрутизации трафика. В самом блокчейне существуют угрозы взлома подписей и хэш-функций, но сегодня это практически нереализуемо. Наибольшее количество уязвимостей имеется на стороне клиента: уязвимости в смарт-контрактах, уязвимости в мобильных приложениях кошельков/бирж, социальная инженерия, а также возможно косвенное влияние прочих уязвимостей.
Защита
Рассмотрим способы защиты блокчейн-сети.
Метод zk-SNARKs
Метод доказательства с нулевым разглашением zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) — одно из передовых криптографических решений, позволяющих проводить верификацию вычислений без раскрытия входных данных. Основное преимущество zk-SNARKs заключается в том, что проверяющая сторона может убедиться в истинности утверждения, не получая дополнительной информации о конфиденциальных параметрах. Однако метода обладает рядом ограничений.
Одна из ключевых проблем zk-SNARKs — необходимость доверенной установки параметров (trusted setup). На этапе инициализации системы формируются общедоступные параметры (Common Reference String, CRS), которые впоследствии используются при генерации доказательств. Если этот процесс окажется скомпрометированным, злоумышленник может создать фальшивые доказательства, обходя установленные правила безопасности. Данная уязвимость наблюдалась в некоторых ранних реализациях zk-SNARKs, что привело к развитию новых протоколов, таких как zk-STARKs, уже не требующих доверенной установки.
Кроме того, метод предъявляет высокие требования к вычислительным ресурсам, особенно на этапе генерации доказательств. Это ограничивает возможность его использования на мобильных устройствах и в IoT. Также существует риск эксплуатации предсказуемости криптографических функций, если параметры системы не были правильно сгенерированы. Несмотря на ограничения, применение zk-SNARKs особенно актуально в системах конфиденциальных платежей, таких как криптовалюта с открытым исходным кодом Zcash, где этот метод позволяет проводить верификацию транзакций без раскрытия отправителя, получателя или суммы перевода.
Рассмотрим практический пример использования zk-SNARKs для доказательства знания предобраза хеш-функции без его раскрытия. Пусть доказывающая сторона хочет убедить проверяющего в том, что он знает секретное число x, для которого выполняется H (x) = y, где H — криптографическая хеш-функция, а y — общедоступное значение. Для этого он использует zk-SNARK-схему, определяющую, что существует некоторое x, удовлетворяющее этому условию, но не раскрывает его. Реализация такого доказательства может быть выполнена с использованием инструментария ZoKrates — высокоуровневого фреймворка для разработки zk-SNARK-программ. В этом примере Poseidon (x) представляет собой хеш-функцию, оптимизированную для работы в zk-SNARK-системах. Код определяет, что пользователь знает x, соответствующий известному y, но при этом проверяющий не получает доступа к x, а лишь убеждается в корректности утверждения. После компиляции кода и генерации доказательства с использованием CRS проверяющий сможет убедиться в истинности доказательства за минимальное время, поскольку zk-SNARKs обеспечивают верификацию доказательств за постоянное время, что делает их особенно эффективными в условиях масштабируемых блокчейн-систем.
Технология zk-SNARKs предоставляет мощный инструмент для обеспечения конфиденциальности и аутентификации без раскрытия лишней информации. В будущем предполагается развитие новых схем, таких как zk-STARKs, устраняющих необходимость доверенной установки, а также интеграция zk-SNARKs в решения идентификации без паролей и масштабируемые решения.
Защита с использованием мультиподписей
Механизм мультиподписей (multisignature, multisig) является эффективным способом защиты цифровых активов, требующим согласования транзакций несколькими ключами перед их выполнением. Такой подход повышает безопасность по сравнению с однофакторными цифровыми подписями, поскольку компрометация одного из ключей не приводит к потере доступа к средствам. Наиболее распространенная форма использования мультиподписи — схема m из n, где n — общее количество возможных подписантов, а m — минимальное количество подписей, необходимых для авторизации транзакции. Например, схема «2 из 3» требует подписи от двух из трех доверенных лиц, что снижает риск несанкционированного доступа к средствам.
Однако мультиподписи имеют свои ограничения. В стандартных реализациях (например, P2SH-мультиподписи в Bitcoin) все подписи хранятся в блокчейне, что увеличивает размер транзакции и делает ее более дорогой в сравнении с обычными операциями.
Другим потенциальным недостатком является риск саботажа одной из сторон. Например, в схеме «2 из 3» один из подписантов может умышленно отказаться подписывать транзакцию, что приведет к блокировке средств. В некоторых случаях данную проблему можно решить с помощью смарт-контрактов, содержащих механизмы тайм-аутов или арбитражных механизмов
Теоретическая основа мультиподписей базируется на криптографических схемах совместного управления ключами, таких как алгоритмы Эль-Гамаля, ECDSA и Schnorr. В частности, в сети Bitcoin и других блокчейнах на основе выхода неизрасходованных транзакций (UTXO) широко используется P2SH (Pay-to-Script-Hash — оплата по хэшу скрипта), позволяющая создавать адреса, требующие выполнения определенного скрипта для разблокировки средств. При этом вместо хранения индивидуальных адресов используются хеши скриптов, а сами условия подписания раскрываются только в момент проведения транзакции. Современные реализации, такие как MuSig, разработанные на основе подписи Schnorr, предлагают более эффективные схемы, позволяющие участникам агрегировать свои подписи в единое криптографическое доказательство, уменьшая размер транзакций и повышая их конфиденциальность.
Мультиподписи особенно востребованы в организациях и фондах, где требуется коллективное управление активами [8], а также в смарт-контрактах для децентрализованных автономных организаций.
Рассмотрим реализацию мультиподписного кошелька в блокчейне Ethereum с использованием смарт-контракта на языке Solidity, где реализована схема «2 из 3» — три владельца кошелька могут предлагать и утверждать транзакции, но для их исполнения требуется минимум две подписи. В данной реализации каждый из владельцев может предложить транзакцию, после чего другие участники голосуют за ее выполнение. Как только количество подтверждений достигает порогового значения (например, двух из трех), средства отправляются на указанный адрес. Такая схема обеспечивает защиту от компрометации единственного ключа и делает кошелек более устойчивым к атакам.
Таким образом, мультиподписи представляют собой важный элемент безопасности в блокчейн-экосистеме, позволяя реализовать механизмы коллективного управления средствами и защиты от атак, связанных с компрометацией отдельных приватных ключей. Дальнейшее развитие мультиподписных схем направлено на интеграцию более эффективных криптографических алгоритмов, таких как подписи Schnorr, а также их применение в масштабируемых решениях, что позволит повысить безопасность и производительность децентрализованных финансовых приложений.
***
Несмотря на постоянное совершенствование блокчейн-технологий, проблема безопасности не теряет своей актуальности, особенно в контексте децентрализованных финансовых приложений и смарт-контрактов. Статистический анализ атак показывает тенденцию к увеличению числа взломов, что связано как с усложнением архитектуры блокчейн-систем, так и с появлением новых векторов атак [9], таких как MEV-эксплойты и атаки на уровневые протоколы. Однако одновременно наблюдается снижение объема украденных средств, что может свидетельствовать об улучшении механизмов защиты и более строгом аудите смарт-контрактов.
Рассмотренные методы защиты подтверждают свою эффективность на практике, однако требуют дальнейшего развития. В частности, zk-SNARKs сталкивается с проблемой доверенной установки параметров, а мультиподписи нуждаются в гибких схемах управления ключами. Разработка новых криптографических протоколов, внедрение механизмов постквантовой защиты и совершенствование методов анализа уязвимостей представляют собой ключевые направления дальнейших исследований. В частности, необходимо сосредоточиться на автоматизированных инструментах аудита смарт-контрактов, внедрении гибридных механизмов консенсуса, сочетающих преимущества PoW и PoS, а также разработке адаптивных алгоритмов безопасности, способных прогнозировать потенциальные атаки на основе машинного обучения. Эти меры позволят повысить устойчивость блокчейн-систем и обеспечить их надежную работу в долгосрочной перспективе.
Литература
1. Нир Кшетри. Может ли блокчейн защитить Интернет вещей? // Открытые системы. СУБД. — 2017. — № 4. — С. 20–22. URL: https://www.osp.ru/os/2017/04/13053377 (дата обращения: 22.04.2025)
2. Евгений Джамалов, Евгений Еськин. Блокчейн на деле: факторинг // Открытые системы. СУБД. — 2018. — № 1. — С. 30–31. URL: https://www.osp.ru/os/2018/01/13053939 (дата обращения: 22.04.2025).
3. Christidis K., Devetsikiotis M. Blockchains and Smart Contracts for the Internet of Things // IEEE Access. — 2016. — Vol. 4. — P. 2292–2303.
4. Танг Динх, Ми Тай. Искусственный интеллект и блокчейн: идеальная пара [Электронный ресурс] // Открытые системы. СУБД. — 2018. — № 4. — С. 22–25. URL: https://www.osp.ru/os/2018/04/13054611 (дата обращения: 12.05.2025).
5. Александр Болдачев. Миф о консенсусе // Открытые системы. СУБД. — 2019. — № 2. — С. 28–29. URL: https://www.osp.ru/os/2019/02/13054960 (дата обращения: 22.05.2025).
6. Александр Соловьев. Блокчейн: подводные камни // Открытые системы. СУБД. — 2016. — № 4. — С. 20–21. URL: https://www.osp.ru/os/2016/04/13050987 (дата обращения: 22.05.2025).
7. Kosba A., Miller A., Shi E., Wen Z., Papamanthou C. Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts // 2016 IEEE Symposium on Security and Privacy (SP). — 2016. — P. 839–858.
8. Михаил Чеканов, Дмитрий Волков. Практический блокчейн // Открытые системы. СУБД. — 2019. — № 1. — С. 24–27. URL: https://www.osp.ru/os/2019/01/13054746 (дата обращения: 12.05.2025).
9. Сара Мейклджон. Десять барьеров на пути распределенных реестров // Открытые системы. СУБД. — 2018. — № 3. — С. 32–35. URL: https://www.osp.ru/os/2018/03/13054407 (дата обращения: 12.05.2025).
Никита Вилаков (nikitavilakov@mail.ru) — аспирант, Михаил Бочаров (mibocharov@mail.ru) — доцент, департамент анализа данных и машинного обучения, ФГОБУ ВО «Финансовый университет при Правительстве РФ» (Москва).
.jpg)
.jpg)
.jpg)
.jpg)