Ethereum-розробники виявили втручання в розгортання Pectra на Sepolia
Проблеми з активацією 5 березня хардфорка Pectra в тестнеті Sepolia ускладнили ситуацію, викликавши дії зловмисника. Про це повідомив розробник Ethereum Маріус ван дер Вейден.
I wrote up the story of the Pectra incident on Sepolia, its an interesting story about edge cases, coordination and an attacker who swooped in and made our lives much harder!
Check it out (4min read): https://t.co/0ezGnm0Z8j
— MariusVanDerWijden (@vdWijden) March 9, 2025
Після впровадження оновлення клієнт Geth команди програміста почав сигналізувати про помилки та добувати пусті блоки. Збої виникли через некоректне генерування події депозитного контракту. На нього було надіслано тестову транзакцію для перевірки можливості зняття коштів.
Розробники створили патч і приблизно через три з половиною години скоординовано його розгорнули. Проте, мережа незабаром знову почала генерувати порожні блоки. Програмісти виявили ще одну проблемну транзакцію, яка також спричинила аналогічну помилку.
На думку ван дер Вейдена, спочатку вони вважали, що хтось із надійних валідаторів допустив помилку. Але, як з’ясувалося, транзакція була виконана з новоствореного, нещодавно поповненого рахунку.
Розробник підкреслив, що зловмисник скористався прикордонним випадком, який вони пропустили. Стандарт ERC-20 дозволяє будь-якому користувачу здійснювати нульові перекази на інші адреси, навіть якщо токени відсутні. Нападник знову викликав збій аналогічною транзакцією.
Команда Ethereum запідозрила, що зловмисник стежить за деякими їхніми чатами, тому вирішила провести оновлення без зайвого розголосу.
«Єдиний спосіб зупинити атаку – відфільтрувати всі транзакції, які взаємодіють з депозитним контрактом. Тому ми виконали приватне виправлення, яке розгорнули на кількох власних нодах», – пояснив ван дер Вейден.
Ці вузли становили приблизно 10% мережі, що забезпечило можливість знову пропонувати повні блоки та використовувати тестнет для подальшого скоординованого виправлення.
«Ми не втрачали фіналізацію під час інциденту. Як вже зазначалося раніше, проблема виникла лише на Sepolia, оскільки ми використовуємо депозитний контракт із токен-замком на відміну від основної мережі», – додав розробник.
Нагадаємо, команда планує активацію Pectra в мейннеті Ethereum на початку квітня.
Апгрейд Pectra: на шляху до масштабування і масового прийняття Ethereum