Разработчики Solana намерены устранить техническую функцию, которая в начале этого года стала основным способом осуществить эксплойт на 270 миллионов долларов. Эта функция, известная как долговременные nonce, существует в сети уже много лет, однако возможность сохранять транзакции действительными неограниченное время создала окно возможностей для злоумышленников, позволив им в апреле опустошить торговый протокол Drift.

Официальное предложение об отказе от этой функции было подано 5 ноября 2026 года. Если его одобрят, крупным биржам и кастодианам придётся пересмотреть подход к обеспечению безопасности при перемещении крупных объёмов криптовалюты. Хотя изменение призвано защитить сеть от подобных эксплойтов, оно лишит пользователей инструмента, на который полагается небольшая, но щедро оплачивающая услуги группа пользователей для управления офлайн-подписями.

Эксплойт Drift

В апреле злоумышленники, связанные с северокорейскими государственными группами, атаковали Drift Protocol — децентрализованную торговую платформу. Им удалось похитить не менее 270 миллионов долларов [1]. Кража не была связана с обычным флеш-кредитом или типичной ошибкой в смарт-контракте. Вместо этого злоумышленники использовали долговечные nonce, чтобы обойти стандартные ограничения по времени для транзакций Solana.

Большинство транзакций в сети связано с недавним хешем блока. Он служит временной меткой. Поскольку Solana теперь обрабатывает блоки каждые 200 миллисекунд, срок действия стандартных транзакций истекает примерно через 30 секунд [1]. Если транзакция не обработана за это время, она становится недействительной. Это предотвращает повторное использование старых подписей позднее, если условия в сети изменятся.

Злоумышленники, атаковавшие Drift, выбрали другой путь. Они заранее получили подписанные разрешения и оставили транзакции бездействовать более чем на неделю [1]. Поскольку в этих транзакциях использовался механизм долговечных nonce, срок их действия не истекал. 1 апреля злоумышленники отправили заранее подписанные транзакции в сеть и опустошили платформу [1]. Возможность сохранять действительность подписанной инструкции в течение дней или недель — именно то, что призвано устранить новое предложение.

Технические детали

Суть проблемы заключается в том, как Solana обрабатывает истечение срока действия транзакций. В обычных условиях каждая транзакция должна содержать метку из недавнего блока. Это гарантирует, что состояние сети на момент подписания будет относительно близко к состоянию на момент выполнения.

Долговечные nonce были разработаны для решения конкретной проблемы пользователей, которые не могут немедленно отправить транзакцию в сеть после ее подписания. Это обычное требование для кастодианов и крупных бирж, использующих подписание в изолированной от сети среде. В таких системах компьютер с закрытыми ключами никогда не подключен к интернету. Человек должен вручную перенести данные транзакции с автономного компьютера на подключенный к сети. Если этот процесс занимает более 30 секунд, срок действия стандартной транзакции Solana истечет еще до того, как она попадет в сеть.

Долговечные nonce заменяют стандартный хеш блока уникальным значением, хранящимся в определенном аккаунте блокчейна. Пока этот аккаунт остается неизменным, подписанная транзакция сохраняет действительность. По сути, срок действия транзакции становится неограниченным, пока она не будет выполнена или nonce не будет изменен вручную. Хотя это обеспечивает гибкость при проведении операций с повышенными требованиями к безопасности, одновременно исчезает защитный механизм в виде истечения срока действия, который оберегает большинство пользователей от отложенных эксплойтов.

График рассмотрения предложения

Работу по удалению этой функции возглавляет Гейб Родригес, инженер компании Anza. Anza отвечает за поддержку основного программного обеспечения валидаторов, используемого сетью Solana. Родригес подал предложение, известное как SIMD-0723, 5 ноября 2026 года [1].

В предложении утверждается, что долговечные nonce годами были источником ошибок и нестабильности. Помимо взлома Drift, в документе упоминается инцидент 2022 года, когда неудавшаяся транзакция одновременно прошла по стандартному пути с хешем блока и по пути с nonce. Эта ошибка привела к остановке основной сети Solana примерно на 4,5 часа [1].

