Проект обновления Solana предполагает удаление долгосрочных несовпадающих ключей не ранее 5 мая 2027 года, что заставит хранителей и биржи, использующие долгоживущие предварительно подписанные транзакции, перестроить свои процессы подписания.
SIMD-0723, поданный 5 ноября разработчиком Anza Гэбом Р., остается черновиком, не объединенным и еще не принятым. Для объединения запроса на слияние требуется одобрение как минимум одного члена команды Anza и одного члена команды Firedancer.
Долговечные nonce позволяют подписанной транзакции оставаться действительной за пределами обычного окна истечения срока в 150 блоков Solana, при условии, что её сохранённое значение nonce не изменилось. Это поддерживает одобрения на компьютерах, находящихся в автономном режиме, или процессах, занимающих больше времени, чем обычное окно транзакции.
5 мая — это наиболее ранняя дата, а не запланированное отключение. Проект спецификации предусматривает шестимесячный период миграции с момента публикации. Рекомендации Solana Foundation описывают удаление примерно через шесть месяцев после готовности заменяющей программы и не указывают дату активации.
Функция была частью атаки 1 апреля на протокол торговли Solana Drift. В своем incident account Drift сообщила, что злоумышленники объединили предварительно подписанные транзакции с долговечными nonce, «позволяющие отложенное выполнение», с скомпрометированными одобрениями мультиподписи, вероятно полученными через социальную инженерию или искажение транзакций. Drift заявила, что две предварительно подписанные транзакции передали административный контроль, позволив злоумышленнику ввести вредоносный актив и убрать лимиты на вывод.
В отчете Drift за 16 апреля украденные активы оцениваются в около 295,7 млн долларов. Атака привела к внедрению плана восстановления на основе токенов. Основной причиной удаления, указанной в проекте Solana, являются повторяющиеся уязвимости безопасности валидаторов и консенсуса, а также спам, связанный с nonce.
Офлайн-подпись переходит в программы
В соответствии с предложением, каждая транзакция должна будет содержать недавний blockhash. Ранее подписанные транзакции с долговечным nonce перестанут работать после активации. Создание, продвижение и обновление nonce-аккаунтов будут отключены, в то время как выводы и изменения полномочий останутся доступными.
В качестве замен предлагаются Anza's Programmatic Signer и Blueshift's Vector. Пользователи переместят права управления и средства на адреса, контролируемые программой, известные как PDAs. Холодный ключ подпишет авторизацию оффлайн; онлайн-релей затем отправит её внутри новой транзакции. Программа проверит подпись и выполнит утверждённые действия.
Бремя миграции распространяется далеко за пределы обновления программного обеспечения для транзакций. В марте в рамках обсуждения с разработчиками Майкл Гуткин из Fireblocks заявил, что компания управляет инфраструктурой подписывания для миллионов адресов Solana. Он поддержал идею отказа от долгосрочных nonce, но отметил, что замена, требующая полной миграции аккаунтов без моста совместимости, потребует как минимум 12 месяцев при институциональном масштабе.
Программы замены также изменяют значение неудачного перевода. Проект предупреждает, что «неудачная отправка не является отменой»: авторизация может остаться пригодной для использования даже после неудачного выполнения, в отличие от транзакции с постоянным номером, чей номер расходуется при неудаче.
Документация Programmatic Signer говорит, что она развернута на Devnet, и перед первым развертыванием на мейннете требуются аудит и устранение недостатков.




