EIP-4337: wszystko, co musisz wiedzieć o nowym standardzie portfela Ethereum

14.07.2023
18 min
4626
0
EIP-4337: wszystko, co musisz wiedzieć o nowym standardzie portfela Ethereum. Główny kolaż artykułu.

Aktualizacja EIP-4337 została zaprezentowana na konferencji WalletCon związanej z ETHDenver i wdrożona w sieci Ethereum 1 marca. Główną innowacją tego EIP było wdrożenie tak zwanej abstrakcji konta i pojawienie się nowego standardu portfela, który według deweloperów podniesie poziom doświadczenia użytkownika i sprawi, że interakcja z blockchainem będzie wygodniejsza. W tym artykule przyjrzymy się, czym są te portfele, czym różnią się od zwykłych portfeli i dlaczego EIP-4337 jest w ogóle potrzebny.

Ten artykuł został przygotowany przez Incrypted i jest przeznaczony do celów edukacyjnych. Mamy nadzieję, że materiał ten pomoże ci lepiej zrozumieć i poznać rynek kryptowalut.

Ważne: w artykule używamy pojęcia “smart wallet” jako jednego z najwygodniejszych tłumaczeń pojęcia Contract Account, które jest używane w dokumentacji technicznej EIP-4337.

Czym są inteligentne portfele i czym różnią się od konwencjonalnych portfeli

Aby lepiej zrozumieć, do czego zmierza EIP-4337 i jakie innowacje oferuje, cofnijmy się o krok. Przed wdrożeniem aktualizacji w sieci Ethereum istniały dwa rodzaje portfeli:

  • External Owned Accounts (EOA): portfele, które wykorzystują dostawcę infrastruktury do ich tworzenia. Jest to dominujący typ portfeli dostarczanych przez MetaMask i 99% innych deweloperów.
  • Kontakontraktowe (CA ): są to portfele zarządzane przez kod w EVM, mówiąc prościej – inteligentne kontrakty. Nie wymagają one dostawcy infrastruktury do uruchomienia i zarządzania.

Dominacja EOA wynika z architektury samej sieci, która wymaga stosowania standardu ECDSA do podpisywania transakcji. Inteligentne kontrakty nie mają możliwości podpisywania transakcji przy użyciu ECDSA, więc urzędy certyfikacji nie mogą inicjować transakcji w ich imieniu. Oznacza to, że są one bezużyteczne jako portfele dla przeciętnego użytkownika.

Jednocześnie EOA wykorzystują monolityczną logikę przetwarzania transakcji przy użyciu klucza prywatnego i publicznego. Ze względu na monolityczną logikę programiści nie mają możliwości dostosowywania jej komponentów, takich jak wymagania dotyczące tożsamości. Dlatego każda aplikacja blockchain wymaga portfela EOA z kluczem prywatnym i adresem publicznym do interakcji.

EIP-4337 powinien wyeliminować przewagę EOA i uczynić CA wygodniejszymi poprzez dodanie nowego standardu portfela do sieci Ethereum w postaci inteligentnego kontraktu i nowej warstwy, która umożliwi przeprowadzanie i weryfikację transakcji bez użycia klucza prywatnego i publicznego. W tym celu deweloperzy zaimplementowali tak zwaną abstrakcję konta i termin ten warto poznać bardziej szczegółowo.

Czym jest abstrakcja konta

Pojęcie “abstrakcja konta” nic nie mówi początkującemu i komplikuje zrozumienie. W informatyce abstrakcja to podział jednego procesu na kilka części, które mogą być wykonywane niezależnie. Mówiąc prościej, proces staje się modułowy i otwiera możliwość konfiguracji każdego modułu. Wizualnie wygląda to następująco:

Schematyczna reprezentacja abstrakcji procesu ze strony web3edge.io

W kontekście portfela Ethereum oznacza to oddzielenie walidacji i realizacji transakcji, które teraz występują jako jeden ciągły proces. W związku z tym inteligentne portfele pozwalają na elastyczność w konfigurowaniu każdego z procesów, co otwiera więcej możliwości optymalizacji doświadczenia użytkownika.

Ponadto abstrakcja konta odnosi się do oddzielenia konta i jego właściciela. Obecnie portfel i użytkownik są zasadniczo jednym i tym samym, ponieważ tylko właściciel frazy cid lub klucza prywatnego może wysyłać aktywa i tylko właściciel adresu publicznego może otrzymywać aktywa. Abstrakcja pozwoli na uruchomienie inteligentnego kontraktu jako portfela, kontrolowanego przez kod w EVM, a nie przez publiczny i prywatny pęku kluczy. Rozszerza to obsługiwane metody uwierzytelniania i funkcje bezpieczeństwa portfela.

