Tweet został usunięty przez autora.
Ale wszystko zapisaliśmy 🙂.
22 sierpnia odnotowano kradzież prawie 1 miliona dolarów w tokenach i NFT. Użytkownik podpisał transakcję, która wyglądała jak zwykła wymiana na Uniswap. Nie było żadnych oczywistych oznak niebezpieczeństwa: interfejs wyświetlał standardową, oczekiwaną operację. Ale zamiast wymiany miała miejsce ukryta akcja. Portfel otrzymał tymczasowe "ulepszone" prawa w ramach standardu EIP-7702 i to wystarczyło, aby wszystkie aktywa zostały przeniesione jednym ruchem na konta oszustów.
Ten artykuł został przetłumaczony z oryginału. Przeczytaj oryginalną wersję przygotowaną przez naszego korespondenta tutaj.
Przypadek ten stał się pierwszym głośnym sygnałem, że nowe standardy Ethereum, opracowane z myślą o wygodzie i wydajności, mogą zostać przekształcone w narzędzia do phishingu.
EIP-7702 to propozycja ulepszenia Ethereum, która zmieniła samą naturę interakcji z siecią. Tradycyjnie Ethereum miało dwa rodzaje kont. Pierwszym z nich było konto zewnętrzne (EOA), zwykły portfel, który po prostu podpisuje transakcje kluczem prywatnym. Drugim było konto kontraktowe, które zawiera kod i może wykonywać złożone scenariusze.
Wprowadzenie EIP-7702 pozwoliło na połączenie tych dwóch modeli. Zwykły portfel zyskał możliwość tymczasowego zachowywania się jak inteligentny kontrakt, co oznacza, że w ramach jednej transakcji może wykonywać kilka działań jednocześnie. Dla użytkownika wygląda to jak uproszczona wersja tzw. abstrakcji konta: nie trzeba podpisywać każdej akcji osobno i płacić za dziesiątki transakcji. Pojedyncze potwierdzenie może zakończyć cały scenariusz.
Wyświetl post na X Ładowanie...
W klasycznym modelu EOA działania ograniczały się do prostych przelewów lub wywoływania funkcji w inteligentnym kontrakcie. W przypadku EIP-7702 portfel ładuje tymczasowy kod, który działa tylko przez czas trwania jednej transakcji. Kod ten może zawierać sekwencję różnych instrukcji: na przykład najpierw wykonać swap na zdecentralizowanej giełdzie, następnie wysłać część tokenów na inny adres i jednocześnie wejść w interakcję z protokołem płynności.
Po zakończeniu transakcji tymczasowy kod znika, a konto powraca do normalnego stanu. Takie podejście rzeczywiście rozwiązuje wiele problemów, czyniąc operacje DeFi łatwiejszymi i tańszymi. Ale właśnie ta elastyczność stała się podstawą nowych ataków.
Głównym powodem jest to, że transakcje w ramach EIP-7702 technicznie wyglądają jak zwykła aktualizacja kodu. Interfejs portfela otrzymuje tylko ogólne informacje: użytkownik podpisuje transakcję zawierającą initCode, a kod ten zostanie wykonany w bloku. Same w sobie dane te nie niosą oczywistego sygnału zagrożenia. Portfel nie może rozpoznać, że kod ukrywa polecenie "transferu wszystkich tokenów".
Kolejną komplikacją jest to, że standard jest wciąż nowy, a większość klientów i portfeli nie rozumie jeszcze logiki EIP-7702. W przypadku klasycznych transakcji portfel może wyraźnie pokazać "wysyłasz 2 ETH na adres X". W przypadku 7702 widzi on jednak tylko ogólny zestaw instrukcji, które zostaną wykonane w czasie rzeczywistym na maszynie wirtualnej. Wyjaśnienie tego użytkownikowi wymagałoby złożonej integracji i skutecznie wbudowanego analizatora kodu - czegoś, co jeszcze nie istnieje w portfelach głównego nurtu.
.Wyświetl post na X Ładowanie...
W rezultacie użytkownik widzi tylko "zwykłą zamianę" lub "zatwierdzenie", podczas gdy prawdziwa logika transakcji pozostaje ukryta. Ta luka między złożonością techniczną a wizualną reprezentacją tworzy idealne pole do nadużyć.
EIP-7702 nie pojawił się znikąd. Ethereum od dawna zmierza w kierunku abstrakcji kont, gdzie granica między portfelem a inteligentnym kontraktem znika. Wcześniejsze kroki, w szczególności EIP-4337, przenosiły przetwarzanie transakcji do specjalnych "bundlerów".
Nowa propozycja stała się prostszym, ale bardziej radykalnym wariantem, w którym logika jest wykonywana bezpośrednio na koncie użytkownika bez dodatkowych warstw. Sprawiło to, że transakcje stały się bardziej wydajne, ale także otworzyło nowe możliwości ataków.
Kradzież 1 miliona dolarów ilustruje paradoks rozwoju Ethereum. Każde nowe ulepszenie otwiera drzwi do wygody i elastyczności, ale jednocześnie stwarza nowy poziom zagrożenia. Deweloperzy przewidzieli transakcje wielooperacyjne i tańsze scenariusze DeFi, ale w praktyce pierwszym szeroko rozpowszechnionym przypadkiem użycia okazał się wyrafinowany phishing.
EIP-7702 otworzył nową erę dla Ethereum, w której zwykły portfel może stać się inteligentnym kontraktem na kilka sekund. Jest to krok w kierunku uniwersalnego modelu konta, ale także przypomnienie, że innowacje zawsze wiążą się z ryzykiem. Tam, gdzie deweloperzy widzą wydajność, oszuści widzą sposób na spuszczenie milionów za pomocą jednego podpisu.