Согласно текущему проекту предложения, эту функцию отключат в основной сети beta не ранее 5 мая 2027 года [1]. Такой график должен дать пользователям не менее шести месяцев на перенос своих систем. Однако Solana Foundation сообщила, что отсчет может начаться только после того, как будет полностью готова работоспособная замена долговечным nonce. Если создание замены задержится, окончательная дата отключения может сдвинуться на более поздний срок в 2027 году.

Для продвижения предложения необходимо техническое одобрение как минимум двух ключевых сторон. Один инженер из Anza и один инженер из команды Firedancer должны одобрить изменения, прежде чем их можно будет включить в код сети [1]. Firedancer — это независимая реализация клиента валидатора, разрабатываемая Jump Crypto; ее одобрение является стандартным требованием для существенных изменений протокола.

Затронутые пользователи

Хотя долговечные nonce — нишевая функция, на них приходится значительная доля экономической активности сети. По данным исследователя Макса Резника, в июне на транзакции с долговечными nonce приходилось лишь около 3% трафика Solana за период наблюдений [1]. Однако на эти транзакции пришлось 30% всех приоритетных комиссий, уплаченных валидаторам за тот же период [1].

Приоритетные комиссии — это чаевые, которые пользователи добавляют к своим транзакциям, чтобы обеспечить их быструю обработку. Тот факт, что 3% трафика обеспечивают 30% комиссий, говорит о том, что пользователями долговечных nonce часто являются крупные институциональные игроки или автоматизированные системы, для которых скорость и надежность важнее затрат.

Данные также показывают, что использование этой функции сильно сконцентрировано. На 555 отдельных аккаунтов приходилось 97,5% всех транзакций с долговечными nonce [1]. Часть этой активности связана со «спамом долговечными nonce»: пользователи эксплуатируют функцию, чтобы наводнять сеть транзакциями с длительным сроком действия. Остальная часть приходится главным образом на кастодианов и биржи, использующие подписание в изолированной от сети среде. После отключения функции этим 555 аккаунтам придется искать новый способ работы.

Будущие альтернативы

Отказ от долговечных nonce не означает, что подписание в изолированной от сети среде станет невозможным в Solana. Вместо этого разработчиков побуждают использовать для обработки подписей программы в блокчейне. В предложении рассматриваются два основных варианта: Programmatic Signer от Anza и Vector от Blueshift [1].

Эти программы выполняют роль посредников. Вместо того чтобы транзакция была действительна сама по себе, ее отправляют программе, которая проверяет автономную подпись на соответствие определенным правилам, записанным в блокчейне. Это позволяет увеличить время на подписание, не подвергая сеть тем же типам ошибок блокировки аккаунтов, которые связаны с nonce.

Однако эти новые методы сопряжены с собственными рисками. В проекте предложения предупреждается, что неудачное выполнение в этих новых программах может оставить разрешение действительным [1]. В старой системе при сбое транзакции nonce обычно использовался или срок действия хеша блока истекал. В предлагаемых заменах неудачная отправка не равнозначна отзыву разрешения. Сотрудники кастодиальной службы, увидев, что перевод не прошел, не могут автоматически считать разрешение недействительным. Им может потребоваться предпринять дополнительные действия, чтобы гарантировать, что подпись нельзя будет использовать повторно.

Ранее Solana Foundation объявила о плане отказаться от этой функции в октябре, но SIMD-0723 впервые устанавливает конкретные сроки перехода. Сейчас предложение ожидает технической проверки командами Anza и Firedancer.

Источники

1. CoinDesk, Solana намерена отказаться от функции транзакций, использованной при взломе Drift на 270 миллионов долларов, https://www.coindesk.com/tech/2026/11/09/solana-moves-to-scrap-the-transaction-feature-used-in-the-usd270-million-drift-hack

Графики и полный список источников: https://amk.news/article/solana-to-scrap-transaction-feature-after-270m-drift-hack