Porównanie architektury portfeli EOA i AC z web3edge.io

Jak działają inteligentne portfele EIP-4337?

EIP-4337 nie jest pierwszą próbą wprowadzenia abstrakcji konta i uruchomienia inteligentnych portfeli w sieci Ethereum. Vitalik Buterin po raz pierwszy przedstawił pierwszą wersję abstrakcji konta w 2016 roku i od tego czasu zaproponowano 5 różnych EIP (86, 1014, 2938, 3074 i 4337) poświęconych temu zagadnieniu. Jednak to EIP-4337 wprowadził koncepcję, która nie wymaga modyfikacji bazowego protokołu Ethereum, co było decydującym czynnikiem, ponieważ nie wymaga przyjęcia sieciowego hardforka.

Architektura abstrakcji konta w EIP-4337 składa się z następujących głównych elementów:

Schemat blokowy EIP-4337 według strony internetowej stackup.sh
  • UserOperation: nazywana również pseudo-transakcją. Analogiczna do transakcji przy użyciu standardowego portfela, ale zawiera więcej danych niż normalna transakcja:
Lista danych zawartych w UserOperation zgodnie z witryną stackup.s
  • Bundler: węzeł, który pobiera UserOperation z mempool, łączy je w pakiety i wysyła do EntryPoint w celu walidacji. Oczekuje się, że funkcja Bundler będzie wykonywana przez istniejące walidatory Ethereum, za co mogą otrzymać dodatkową nagrodę w postaci części opłaty transakcyjnej.

Ważne: Ponieważ EIP-4337 tworzy nową warstwę infrastruktury na blockchainie Ethereum, UserOperations mają swój własny mempool, inny niż mempool głównej sieci. Konwencjonalne walidatory nie mają do niego dostępu.

  • EntryPoint: inteligentny kontrakt w sieci Ethereum odpowiedzialny za walidację transakcji. Jest to kluczowy element całej infrastruktury EIP-4337, więc twórcy kładą nacisk na bezpieczeństwo i dokładny audyt inteligentnego kontraktu. EntryPoint wykonuje kilka funkcji jednocześnie, które razem można nazwać “weryfikacją transakcji”:
Schemat blokowy EntryPoint, opublikowany przez Przez Vitalika Buterina
  • Konto kontra ktu: jest to inteligentny portfel należący do użytkownika. Transakcja zweryfikowana przez EntryPoint jest jednocześnie wysyłana zarówno do łańcucha bloków w celu wykonania, jak i do inteligentnego portfela użytkownika w infrastrukturze EIP-4337.

Opcjonalnie można również wdrożyć:

  • Paymasters: są to kontrakty sponsorskie, które umożliwiają uiszczanie opłat transakcyjnych zamiast nadawcy lub płacenie za gaz w dowolnych tokenach ERC-20. Na przykład P2E może wdrożyć Paymasters w swojej infrastrukturze, aby gracze nie musieli kupować ETH, aby zapłacić za gaz.
  • Agregatory: agregatory podpisów użytkowników. Umożliwiają tak zwane transakcje atomowe, łącząc wiele działań w jedną transakcję. W praktyce umożliwia to interakcję z dApps przy minimalnej liczbie podpisów.

Cykl życia transakcji przy użyciu inteligentnego portfela EIP-4337 wygląda następująco:

  1. Użytkownik inicjuje za pośrednictwem aplikacji portfela (usługi udostępniającej interfejs) operację UserOperation, która jest wysyłana do specjalnego mempoolu.

Uwaga: Jeśli jest to pierwsza transakcja, a użytkownik nie posiada adresu inteligentnego portfela, EntryPoint wdroży go automatycznie.

  1. Bundler, którego funkcje są wykonywane przez walidator sieci, wybiera transakcje z tego mempool i tworzy z nich pakiety.
  2. Pakiety UserOperations są wysyłane do inteligentnego kontraktu EntryPoint. Inteligentny kontrakt sprawdza, czy transakcje mogą zostać wykonane i czy użytkownik lub Paymaster ma wystarczającą ilość ETH, aby zapłacić za gaz.
  3. Jeśli wszystkie warunki są spełnione, transakcja jest wysyłana na konto kontraktowe odbiorcy i do walidatorów Ethereum w celu włączenia do łańcucha bloków.

Wizualnie wygląda to następująco:

Cykl życia transakcji EIP-4337 z web3edge.io

