Мільйон за транзакцію: як оновлення Ethereum стало зброєю шахраїв

Мільйон за транзакцію: як оновлення Ethereum стало зброєю шахраїв
Коли гаманець стає смартконтрактом: нова ера ризиків у блокчейні Ethereum

22 серпня було зафіксовано крадіжку майже $1 млн у токенах та NFT. Користувач підписав транзакцію, що виглядала як звичайний своп на Uniswap. Жодних очевидних ознак небезпеки не було: інтерфейс відображав стандартну операцію, очікувану та зрозумілу. 

Ця стаття була перекладена з оригіналу. Читайте оригінальну версію від нашого кореспондента тут.

Проте замість обміну відбулася прихована дія. Гаманець отримав тимчасові «оновлені» права за стандартом EIP-7702, і цього вистачило, щоб усі активи в один крок опинилися на рахунках шахраїв. Цей випадок став першим гучним сигналом того, що нові стандарти Ethereum, які розробляються для зручності та ефективності, можна перетворити на інструменти фішингу.

Що таке EIP-7702

EIP-7702 — це пропозиція вдосконалення протоколу Ethereum, яка змінила саму природу взаємодії з мережею. Традиційно в Ethereum існували два типи акаунтів. Перший — звичайний гаманець (EOA), який просто підписує транзакції за допомогою приватного ключа. Другий — смартконтракт, що має власний код і може виконувати складні сценарії.

Запровадження EIP-7702 дало змогу поєднати ці дві моделі. Звичайний гаманець отримує можливість тимчасово поводитися як смартконтракт, а значить, у межах однієї транзакції можна виконати одразу кілька дій. Для користувача це виглядає як спрощений варіант так званої account abstraction: більше не потрібно підписувати кожну дію окремо й платити за десятки транзакцій, достатньо одного підтвердження, щоб здійснити цілий сценарій.

Як це працює на технічному рівні

У класичній моделі EOA все зводилося до простих дій — переказів або викликів функцій у смартконтракті. У випадку з EIP-7702 гаманець завантажує тимчасовий код, який виконується лише протягом однієї транзакції. Цей код може містити послідовність різних інструкцій: наприклад, спочатку провести обмін на децентралізованій біржі, потім відправити частину отриманих токенів на іншу адресу й паралельно взаємодіяти з протоколом ліквідності.

Після завершення транзакції тимчасовий код зникає, і акаунт повертається у свій звичний стан. Такий підхід справді розв’язує чимало проблем, роблячи DeFi-операції зручнішими й дешевшими. Але саме ця гнучкість і стала підґрунтям для нових атак.

Чому гаманці не попереджають про небезпеку

Основна причина полягає в тому, що транзакції з EIP-7702 технічно виглядають як звичайне оновлення коду. Інтерфейс гаманця отримує лише загальну інформацію: користувач підписує транзакцію, яка містить initCode, і цей код виконується в межах блоку. Самі по собі ці дані не містять очевидного сигналу небезпеки. Гаманець не розпізнає, що саме в цьому коді прихована команда «передати всі токени».

Ще одна складність у тому, що цей стандарт новий, і більшість клієнтів та гаманців ще не розуміють логіку EIP-7702. У випадку класичних транзакцій гаманець може показати «ви надсилаєте 2 ETH на адресу Х», але у випадку 7702 він бачить лише загальний набір інструкцій, який в реальному часі виконуватиметься у віртуальній машині. Щоб пояснити це користувачу, потрібна складна інтеграція і фактично окремий аналізатор коду, якого поки не існує в масових рішеннях.

У підсумку користувач бачить лише «звичний своп» або «approve», тоді як реальна логіка транзакції залишається прихованою. Цей розрив між технічною складністю й візуальним відображенням і створює ідеальне поле для зловживань.

EIP-7702 не виник на порожньому місці. Ethereum уже давно рухається в напрямку account abstraction, де різниця між гаманцем і смартконтрактом стирається. Попередні кроки, зокрема EIP-4337, винесли обробку транзакцій у спеціальні «bundlers». 

Нова пропозиція стала спрощеним, але більш радикальним варіантом, де логіка виконується безпосередньо в акаунті користувача, без додаткових проміжних рівнів. Це зробило транзакції ефективнішими, проте відкрило й нові можливості для атак.

Баланс між інновацією та ризиком

Випадок із втратою $1 млн ілюструє парадокс розвитку Ethereum. Кожне нове вдосконалення відкриває простір для зручності та гнучкості, але водночас створює новий рівень небезпеки. Розробники мріяли про мультиопераційні транзакції й дешевші DeFi-сценарії, а по факту отримали витончений фішинг.

EIP-7702 відкрив нову еру для Ethereum, у якій звичайний гаманець може на кілька секунд стати смартконтрактом. Це крок до універсальної моделі акаунтів, але водночас нагадування, що інновація завжди йде поруч із ризиком. Там, де розробники бачать ефективність, шахраї знаходять спосіб вивести мільйони одним підписом.

Цей матеріал може містити думки третіх сторін, жодні дані та інформація на цій веб-сторінці не є інвестиційною порадою згідно з нашим Застереженням. Хоча ми дотримуємося суворої Редакційної неупередженості, цей пост може містити посилання на продукти наших партнерів.