Account Abstraction (AA), czyli abstrakcja konta, to rozwiązanie, które pozwala uczynić konta użytkowników blockchaina bardziej programowalnymi, elastycznymi i przyjaznymi w obsłudze.
W tradycyjnym modelu Ethereum użytkownik korzysta najczęściej z EOA (Externally Owned Account), czyli konta kontrolowanego przez klucz prywatny. To właśnie klucz prywatny decyduje o tym, czy dana transakcja jest prawidłowo autoryzowana.
Account Abstraction zmienia ten model.
Zamiast ograniczać logikę konta do prostego schematu:
klucz prywatny → podpis → transakcja
można zastosować konto, którego zasady działania są określone przez smart contract.
Dzięki temu portfel może sam definiować zasady dotyczące autoryzacji, opłat, odzyskiwania dostępu czy wykonywania wielu operacji jednocześnie.
Dlaczego Account Abstraction jest potrzebne?
Tradycyjne konto Ethereum jest bardzo proste.
EOA jest kontrolowane przez parę kluczy kryptograficznych:
- klucz publiczny,
- klucz prywatny.
Jeżeli posiadam klucz prywatny, mogę autoryzować operacje z konta.
Jeżeli go stracę, odzyskanie dostępu do środków może być niemożliwe.
Jeżeli ktoś go zdobędzie, może przejąć kontrolę nad kontem.
To prosty i bezpieczny model, ale ma również ograniczenia.
Przykładowo użytkownik musi zazwyczaj:
- samodzielnie zarządzać kluczem lub seed phrase,
- posiadać ETH na opłacenie gazu,
- wykonywać transakcje zgodnie z zasadami narzuconymi przez protokół,
- podpisywać kolejne operacje osobno.
Account Abstraction pozwala przenieść część tej logiki do samego konta.
EOA a Smart Account
Najważniejsze rozróżnienie wygląda następująco:
EOA
Konto kontrolowane bezpośrednio przez klucz prywatny.
Smart Account
Konto, którego zachowanie może być kontrolowane przez kod smart kontraktu.
W przypadku Smart Account można zaprogramować własne zasady dotyczące tego, kto, kiedy i w jaki sposób może wykonywać operacje.
Przykładowo portfel może wymagać:
- dwóch podpisów przy dużej transakcji,
- dodatkowego klucza awaryjnego,
- potwierdzenia przez zaufaną osobę,
- ograniczenia transferów do określonych adresów,
- zastosowania limitu dziennego.
W klasycznym EOA takie mechanizmy nie są częścią samego konta w równie elastyczny sposób.
Account Abstraction pozwala więc potraktować portfel bardziej jak programowalne konto, a nie wyłącznie adres powiązany z jednym kluczem.
Jak działa Account Abstraction?
Najprostszy model można przedstawić tak:
Użytkownik → Smart Account → reguły w smart kontrakcie → wykonanie operacji
Zamiast pytać wyłącznie:
„Czy transakcja została podpisana właściwym kluczem?”
system może sprawdzać bardziej rozbudowane reguły:
„Czy ta operacja spełnia zasady zdefiniowane przez konto?”
To otwiera drogę do tworzenia znacznie bardziej zaawansowanych portfeli.
ERC-4337
Jednym z najważniejszych standardów związanych z Account Abstraction na Ethereum jest ERC-4337.
Jego dużą zaletą jest możliwość korzystania z mechanizmów abstrakcji konta bez konieczności zmiany podstawowego mechanizmu konsensusu Ethereum.
ERC-4337 wprowadza między innymi:
- UserOperation,
- Bundlers,
- EntryPoint,
- Paymasters,
- Smart Accounts.
Zamiast wysyłać tradycyjną transakcję EOA, użytkownik tworzy UserOperation, która opisuje zamierzoną operację. Bundler zbiera takie operacje i przekazuje je do kontraktu EntryPoint, który odpowiada za ich weryfikację i wykonanie.
UserOperation
UserOperation to specjalny obiekt opisujący operację użytkownika w modelu ERC-4337.
Można go traktować jako swego rodzaju „zlecenie wykonania operacji”, a nie tradycyjną transakcję Ethereum.
Użytkownik określa w nim między innymi:
- co chce wykonać,
- jakie dane mają zostać przekazane,
- jak operacja ma zostać zweryfikowana,
- jakie limity gazu obowiązują.
UserOperation trafia następnie do infrastruktury ERC-4337, zamiast być bezpośrednio wysłana jako klasyczna transakcja EOA.
Bundler
Bundler to podmiot lub oprogramowanie, które zbiera UserOperations i łączy je w transakcję wysyłaną do sieci.
W uproszczeniu:
UserOperation → Bundler → EntryPoint → Smart Account
Bundler może zebrać wiele operacji różnych użytkowników i umieścić je w jednym wywołaniu EntryPoint.
Dzięki temu użytkownik nie musi samodzielnie zajmować się wszystkimi szczegółami technicznymi związanymi z wysyłaniem operacji do blockchaina.
EntryPoint
EntryPoint to kluczowy smart kontrakt infrastruktury ERC-4337.
Pełni rolę centralnego punktu, przez który przechodzą UserOperations.
Odpowiada między innymi za:
- weryfikację operacji,
- rozliczenie gazu,
- wywołanie Smart Account,
- obsługę mechanizmu Paymaster.
Kontrakt EntryPoint dla ERC-4337 został wdrożony na Ethereum Mainnet 1 marca 2023 roku.
Paymaster
Jedną z najbardziej interesujących możliwości Account Abstraction jest Paymaster.
Paymaster to smart contract, który może pokrywać opłaty za gaz związane z operacją użytkownika.
Dzięki temu użytkownik nie musi koniecznie posiadać ETH na swoim portfelu tylko po to, aby wykonać określoną operację.
Możliwe jest również stworzenie systemu, w którym użytkownik pokrywa koszt transakcji za pomocą innego tokena.
Przykładowo:
Użytkownik posiada USDC, ale nie ma ETH.
W tradycyjnym modelu może mieć problem z opłaceniem gazu.
W modelu z Paymasterem aplikacja może pokryć koszt gazu za użytkownika albo umożliwić rozliczenie go w inny sposób.
Gasless transactions
Account Abstraction może więc umożliwić tzw. gasless transactions, czyli operacje, w których użytkownik nie musi bezpośrednio płacić gazu w ETH.
Nie oznacza to jednak, że transakcja jest naprawdę darmowa.
Gaz nadal trzeba zapłacić.
Różnica polega na tym, kto go płaci.
Może to być na przykład:
użytkownik → aplikacja → Paymaster → sieć Ethereum
Dzięki temu blockchain może stać się dla użytkownika znacznie bardziej podobny do tradycyjnej aplikacji internetowej.
Grupowanie transakcji
Account Abstraction umożliwia również batching, czyli grupowanie wielu operacji.
Wyobraźmy sobie, że użytkownik chce:
1. zatwierdzić token,
2. wykonać swap,
3. wpłacić token do protokołu DeFi.
W tradycyjnym modelu może wymagać to kilku oddzielnych operacji.
Smart Account może umożliwić wykonanie ich jako jednej logicznej operacji użytkownika.
Dzięki temu interakcja z aplikacją może być prostsza i wygodniejsza.
Account Abstraction a seed phrase
Jedną z największych potencjalnych zalet AA jest możliwość odejścia od modelu, w którym utrata jednego klucza oznacza bezpowrotną utratę dostępu do środków.
Smart Account może mieć zaprogramowany mechanizm odzyskiwania dostępu.
Przykładowo użytkownik może posiadać:
klucz główny + klucz zapasowy
albo zastosować mechanizm social recovery, w którym odzyskanie dostępu wymaga potwierdzenia przez wcześniej wybrane osoby lub urządzenia.
Można również ustawić dodatkowe zabezpieczenia dla dużych transakcji.
Przykładowo:
do 1 000 USD → jeden podpis
powyżej 1 000 USD → dwa podpisy
Tego typu reguły mogą być zapisane bezpośrednio w logice Smart Account.
Session keys
Account Abstraction umożliwia również wykorzystanie tzw. session keys, czyli kluczy sesyjnych.
Załóżmy, że korzystam z gry blockchainowej.
Nie chcę podpisywać każdej pojedynczej operacji głównym kluczem portfela.
Mogę zamiast tego utworzyć klucz sesyjny z ograniczonymi uprawnieniami.
Przykładowo:
- działa tylko przez godzinę,
- może wykonywać operacje tylko w konkretnej aplikacji,
- ma limit wartości transakcji,
- nie może transferować wszystkich aktywów.
Jeżeli taki klucz zostanie przejęty, potencjalne szkody mogą być znacznie mniejsze niż w przypadku ujawnienia głównego klucza. Mechanizmy tego typu są jednym z przykładów programowalnych reguł możliwych dzięki Smart Accounts.
Account Abstraction a bezpieczeństwo
AA nie oznacza automatycznie, że portfel jest bezpieczniejszy.
Daje natomiast więcej możliwości programowania zabezpieczeń.
To bardzo ważna różnica.
Smart Account może mieć:
- recovery,
- multisig,
- limity transakcji,
- whitelisty adresów,
- session keys,
- dodatkowe mechanizmy autoryzacji.
Ale jednocześnie jego bezpieczeństwo zależy od jakości kodu smart kontraktu.
Błąd w kodzie może spowodować utratę środków.
Dlatego wraz ze wzrostem możliwości rośnie również znaczenie audytów i jakości implementacji.
EIP-7702
Drugim ważnym elementem obecnego rozwoju Account Abstraction na Ethereum jest EIP-7702.
W przeciwieństwie do ERC-4337, które działa poprzez dodatkową infrastrukturę, EIP-7702 pozwala istniejącemu EOA czasowo korzystać z kodu smart kontraktu poprzez delegację.
Oznacza to, że klasyczne konto użytkownika może otrzymać część możliwości kojarzonych ze Smart Account, bez konieczności całkowitej migracji do nowego adresu kontraktowego.
To ważny krok w kierunku poprawy użyteczności istniejących portfeli.
ERC-4337 a EIP-7702
Nie należy traktować ERC-4337 i EIP-7702 jako dokładnie tego samego rozwiązania.
ERC-4337
Koncentruje się na modelu Smart Accounts i wykorzystuje UserOperations, Bundlers oraz EntryPoint.
EIP-7702
Pozwala istniejącym EOA korzystać z delegowanego kodu i uzyskać część możliwości związanych z programowalnymi kontami.
Oba rozwiązania wpisują się jednak w szerszy kierunek rozwoju Ethereum, którego celem jest zwiększenie programowalności kont i poprawa doświadczenia użytkownika.
Account Abstraction w praktyce
Dla zwykłego użytkownika największa zmiana może być bardzo prosta.
Dzisiaj korzystanie z aplikacji Web3 często wygląda tak:
Połącz portfel → podpisz → zapłać gaz → podpisz kolejną transakcję → zapłać kolejny gaz.
W świecie bardziej dojrzałej abstrakcji konta użytkownik może zobaczyć:
Połącz → potwierdź → gotowe.
Cała skomplikowana infrastruktura może działać w tle.
Użytkownik nie musi nawet wiedzieć, czym jest:
- gas,
- nonce,
- bundler,
- EntryPoint,
- UserOperation.
To właśnie dlatego Account Abstraction jest często postrzegane jako jeden z elementów, które mogą ułatwić masową adopcję Web3.
Account Abstraction a DeFi
AA może mieć duże znaczenie dla zdecentralizowanych finansów.
Wyobraźmy sobie aplikację DeFi, w której użytkownik chce wykonać kilka operacji.
Zamiast wykonywać każdą z nich osobno, Smart Account może je połączyć.
Możliwe stają się również bardziej zaawansowane reguły bezpieczeństwa.
Przykładowo:
„Pozwól temu protokołowi wykonywać operacje do 500 USD dziennie, ale każda większa transakcja wymaga dodatkowego podpisu.”
To może znacznie zwiększyć wygodę korzystania z DeFi bez konieczności rezygnowania z kontroli nad środkami.
Account Abstraction a gry blockchainowe
Gry są jednym z obszarów, w których AA może być szczególnie przydatne.
Jeżeli gracz musi podpisywać blockchainową transakcję przy każdej drobnej czynności, doświadczenie szybko staje się nieprzyjazne.
Smart Account może pozwolić aplikacji na:
- wykonywanie wielu operacji bez ciągłego pytania o podpis,
- stosowanie limitów,
- korzystanie z kluczy sesyjnych,
- sponsorowanie gazu.
Dzięki temu blockchain może działać bardziej jak infrastruktura znajdująca się pod spodem gry, a nie jak element, który użytkownik musi obsługiwać przy każdej czynności.
Account Abstraction a masowa adopcja
Jednym z największych problemów Web3 jest skomplikowanie.
Dla doświadczonego użytkownika:
seed phrase → gas → wallet → network → signing → nonce
są normalnymi pojęciami.
Dla początkującego użytkownika mogą być barierą nie do pokonania.
Account Abstraction próbuje ukryć część tej złożoności.
To oznacza, że użytkownik może korzystać z aplikacji blockchainowej bardziej podobnie do zwykłej aplikacji internetowej.
Właśnie dlatego AA jest często przedstawiane jako technologia poprawiająca UX (user experience) w Web3.
Ryzyka Account Abstraction
Account Abstraction ma również swoje minusy.
1. Ryzyko błędów w smart kontrakcie
Im bardziej skomplikowany portfel, tym większa liczba potencjalnych miejsc, w których może pojawić się błąd.
2. Ryzyko błędnej konfiguracji
Użytkownik może ustawić zbyt szerokie uprawnienia dla klucza sesyjnego, recovery albo aplikacji.
3. Ryzyko infrastruktury
ERC-4337 korzysta z dodatkowych elementów infrastruktury, takich jak Bundlers i Paymasters.
Awaria lub problemy z jednym z tych elementów mogą wpływać na doświadczenie użytkownika, choć sam model jest projektowany jako zdecentralizowany i permissionless.
4. Ryzyko Paymastera
Jeżeli aplikacja korzysta z Paymastera, pojawia się dodatkowy komponent, który musi działać prawidłowo i posiadać odpowiednie środki.
5. Większa złożoność
Account Abstraction upraszcza doświadczenie użytkownika, ale jednocześnie zwiększa złożoność infrastruktury działającej pod spodem.
To klasyczny przypadek:
prostszy interfejs ≠ prostsza technologia.
Czy Account Abstraction eliminuje seed phrase?
Nie zawsze.
Account Abstraction nie oznacza automatycznie całkowitego końca seed phrase.
Jego ideą jest raczej umożliwienie bardziej elastycznego modelu zarządzania dostępem.
W zależności od rozwiązania użytkownik może korzystać z:
- klasycznego klucza,
- wielu kluczy,
- passkeys,
- multisig,
- kluczy odzyskiwania,
- social recovery,
- kluczy sesyjnych.
To daje możliwość zaprojektowania systemu bezpieczeństwa znacznie lepiej dopasowanego do konkretnego zastosowania.
Account Abstraction – podsumowanie
Account Abstraction to koncepcja, która zmienia sposób, w jaki użytkownik może kontrolować swoje konto blockchainowe.
Zamiast prostego modelu:
„kto posiada klucz prywatny, ten może wykonać transakcję”
otrzymujemy:
„konto ma własne, programowalne zasady określające, jakie operacje są dozwolone”.
Dzięki temu możliwe stają się:
- Smart Accounts,
- grupowanie transakcji,
- gas sponsorship,
- Paymasters,
- social recovery,
- multisig,
- session keys,
- bardziej elastyczne mechanizmy autoryzacji.
Na Ethereum kluczowymi elementami tego kierunku są dziś m.in. ERC-4337 i EIP-7702. ERC-4337 umożliwia Account Abstraction bez zmian w warstwie konsensusu, natomiast EIP-7702 pozwala istniejącym EOA korzystać z delegowanego kodu i części możliwości Smart Accounts.
W mojej ocenie największe znaczenie Account Abstraction nie polega jednak na tym, że daje użytkownikowi kolejną technologię do nauczenia się.
Wręcz przeciwnie.
Jeżeli Account Abstraction odniesie sukces, użytkownik nie będzie musiał wiedzieć, że z niego korzysta.
Blockchain ma po prostu działać w tle — podobnie jak dziś większość użytkowników Internetu nie zastanawia się, jak działa DNS, TLS czy routing.
I właśnie to może być jeden z kluczowych kroków w stronę masowej adopcji Web3.