Poniższy diagram pokazuje główne różnice między cyklem życia transakcji przy użyciu standardowego portfela i inteligentnego portfela EIP-4337:

Porównanie cyklu życia standardowych transakcji i transakcji przeprowadzanych za pośrednictwem inteligentnego portfela z web3edge.io

Jednak projekt inteligentnego portfela, który oferuje EIP-4337, ma również pewne problemy:

  1. Wyższe koszty gazu: wysyłanie i weryfikowanie transakcji za pośrednictwem CA wymaga nieco więcej gazu niż te same działania z OEA. Może to być poważny problem dla Ethereum w tym momencie, ponieważ sieć podstawowa nadal ma stosunkowo wysokie opłaty za gaz.
  2. Możliwości ataków DoS: chociaż inteligentne portfele są chronione przed atakami DoS przez specjalny mechanizm utrzymywania maksymalnego kosztu gazu do czasu zakończenia transakcji, ale według Vitalika modułowa struktura procedury weryfikacji pozostawia pewne możliwości przeciążenia infrastruktury.

Kolejną wadą jest możliwość wysyłania tylko jednej transakcji na raz, ale ograniczenie to jest kompensowane przez transakcje atomowe, które zostały już opisane powyżej i raczej nie staną się namacalnym problemem na poziomie użytkownika.

Dlaczego jest to potrzebne: zalety portfeli EIP-4337

Głównym celem abstrakcji konta w ogóle i aktualizacji EIP-4337 jest zastąpienie portfeli EOA inteligentnymi portfelami (CA). Według Vitalika i innych, da to programistom więcej możliwości tworzenia wysokiej jakości doświadczeń użytkownika. W szczególności inteligentne portfele obsługują:

  • Różne opcje uwierzytelniania: abstrakcja logiki walidacji transakcji pozwala na elastyczne dostosowywanie opcji uwierzytelniania użytkowników. Można to zrobić za pomocą zaufanej wiadomości e-mail, biometrycznego urządzenia uwierzytelniającego lub, na przykład, urządzenia znajdującego się na białej liście. Innymi słowy, każdy gadżet można przekształcić w swego rodzaju odpowiednik klucza prywatnego.

Uwaga: możliwość odzyskiwania portfela społecznościowego jest uważana za ważny przełom. Dzięki tej funkcji użytkownik może odzyskać dostęp do portfela za pośrednictwem listy zaufanych portfeli lub adresów e-mail, takich jak znajomi lub rodzina.

  • Elastyczne mechanizmy płatności: umowy sponsorskie Paymaster pozwalają przenieść obowiązek zapłaty za gaz z nadawcy na stronę trzecią i stworzyć bardziej złożone modele płatności za gaz (np. w tokenach ERC-20 lub tokenach ze zniżką). Oznacza to, że użytkownik nie musi już kupować ETH, aby wchodzić w interakcje z dApps, obniżając próg wejścia dla nowych użytkowników.
  • Zaawansowane ustawienia bezpieczeństwa konta: dodatkowe ustawienia bezpieczeństwa mogą obejmować, oprócz metody uwierzytelniania, także wielopodpisy, dzienny limit wydatków lub, na przykład, opóźnienia czasowe dla transakcji. Pomaga to chronić środki użytkownika, nawet jeśli atakujący uzyskał dostęp do konta.
  • Atomowe multitransakcje: za tę funkcję odpowiadają kontrakty Agreggators, opisane w poprzedniej sekcji. Dzięki nim można zapomnieć o wielokrotnych podpisach potrzebnych do przeprowadzenia pierwszego swapu na DEX, zakupu NFT na marketplace czy innej interakcji z dApps.

A to oznacza, że czasy, w których aby dostać się do zwykłego P2E trzeba było stworzyć portfel, kupić ETH, podpisać kilka transakcji i starać się nie dać dostępu do aktywów smart kontraktowi, są już za nami. Nowy typ portfeli będzie bardziej podobny w funkcjonalności do kont Google lub Apple ID niż MetaMask i Ledger.

EIP-4337 jest ważnym krokiem w kierunku massadopshn, ponieważ nowe konta zapewniają bardziej znane i zrozumiałe doświadczenie użytkownika. Jest mało prawdopodobne, aby osoby, które zapomniały hasła do Twittera, korzystały z technologii, która wymaga od nich zapamiętania 12 słów i zrozumienia, czym jest klucz prywatny i publiczny.

Jak stworzyć inteligentny portfel

