W ostatnim czasie na Ethereum zaproponowano kilka interesujących zmian dotyczących zarządzania adresami i transakcjami, które mogą znacząco wpłynąć na sposób, w jaki użytkownicy interaktywują się z blockchainem. Te propozycje to EIP-3074, EIP-5003 oraz najnowszy EIP-7702.
EIP-3074 wprowadza mechanizm tymczasowego delegowania uprawnień do smart kontraktu, co jest możliwe do odwołania. EIP-5003 poszerza te możliwości, umożliwiając stałe migracje z adresów zewnętrznych (EOA) na adresy smart kontraktów, co jest opisywane jako “konwersja” z EOA na smart kontrakt.
Jednak współistnienie tych zmian z obecnymi abstrakcjami kont przez ERC-4337 wywołało zaniepokojenie części społeczności Ethereum. Obawy dotyczą tworzenia “dwóch oddzielnych ekosystemów kodów”, co mogłoby skomplikować dalszy rozwój sieci.
Na to odpowiedział Vitalik Buterin, proponując EIP-7702. Jego propozycja modyfikuje EIP-3074, czyniąc go bardziej zgodnym z ERC-4337, aby uniknąć podziału na dwa oddzielne ekosystemy abstrakcji kont. EIP-7702 wprowadza nowy typ transakcji, który przyjmuje kod kontraktu oraz pole podpisu. Na początku wykonania transakcji kod kontraktu konta sygnowanego jest ustawiany, a na końcu transakcji jest on czyszczony.
Zamiast dodawać nowe opcode, które wymagałyby hard forka, EIP-7702 definiuje funkcje do wywołania – „verify” dla AUTH i „execute” dla AUTHCALL. Te zmiany pozwalają na tymczasowe przekształcenie zewnętrznego konta w smart kontrakt tylko na czas trwania transakcji.
Największą zaletą tego rozwiązania jest kompatybilność z dotychczasową pracą nad abstrakcją kont ERC-4337. Kod kontraktu, który użytkownicy muszą podpisać, mógłby być faktycznie istniejącym kodem portfela ERC-4337.
Jeżeli te zmiany zostaną wprowadzone, zewnętrzne konta użytkowników (EOA) będą mogły wykonywać dowolny kod smart kontraktu, co z czasem może całkowicie zmienić sposób interakcji wszystkich z nami z aplikacjami web3.