Через використання невідомим помилки масштабне оновлення Ethereum відклали
Блокчейн-мережа Ethereum зіткнулася з технічними проблемами під час великого оновлення Pectra, що було розгорнуто у тестовій мережі Sepolia 5 березня 2025 року. Невідомий зловмисник виявив вразливість, яка змусила розробників внести «приватне виправлення», щоб стабілізувати роботу мережу.
Майже після запуску почались помилки у geth-вузлах
За словами одного з Ethereum-розробників Маріуса ван дер Вейдена, проблема полягала в тому, що контракт депозиту надсилав непередбачувану подію — переказ замість депозиту. Це змушувало вузли відхиляти транзакції та генерувати лише пусті блоки. Ця помилка була пов’язана з EIP-6110 (Ethereum Improvement Proposal 6110, що спрощує депозити валідаторів Ethereum), який вимагав уніфікованої обробки всіх логів контракту депозиту. Команда geth випустила виправлення, яке ігнорувало всі помилкові логи, але розробники проігнорували особливий випадок, який стосувався стандарту ERC-20. Він не забороняє перекази нульової кількості токенів, що дозволяє будь-кому (навіть без наявності токенів) надсилати такі транзакції. Невідомий зловмисник скористався цим, щоб багаторазово надсилати нульові перекази на контракт депозиту, що викликало повторювані помилки та призвело до добування пустих блоків.
Видобування пустих блоків знижує ефективність мережі, оскільки вони не містять корисних транзакцій, а лише заголовок і службову інформацію. Але мережа витрачає ресурси на їх обробку без фактичного прогресу у виконанні транзакцій. Пусті блоки також збільшують затримку їх підтвердження. А майнери та валідатори втрачають комісійні збори.
Розробники виявили, що винуватцем став новостворений акаунт, поповнений через публічний кран. Щоб зупинити атаку, вони розгорнули «приватне виправлення» для обраних DevOps-вузлів, які контролювали близько 10% мережі.
Після впровадження виправлення вузли відновили виробництво нормальних заповнених блоків, і ланцюг почав функціонувати нормально. Проблема зачепила лише тестову мережу Sepolia.
Через виявлену вразливість оновлення Pectra відтермінували, щоб продовжити подальше тестування та усунення можливих вразливостей.
Pectra має покращити стейкінг ETH, масштабованість проєктів другого рівня та загальну пропускну здатність мережі. Оновлення включає 11 пропозицій щодо поліпшення мережі Ethereum (EIP) і є першим великим оновленням після Dencun, яке запущено у березні 2024 року.
Спочатку розробники планували розгорнути Pectra у головній мережі Ethereum 8 квітня, за умови успішного оновлення тестових мереж Holesky та Sepolia. Однак перший запуск Holesky 24 лютого теж пройшов з технічними проблемами.
Джерело: Marius van der Wijden