EIP-4337 został wdrożony niedawno, więc technologia nie doczekała się jeszcze masowej integracji i wysokiej jakości zaimplementowanych klientów do tworzenia portfela. Można jednak wypróbować kilka usług:

  • Stackup toolkit dla użytkowników i deweloperów do wdrażania i elastycznego konfigurowania swoich CA.
  • ArgentX: popularny portfel odzyskiwania społecznościowego, nie dla Ethreum, ale dla zkSync. Nie do końca EIP-4337, ale może być przydatny.
  • Soulwallet: powinien zapewniać przyjazny dla użytkownika interfejs do tworzenia i zarządzania portfelem, ale wciąż jest w fazie rozwoju. Można umieścić na liście oczekujących.
  • Unipass wielołańcuchowy portfel z funkcją odzyskiwania społecznościowego. Najwygodniejsze rozwiązanie dostępne w tej chwili.

Usługi te zapewniają interfejs do tworzenia i konfigurowania inteligentnych portfeli w sieci Ethereum. Same rozwiązania mogą być scentralizowane lub open source, ale zasadniczo są tylko narzędziem upraszczającym interakcję z blockchainem. Dostawcy interfejsów nie mają dostępu do portfela, ponieważ inteligentny portfel jest inteligentnym kontraktem opartym na kodzie i użytkownik sam konfiguruje do niego dostęp.

Przyjrzyjmy się teraz krok po kroku, jak utworzyć inteligentny portfel przy użyciu rozwiązania Unipass:

  1. Wejdź na stronę Unipass i zaloguj się przez Google lub e-mail:
Tworzenie portfela z Unipass. Krok 1
  1. Ustaw hasło:
Tworzenie portfela ze strony Unipass. Krok 2
  1. To wszystko. Twój portfel został utworzony, nie musisz zapamiętywać i wprowadzać frazy cid:
Tworzenie portfela ze strony Unipass. Krok 3
  1. W ustawieniach możesz ustawić uwierzytelnianie dwuskładnikowe, a także wybrać Guardians:
Tworzenie portfela z Unipass. Krok 4

Uwaga: Opiekunowie to zaufane adresy e-mail, których właściciele pomogą odzyskać portfel w przypadku utraty hasła lub braku dostępu do 2FA. Domyślnie opiekunem jest e-mail, za pomocą którego zalogowałeś się w serwisie.

Chcielibyśmy dodać, że użyteczność i opcje inteligentnego portfela będą silnie zależeć od klienta, ponieważ programiści mają szeroki zakres opcji dostosowywania. Jednocześnie dostawcy infrastruktury, tacy jak Stuckup, umożliwiają tworzenie i konfigurowanie portfela według własnego uznania przy minimalnej znajomości kodu, dodając na przykład zaufane urządzenia do autoryzacji i inne opcje.

Wnioski

W dniu 1 marca sieć Ethereum wdrożyła aktualizację EIP-4337 z koncepcją abstrakcji konta bez zmiany sieci bazowej. Aktualizacja dodała nowy standard dla portfeli kryptowalutowych w postaci inteligentnych kontraktów z szeregiem zalet w porównaniu z konwencjonalnymi portfelami:

  • identyfikacja bez kluczy prywatnych/frazy identyfikacyjnej;
  • płatność gazem przez stronę trzecią;
  • elastyczne ustawienia bezpieczeństwa i dostępu do konta
  • transakcje atomowe dla wygodnej interakcji z dApps.

Na rynku istnieje już kilka usług, które zapewniają przyjazny dla użytkownika interfejs i zestaw narzędzi do wdrażania i dostosowywania inteligentnego portfela, ale jak dotąd technologia ta znajduje się na wczesnym etapie rozwoju, więc jest niewielu klientów. Ponadto nie wszystkie dApps obsługują nowy standard portfela.

Podsumowując, EIP-4337 może być jedną z kluczowych aktualizacji dla masowego przyjęcia blockchain i kryptowalut w życiu codziennym. Sprawi ona, że tworzenie portfeli kryptowalutowych i zarządzanie nimi będzie tak proste, jak w przypadku konta Google lub konta za pośrednictwem aplikacji bankowości internetowej. Wygląda na to, że era 12-wyrazowych fraz seed w notatniku i kluczy publicznych/prywatnych w arkuszach kalkulacyjnych Excel dobiega końca.

Co sądzisz o tym artykule?

0
0

artykuły na ten sam temat

Czym jest DeFi i jak działa zdecentralizowane finansowanie?
avatar Andrew Makarov
22.01.2024
Jak mogę zobaczyć wszystkie ukryte altcoiny w moim...
avatar Ivan Pavlovskyy
20.08.2023
Szczegółowa analiza Allbridge Core: Jak używać mostu do...
avatar Vlad Shevchenko
19.08.2023