Solidity 0.8.38 виправляє помилку оптимізатора Yul і покращує компіляцію
Solidity 0.8.38 виправляє помилку низького рівня серйозності в оптимізаторі Yul, яка могла призводити до некоректної заміни результатів завантаження або видалення необхідних записів у сховище та пам’ять під час повторного присвоєння змінних, пов’язаних з адресами. Проблема стосувалася версій Solidity від 0.8.19 до 0.8.37 за ввімкненого оптимізатора Yul; у примітках до випуску зазначено, що доказів експлуатації помилки немає. Тестування контрактів, верифікованих у Sourcify, не виявило змін байткоду, що свідчить про рідкісність помилки, хоча її міг спричинити звичайний код Solidity без вбудованого асемблера.
Випуск Solidity 0.8.38 також прискорює компіляцію з оптимізацією Yul завдяки підвищенню продуктивності DataFlowAnalyzer і заощаджує одну інструкцію в диспетчері функцій IR. Він готує ґрунт для майбутніх змін EVM в Амстердамі та попереджає, що ідентифікатори Yul swapn, dupn і exchange стануть зарезервованими словами. Серед інших оновлень — зміни інтерфейсу командного рядка та стандартного JSON-інтерфейсу, додаткові виправлення й видалення експериментальних вихідних даних Yul CFG. Випуск компілятора доступний на GitHub. Виправлення безпеки важливе для розробників смартконтрактів та інфраструктури Ethereum, однак сам випуск не свідчить про прямі зміни фундаментальних чинників ринку ETH.
Neutral
Цей реліз усуває проблему безпеки компілятора та підвищує швидкість компіляції, але в жодному з двох оглядів не повідомляється про використання вразливості, масштабні зміни байткоду чи негайний вплив на активність мережі Ethereum. Тому прямий вплив на ціну ETH, імовірно, буде обмеженим. У короткостроковій перспективі розкриття інформації може спонукати розробників перевірити версії компілятора й оновити проєкти, яких це стосується. Трейдери можуть приділити цьому мало уваги, якщо не з’являться докази компрометації вже розгорнутих контрактів. У довгостроковій перспективі виправлення помилки оптимізатора та вдосконалення інструментів можуть зміцнити довіру до екосистеми розробки Ethereum. Однак оновлення компілятора самі по собі не є сильним каталізатором, що визначає напрямок ціни; на торгівлю, найімовірніше, більше впливатимуть загальні ринкові умови, потоки ETH, використання мережі та регуляторні зміни. Загалом цю новину найкраще оцінити як нейтральну для ETH.