Przejdź do treści
Słownikethereumaccount-abstractionportfelesmart-kontrakty

Account abstraction

Programowalne podejście do konta blockchain, w którym zasady autoryzacji nie muszą ograniczać się do jednego klucza prywatnego i jednej standardowej transakcji.

Jaki problem rozwiązuje account abstraction

Standardowe konto użytkownika na Ethereum, czyli EOA, działa bardzo prosto: kto ma klucz prywatny, ten może podpisywać transakcje. Każda transakcja wymaga też ETH na gaz.

Ten model jest prosty, ale sztywny. Nie ma wbudowanego odzyskiwania konta, limitów dziennych, wielu podpisujących, płacenia gazu w USDC ani sesji z ograniczonym zakresem uprawnień.

Account abstraction przenosi część logiki konta do kodu. Dzięki temu konto może mieć reguły podobne do produktu finansowego albo aplikacji, a nie tylko do surowego klucza kryptograficznego.

Co może umożliwić smart account

Account abstraction nie jest jedną funkcją. To zestaw możliwości wynikających z programowalnej logiki konta.

  • Batching, czyli wykonanie kilku operacji w jednej akcji, na przykład approve + swap + stake.
  • Social recovery, czyli odzyskiwanie dostępu przez zaufane osoby, urządzenia lub moduły.
  • Paymaster, czyli opłacenie gazu przez aplikację albo rozliczenie kosztu w innym tokenie.
  • Session keys, czyli tymczasowe klucze z ograniczeniami, na przykład dla gry albo bota.
  • Wielu podpisujących, limity wydatków i własne reguły bezpieczeństwa.

Jak działa ERC-4337

ERC-4337 to najbardziej znane podejście do account abstraction na Ethereum bez zmiany warstwy konsensusu. Zamiast zwykłych transakcji użytkownik tworzy UserOperation, czyli strukturę opisującą intencję wykonania akcji.

UserOperation trafia do osobnego przepływu obsługiwanego przez bundlerów. Bundler zbiera wiele takich operacji i wysyła zwykłą transakcję Ethereum do kontraktu EntryPoint.

EntryPoint sprawdza operację, wywołuje logikę walidacji smart accountu i wykonuje akcję, jeśli reguły konta ją dopuszczają. To właśnie w tej logice można obsługiwać multisig, passkeys, social recovery albo niestandardowe podpisy.

Najważniejsze elementy ERC-4337

UserOperation
Opis intencji użytkownika, parametrów gazu i podpisu. Nie jest zwykłą transakcją EOA.
Bundler
Usługa, która zbiera operacje użytkowników i wysyła je onchain jako transakcję do EntryPoint.
EntryPoint
Kontrakt koordynujący walidację i wykonanie operacji smart accountów.
Smart account
Konto kontraktowe z własną logiką autoryzacji, recovery i wykonywania akcji.
Paymaster
Kontrakt, który może sponsorować gaz albo obsłużyć płatność za gaz w innym modelu.

Czym różni się EIP-7702

EIP-7702 podchodzi do problemu inaczej niż ERC-4337. Zamiast od razu przenosić użytkownika do nowego konta kontraktowego, pozwala istniejącemu EOA tymczasowo zachowywać się jak smart account.

To może ułatwić wdrożenie funkcji account abstraction bez natychmiastowej migracji na nowy adres. Dla użytkownika ważne jest to, że część nowych funkcji może pojawić się w znanych portfelach bez całkowitej zmiany sposobu używania konta.

Ten model nie oznacza jednak, że wszystkie ryzyka znikają. Delegowana logika nadal musi być bezpieczna, a użytkownik musi rozumieć, komu i czemu daje uprawnienia.

Przykłady zastosowań

  • Nowy użytkownik korzysta z aplikacji, a pierwszą transakcję opłaca za niego dapp przez paymaster.
  • Portfel łączy approve i swap w jedną operację, zamiast wymuszać dwie osobne transakcje.
  • Gracz daje aplikacji session key, który działa tylko przez 24 godziny i tylko w konkretnej grze.
  • Konto ma social recovery, więc utrata jednego urządzenia nie musi oznaczać utraty środków.

Najczęstsze błędne założenia

  • Account abstraction nie jest jednym standardem ani jednym gotowym produktem.
  • Smart account nie jest automatycznie bezpieczniejszy od EOA. Zależy od kodu, modułów i konfiguracji.
  • ERC-4337 nie zawsze jest tańszy od zwykłego EOA. Dodatkowe wywołania kontraktów mogą zwiększyć koszt gazu.
  • Paymaster nie oznacza darmowych transakcji w sensie ekonomicznym. Ktoś nadal pokrywa koszt gazu.
  • Zainstalowanie złośliwego modułu może być tak groźne jak utrata klucza prywatnego.

Więcej funkcji oznacza większą powierzchnię ataku

Account abstraction może mocno poprawić UX portfeli, ale dodaje nowe elementy zaufania: bundlerów, paymasterów, moduły, delegowaną logikę i kontrakty smart accountów. Przed użyciem portfela tego typu sprawdzaj, kto odpowiada za kod i jakie uprawnienia instalujesz.

Najczęstsze pytania

Nie zawsze. Niektóre portfele mogą ukrywać seed phrase przed użytkownikiem albo używać innych metod autoryzacji, ale account abstraction oznacza przede wszystkim programowalną logikę konta. Sposób backupu zależy od konkretnego portfela.

Nie. Multisig może być jedną z funkcji smart accountu, ale account abstraction jest szerszym pojęciem. Obejmuje też batching, paymastery, session keys, recovery i niestandardową walidację podpisów.

Nie z definicji. Prosta transakcja z EOA może być tańsza, bo smart account wymaga dodatkowych wywołań kontraktów. Korzyść ERC-4337 polega głównie na UX i elastyczności, nie na gwarantowanej oszczędności gazu.

Może pomóc w migracji. Smart account może w teorii zmienić logikę weryfikacji podpisu na inną, także postkwantową, bez czekania na jedną globalną zmianę dla wszystkich kont. To nie znaczy, że obecne smart accounty automatycznie są quantum-safe.