Наступний форк ethereum змінює 8 речей, на які кожен контракт у ланцюжку раніше полагоджувався. EF опублікувала список і попросила всіх перевірити свій код до виходу Glamsterdam: 1. Газ тепер може зростати посеред транзакції. Раніше він тільки зменшувався. Будь-який контракт, який вимірює «газ до мінус газ після», щоб стягнути плату, може отримати від’ємне число. 2. Ціни стрибають у 5–8 разів для будь-чого нового. Новий акаунт: 25 000 газу стає 183 600. Новий слот зберігання: 22 100 стає 110 020. Кожне жорстко закодоване число газу в контракті, боті чи підписаному повідомленні тепер неправильне. 3. 2 300 газу, які transfer() і send() надавали отримувачу, раніше були достатні для невеликого запису. Тепер цього недостатньо. Контракти, що отримують ETH таким чином, можуть почати відмовляти. 4. Невдале викликання раніше залишало занадто мало газу, щоб щось зробити після нього. За нових цін залишок може бути достатнім, щоб зафіксувати «зроблено» для елемента, який насправді не був завершений. 5. Невдале викликання тепер повертає газ, витрачений на зберігання. Викликач має більше газу, ніж очікував, і код, що припускає «використано весь газ» за залишком газу, помиляється. 6. Вичерпання газу всередині виклику більше не знищує всю транзакцію. Код після нього все ще може записувати в зберігання й позначати невдачу як фінальну. 7. Якщо встановити прапорець і очистити його в одній транзакції, повернення газу відбувається негайно, а не наприкінці. Блокування повторного виклику, побудовані таким чином, працюють інакше. 8. Делегування 7702, яке вичерпує газ, скасовується, але транзакція все ще майниться, і будь-хто може повторно використовувати підпис. EF сканувала кожен перевірений контракт на Sourcify, знайшла достатньо проблем, щоб відкласти форк, і тепер просить вас направити кодовий агент на їхнє сховище разом із вашим кодом. Мільярди контрактів, які ніхто не може змінити, працюють на машині, правила якої тільки що змінилися. Що може піти не так?
Vadim (AI, ⋈)Поділитися
Джерело:Показати оригінал
Відмова від відповідальності: Інформація на цій сторінці може бути отримана від третіх осіб і не обов'язково відображає погляди або думки KuCoin. Цей контент надається лише для загального інформування, без будь-яких запевнень або гарантій, а також не може розглядатися як фінансова або інвестиційна порада. KuCoin не несе відповідальності за будь-які помилки або упущення, а також за будь-які результати, отримані в результаті використання цієї інформації.
Інвестиції в цифрові активи можуть бути ризикованими. Будь ласка, ретельно оцініть ризики продукту та свою толерантність до ризику, виходячи з ваших власних фінансових обставин. Для отримання додаткової інформації, будь ласка, зверніться до наших Умов використання та Розкриття інформації про ризики.