Цю статтю зібрав і впорядкував BlockWeeks
Гейб Родрігес з Anza, основної команди розробників клієнта валідатора Solana, 5 листопада подав Документ покращення Solana (SIMD), що є офіційною процедурою внесення змін до протоколу мережі. Пропозиція планує офіційно скасувати механізм довговічного nonce.
Так званий довговічний nonce — це збережене значення, що зберігається в спеціальному обліковому записі й використовується для заміни «останнього хешу блоку» — тобто короткочасного посилання на блок, яке зазвичай несе кожна транзакція Solana. Його мета — дозволити підписати транзакцію зараз і транслювати її в ланцюжок значно пізніше.
Що саме змінює SIMD-0723
Згідно з SIMD-0723, після активації цієї зміни «кожна транзакція повинна нести останній хеш блоку». І це посилання втрачає чинність після 150 блоків, після чого транзакцію більше не можна розмістити в ланцюжку. Інструкції у вбудованій системній програмі Solana, що використовувалися для ініціалізації, просування та оновлення облікових записів nonce, будуть вимкнені; дві інструкції, які дозволяють власникам облікових записів виводити кошти або перепризначати контроль, залишаться доступними. Існуючі облікові записи не будуть змінені.
Подання від 6 листопада додало графік: вікно міграції щонайменше шість місяців, що відраховується від дати подання 5 листопада; чернетка прямо зазначає, що ця функція «не буде активована в mainnet-beta (основній мережі Solana) до 2027-05-05». Статус пропозиції наразі все ще чернетка, і відповідний pull request ще не отримав жодного схвалення. Бот у репозиторії перелічив умови, необхідні для злиття: схвалення від одного члена команди Anza та одного члена команди Firedancer від Jump Crypto (яка відповідає за інший незалежний клієнт валідатора).
Кастодіальні установи та біржі названі
Чернетка зазначає, що будь-яка організація, яка підписує транзакцію зараз, але транслює її лише після закінчення 150 блоків, повинна повторити процес; і вона окремо вказує на кастодіальні установи та біржі, чиї процеси схвалення на ізольованих від мережі (air-gapped) машинах можуть тривати довше цього вікна.
У січні цього року під час початкового обговорення один учасник назвав ключі, що контролюють права на випуск USDC та USDT (тобто повноваження на карбування), одним із важливих користувачів цієї функції. Майкл Гуткін з Fireblocks написав у березні, що компанія «керує мільйонами гаманців Solana» і вважає, що «скасування довговічного nonce, схоже, є правильним напрямком». Але він додав, що якщо немає сумісного мосту для міграції облікових записів (наприклад, рішення, яке обгортає попередньо підписані транзакції), «ми вважаємо, що в інституційному масштабі 12 місяців є мінімально життєздатним періодом». SIMD-0723 відхилив таке рішення з обгортанням і пропонує лише щонайменше шість місяців.
Офіційно запропоновано дві альтернативи
Пропозиція вказує на два альтернативні шляхи: Programmatic Signer від Anza та Vector від Blueshift. В обох рішеннях власник облікового запису делегує повноваження адресі, похідній від програми (PDA) — обліковому запису, яким керує програма, а не приватний ключ — потім підписує авторизацію офлайн і передає підпис третій стороні (релеєру), а програма перевіряє підпис у ланцюжку транзакція за транзакцією перед виконанням інструкції.
Станом на 9 листопада автор чернетки Родрігес подав 136 комітів до репозиторію Programmatic Signer, що, згідно з даними про контриб'юторів GitHub, є найбільшим показником серед кількох контриб'юторів. Чернетка також попереджає: «невдале подання не є відкликанням».
Історія невдач і екстремальна концентрація комісій
SIMD цитує низку випадків невдач, зокрема інцидент 2022 року: валідатори обробили невдалу транзакцію одночасно як через стандартний шлях хешу блоку, так і через шлях nonce, що спричинило зупинку основної мережі приблизно на 4,5 години.
Дані, опубліковані Максом Ресніком у червні, показали, що протягом певної епохи (фіксованого інтервалу блоків Solana) транзакції nonce становили близько 3,1% усіх транзакцій, але при цьому забезпечували близько 30% пріоритетної комісії (тобто необов'язкових чайових, що використовуються для прискорення обробки). За його статистикою, серед 103 672 облікових записів, які сплачували комісії за транзакції nonce, 555 облікових записів забезпечили 97,5% з них.
Тінь інциденту з Drift
Варто зазначити, що повний текст SIMD не згадує Drift. Ця біржа безстрокових контрактів, за її власними даними, втратила близько 295,7 мільйона доларів 1 квітня, і у своєму плані відновлення вона назвала поверхню атаки з використанням довговічних nonce "ключовою частиною того, чому експлойт 1 квітня вдалося здійснити". Раніше з'являлися повідомлення, що припускали можливий зв'язок інциденту з Північною Кореєю, а Drift також опублікувала умови подання заявок, пов'язаних із токенами відновлення.
Шестимісячний відлік і накопичений тиск оновлень
Ключове питання полягає в тому, що шестимісячний відлік починається з дати публікації чернетки, а не з дати, коли альтернативи будуть готові. Станом на 9 листопада репозиторій Programmatic Signer досі позначений як "у процесі розробки".
Це означає, що кастодіани повинні просувати цю міграцію, одночасно маючи справу з іншими нещодавніми ключовими змінами, такими як перехід на консенсус Alpenglow і зміна, що розширює ліміт транзакції до 4096 байтів.





