Solana готовится отказаться от долгосрочных Nonce: в будущем транзакции будут полагаться только на хеш последнего блока.
Сообщество Solana предложило изменить протокол: убрать механизм долгосрочных Nonce и использовать хеш последнего блока (Recent Blockhash) для защиты транзакций от повторного выполнения.
Сопутствующие изменения также предусматривают отключение группы инструкций системной программы, связанных с инициализацией, продвижением и обновлением учетных записей Nonce.
Зачем менять этот механизм?
Изначально Nonce должны были решить проблему истечения срока действия транзакций: обычные транзакции Solana зависят от хеша недавнего блока, поэтому после окончания срока действия их уже нельзя отправить; долгосрочные Nonce позволяют транзакциям оставаться действительными дольше и одновременно предотвращают их повторное выполнение.
Однако это также означает, что протоколу приходится постоянно поддерживать дополнительное состояние учетных записей и логику инструкций.