EIP-7702

Średnio zaawansowany

Co to jest EIP-7702?

EIP-7702 to propozycja, która ma zwiększyć możliwości kont zewnętrznych (EOA). EOA to podstawowe konta w sieci Ethereum, które mają możliwość wysyłania transakcji i współdziałania ze smart kontraktami. Brakuje im jednak pewnych funkcji, które można znaleźć w niektórych portfelach kryptowalutowych, np. grupowania transakcji i sponsoringu gazu.
Dzięki EIP-7702 konta EOA mogą się tymczasowo zachowywać jak konta smart kontraktów w ramach jednej transakcji, co oznacza wprowadzenie funkcji zwykle zarezerwowanych dla portfeli smartkontraktowych. Propozycja EIP-7702 powstała w odpowiedzi na pewne ograniczenia i krytykę propozycji EIP-3074.

Chociaż propozycja EIP-7702 nie jest obecnie aktywna, cieszy się znacznym poparciem społeczności i zdaniem wielu osób może zastąpić propozycję EIP-3074. Jeżeli tak się stanie, możliwe że do wdrożenia propozycji EIP-7702 dojdzie w ramach aktualizacji sieci Ethereum o nazwie Petra, zaplanowanej na koniec 2024 roku.

Jak działa EIP-7702?

EIP-7702 to nowy rodzaj transakcji w sieci Ethereum, który zawiera specjalne pole o nazwie contract_code. Nadaje adresowi EOA pewne właściwości smart kontraktu na czas trwania transakcji. Sprawdźmy, na czym to polega.

Przygotowanie transakcji

Użytkownik najpierw przygotowuje transakcję z uwzględnieniem typowych informacji, czyli np. adresu docelowego, limitu gazu i wszelkich danych do przesłania. Oprócz tych szczegółów zawierają one specjalny fragment kodu smart kontraktu w polu kod_kontraktu. Ten kod określa funkcje smart kontraktu, które będą tymczasowo przypisane do jego konta EOA.

Zatwierdzenie 

Następnie użytkownik podpisuje transakcję. Podpis ten ma kluczowe znaczenie, ponieważ uwierzytelnia transakcję i zawiera listę autoryzacyjną. Ta lista zawiera szczegółowy kod_kontraktu i warunki realizacji. Zasadniczo weryfikuje i zatwierdza tymczasowe przypisanie kodu smart kontraktu do konta EOA.

Wykonanie

Po przesłaniu transakcji do Ethereum sieć ją przetwarza i tymczasowo przypisuje do konta EOA określony kod_kontraktu. W tej fazie realizacja transakcji przebiega tak, jakby konto EOA było smart kontraktem, z wykorzystaniem zestawu funkcji zapewnianych przez kod_kontraktu.

Odwrócenie

Po zakończeniu transakcji sieć Ethereum automatycznie usuwa tymczasowy kod_kontraktu z konta EOA. Konto EOA powraca do stanu pierwotnego, tracąc tymczasowe funkcje w zakresie smart kontraktów.

Analogia dostawy

Wyobraźmy sobie, że Robert jest dostawcą i jeździ zwykłym samochodem, który może przewozić tylko małe paczki. Pewnego dnia Robert otrzymuje zlecenie na dostawę większej paczki. Zamiast więc odrzucić zlecenie, Robert postanawia wynająć dodatkową skrzynię ładunkową i przymocować ją do samochodu. Dostarcza paczkę, oddaje skrzynię ładunkową do wypożyczalni i znowu ma zwykły samochód.

W tej analogii:

  • Zwykły samochód to konto EOA.

  • Tymczasowa skrzynia ładunkowa to kod_kontraktu, który daje większe możliwości.
  • Transakcja to dostawa.

  • Wynajem i zwrot skrzyni ładunkowej odzwierciedla tymczasowy charakter kodu_kontraktu, który jest aktywny tylko podczas transakcji.

Zalety EIP-7702

Bezpieczeństwo

Poprzez automatyczne usunięcie tymczasowego kodu kontraktu po transakcji propozycja EIP-7702 zmniejsza ryzyko działań nieupoważnionych. Daje gwarancję, że rozszerzenia będą aktywne tylko podczas transakcji, co ogranicza potencjalne zagrożenia.

Elastyczność

Ulepszenie EIP-7702 umożliwiłoby różne zastosowania praktyczne, np. grupowanie transakcji, czyli łączenie w jedną transakcję większej liczby działań. Sprzyjałoby również sponsoringowi gazu, więc jedno konto mogłoby pokrywać opłaty transakcyjne innego konta.

Popularyzacja inteligentnego portfela

Ponieważ propozycja EIP-7702 umożliwia kontom EOA tymczasowe funkcjonowanie w charakterze smart kontraktów, może zachęcać do korzystania z funkcji inteligentnego portfela bez zagrożeń bezpieczeństwa związanych z trwałymi zmianami kont EOA.

Wniosek

EIP-7702 to propozycja, która rozwiązuje ograniczenia kont EOA poprzez tymczasowe przyznanie im możliwości smart kontraktów. Może zwiększać bezpieczeństwo poprzez ograniczenie czasu trwania funkcji smart kontraktu do długości jednej transakcji. Może również zapewniać większą elastyczność dzięki grupowaniu transakcji, sponsoringowi gazu i innym funkcjom.

Chociaż przyszłość propozycji EIP-7702 nie jest jeszcze pewna, cieszy się dużym poparciem, co wskazuje na duże prawdopodobieństwo, że zostanie uwzględniona w nadchodzącej aktualizacji Ethereum Pectra zaplanowanej na koniec 2024 roku.