

Схема подписи SIGHASH_NONE является критической уязвимостью для механизма подписания транзакций при неправильном внедрении в ARC-20 PBST. Изначально этот тип подписи предназначен для гибкой компоновки транзакций, однако отсутствие должной валидации со стороны разработчиков привело к серьезному дефекту безопасности. В отличие от других типов хэшей, фиксирующих выходы транзакции, SIGHASH_NONE не связывает подпись ни с одним выходом, что позволяет злоумышленникам изменить получателя после подписания. В реализации ARC-20 PBST недостаточная проверка этого режима дала возможность неавторизованным лицам менять параметры транзакции и перенаправлять средства пользователей на вредоносные адреса. Зафиксированные случаи в истории криптовалют показывают, что халатное обращение с SIGHASH_NONE приводило к крупным потерям средств. Уязвимость возникла из-за расхождения между предположениями разработчиков о неизменности транзакций и реальными криптографическими гарантиями SIGHASH_NONE. Чтобы снизить такие риски в ARC-20 и подобных протоколах, разработчикам следует полностью избегать применения SIGHASH_NONE, если оно не необходимо, внедрять строгие проверки процедуры подписания и регулярно проводить аудит безопасности кода PBST. Знание этой уязвимости обязательно для специалистов, занимающихся разработкой и аудитом протоколов смарт-контрактов.
В споре внутри экосистемы Atomicals четко проявляется отличие между недостатками архитектуры протокола и ошибками реализации. Недостатки ARC-20 возникли из фундаментальных ограничений модели UTXO в Bitcoin, где активы не имеют смарт-контрактных возможностей, как в протоколах Ethereum. Сам протокол Atomicals оказался уязвим к PBST, и пользователи теряли токены из-за некорректной архитектуры спецификаций для сложных транзакций. Однако более существенные потери вызвали ошибки реализации на площадке Atomicals Market, а не изъяны дизайна ARC-20. Операторы площадки усугубили ограничения протокола, подписывая транзакции с SIGHASH_NONE, что открыло новые векторы атак и использовало слабые стороны модели UTXO. Это различие подчеркивает основной принцип безопасности: даже хорошо спроектированные токен-протоколы становятся уязвимыми при небрежной реализации платформ. Инцидент на Atomicals Market наглядно показывает, что ошибки обработки ARC-20-токенов могут привести к большим потерям пользователей, чем изъяны самого протокола. Понимание этой разницы критично при оценке токен-систем на базе Bitcoin, где ограничения дизайна существенно отличаются от архитектуры смарт-контрактов Ethereum.
Торговая экосистема ARC-20 уязвима из-за зависимости от централизованных бирж. При временной блокировке крупных площадок — по техническим причинам, на время обслуживания или из-за регуляторных требований — ликвидность ARC-20-токенов резко падает. Эта инфраструктурная хрупкость указывает на ключевую проблему: экосистема не располагает достаточными децентрализованными альтернативами для поддержания объема торгов во время перебоев, что приводит к неликвидности для инвесторов.
Централизованная зависимость ARC-20-рынков создает дополнительные риски, выходящие за рамки просто простоя. Сосредоточение потока ордеров на немногих биржах означает, что технические сбои отдельных площадок сразу отражаются на протоколе. Историка показывает: при закрытии основных торговых площадок волатильность ARC-20 резко возрастает, а розничные участники сталкиваются с проскальзыванием свыше 15–20 процентов. Такой централизованный узел превращает операционные сбои в экономические потери для всей экосистемы токена.
Причина проблемы — недостаточная децентрализованная инфраструктура для торговли ARC-20-токенами. Большая часть объема торгов сосредоточена на централизованных платформах, поэтому стабильность токена зависит от точек отказа. Разработчикам протоколов необходимо создавать альтернативные источники ликвидности и стимулировать использование децентрализованных бирж. Без архитектурных изменений временные блокировки бирж будут продолжать дестабилизировать торговую экосистему ARC-20.
К основным уязвимостям ARC-20 относятся атаки повторного входа, переполнение/недостаток целых чисел и недостаточный контроль доступа. Эти дефекты позволяют проводить несанкционированные переводы и манипулировать логикой контрактов, представляя серьезную угрозу безопасности протокола и средств пользователей.
Атака повторного входа эксплуатирует контракты, вызывающие внешние контракты до обновления состояния, что позволяет злоумышленнику повторно войти и вывести средства. Для защиты применяются механизмы блокировки повторного входа, паттерн проверки-последствий-порядка и блокировка состояния для последовательного выполнения.
Проводите полный аудит смарт-контрактов с помощью автоматизированных средств и ручной экспертной проверки кода для выявления уязвимостей — таких как повторный вход, переполнение целых чисел и DoS-атаки. Следуйте процессу: первичная оценка, автоматизированный анализ, ручной аудит, подробный отчет и устранение дефектов с повторным аудитом перед запуском.
ARC-20 функционирует на блокчейне Bitcoin и обладает более высокой степенью безопасности и децентрализации по сравнению с ERC-20 на Ethereum. Протокол исключает уязвимости масштабируемости и избегает рисков кроссчейн-мостов, обеспечивая более надежную защиту токен-протокола.
Уязвимости переполнения/недостатка возникают, когда арифметические операции превышают пределы типа данных, вызывая ошибку вычислений. Это ведет к некорректным расчетам активов, обходу разрешений и потере контроля над логикой контракта. В Solidity 0.8.0+ переполнение приводит к откату транзакции. Для отключения защиты используется ключевое слово unchecked.
Front-running — это когда трейдеры отправляют транзакции раньше крупных ожидающих, чтобы получить выгоду от ценовых изменений. Это нарушает справедливость и безопасность транзакций, позволяя злоумышленникам манипулировать ценой токена и проводить выгодные сделки до обычных пользователей.
Проверьте код смарт-контракта на уязвимости, подтвердите отчеты сторонних аудиторов от авторитетных компаний, оцените прозрачность проекта, квалификацию и опыт команды, а также отзывы сообщества и историю внедрения.











