Portfele bez seeda: Passkey‑native smart wallets (EIP‑4337 + EIP‑7212) – praktyczny przewodnik 2025
Portfele bez seeda: Passkey‑native smart wallets (EIP‑4337 + EIP‑7212) – praktyczny przewodnik 2025
Czy 12 słów odzyskiwania odejdzie do lamusa? Coraz więcej portfeli krypto testuje logowanie passkey (FIDO2/WebAuthn) połączone z Account Abstraction (EIP‑4337) i wsparciem krzywej secp256r1 (EIP‑7212). Wynik: transakcje bez wpisywania seeda, płatność opłat niekoniecznie w ETH, atrybuty bezpieczeństwa „device‑bound”, podpisy zgodne z dApp przez ERC‑1271. Ten artykuł to techniczno‑praktyczny przewodnik po niszowym (jeszcze) nurcie – gotowy do wdrożenia przez zespoły Web3 i zaawansowanych użytkowników.
Dlaczego passkeys w krypto dopiero teraz?
Passkeys (klucze kryptograficzne sprzężone z biometrią lub PINem urządzenia) działają w przeglądarkach i systemach mobilnych od lat, ale brakowało im „mostu” do EVM. Dwie rzeczy to zmieniły:
- EIP‑4337 – „smart accounty” i bundlery, które pozwalają definiować logikę podpisów oraz płacić opłaty transakcyjne w sposób elastyczny (np. sponsorowane przez paymastera).
- Wsparcie secp256r1 po stronie L2/L3 poprzez prekompilację zgodną z propozycją EIP‑7212 – umożliwia natywne weryfikowanie podpisów WebAuthn bez kosztownych sztuczek.
Efekt: można budować portfele, które akceptują podpisy passkey, a jednocześnie pozostają kompatybilne z dApp przez ERC‑1271 (weryfikacja podpisu po stronie smart‑konta).
Jak to działa: architektura w 5 klockach
1) Warstwa podpisu (FIDO2/WebAuthn)
Użytkownik tworzy poświadczenie passkey na urządzeniu (telefon, laptop) lub kluczu sprzętowym (np. FIDO2 z USB‑C/NFC). Podpisy są realizowane krzywą secp256r1 i przechowywane lokalnie lub synchronizowane w chmurze systemowej (zależnie od ustawień).
2) Smart‑konto (EIP‑4337)
Smart‑konto definiuje zasady autoryzacji: które klucze są uprawnione, limity, guardians, multi‑sig, timelocki. Wewnątrz funkcji isValidSignature zgodnej z ERC‑1271 weryfikuje poprawność podpisu passkey.
3) Bundler
Bundler pakuje żądania użytkownika (UserOperation) i wysyła do sieci. Dzięki temu dApp nie musi znać szczegółów podpisu – wystarczy, że rozumie standard 4337.
4) Paymaster
Paymaster może sponsorować opłaty lub rozliczać je w tokenie innym niż natywny (np. w stablecoinie). To klucz do UX „jak w Web2”.
5) Zgodność z dApp (ERC‑1271 + WalletConnect)
dApp pyta portfel o podpis i weryfikuje go kontraktowo (ERC‑1271). Połączenie z aplikacją odbywa się przez WalletConnect v2 lub wtyczkę przeglądarkową portfela.
Bezpieczeństwo: co realnie się zmienia?
- Mniej phishingu seedów – brak 12/24 słów do wyłudzenia. Atakujący celują raczej w przejęcie urządzenia/konta chmurowego.
- Device‑bound – klucz jest „przywiązany” do urządzenia; atak wymaga fizycznego dostępu lub potknięcia w synchronizacji.
- Recovery przez smart‑logikę – możliwy social recovery, guardians, timelock – wszystko on‑chain, bez papierowych seedów.
- Ryzyko vendor‑lock‑in – backup w chmurze systemu (np. ekosystem telefonu) to wygoda, ale i zależność. Rekomendowane: drugi nośnik FIDO2 + guardian offline.
Porównanie metod podpisu
| Aspekt | Seed (BIP39) | Passkey (FIDO2) | MPC (threshold) |
|---|---|---|---|
| UX | Trudne dla nowych użytk. | Bardzo proste (biometria/PIN) | Niewidoczne, zależy od wdrożenia |
| Phishing | Wysokie ryzyko ujawnienia seeda | Niskie – brak seeda | Niskie – brak pojedynczego seeda |
| Sprzęt | Opcjonalny HW wallet | Urządzenie + opcjonalny klucz FIDO2 | Często serwerowy/kliencki komponent |
| Kompatybilność | Powszechna | Wzrastająca z ERC‑1271/EIP‑7212 | Wysoka, ale vendor‑specyficzna |
| Recovery | Karta papierowa / metal | Guardian + drugi klucz FIDO2 | Odtwarzanie progu (k‑z‑n) |
| Koszt | Niski | Niski/średni (klucz FIDO2) | Średni/wyższy (infrastruktura) |
Konfiguracja krok po kroku (dla użytkownika)
- Wybierz portfel z obsługą EIP‑4337 i passkey (sprawdź dokumentację pod kątem ERC‑1271 i wsparcia secp256r1).
- Utwórz smart‑konto i dodaj pierwszy klucz passkey na urządzeniu głównym.
- Dodaj drugi klucz – fizyczny FIDO2 (NFC/USB‑C). Przetestuj podpis offline.
- Skonfiguruj guardians (2–3 zaufane podmioty albo własne urządzenia). Ustaw timelock na zmiany kluczy.
- Włącz paymastera – jeśli chcesz płacić opłaty w stablecoinie.
- Sprawdź ERC‑1271 – podpisz wiadomość w dApp testowej i zweryfikuj wynik.
- Ustaw limity dzienne i listy adresów zaufanych (whitelist).
- Zapisz plan awaryjny: jak odtworzyć dostęp przy zgubieniu telefonu (drugi klucz FIDO2 + guardians).
- Wyłącz SMS‑2FA w usługach powiązanych; preferuj TOTP lub klucze FIDO2.
- Przećwicz recovery na niewielkich środkach zanim zasilisz portfel.
Case study: DAO i „cichy” guardian
Mała DAO skarbowa migrowała z multisiga seeda na smart‑konto z passkey. Dodano dwóch guardianów (hardware FIDO2 w sejfie + kontrakt timelock). Podczas próby odwołania klucza przez przejęte konto chmurowe, timelock dał 24h na reakcję, a guardian odrzucił zmianę. Wniosek: passkey + governance on‑chain realnie zmniejszają ryzyko „jednego punktu porażki”.
Koszty i UX w praktyce
- Gas: podpis passkey jest weryfikowany kontraktowo; koszt zależny od implementacji i sieci (L2 ≪ L1).
- Bundler: ma własną opłatę (często wliczaną w całość transakcji).
- Paymaster: może naliczać marżę za sponsoring opłat w stablecoinie.
| Element | Co wpływa na koszt | Jak optymalizować |
|---|---|---|
| Weryfikacja podpisu | Rozmiar i ścieżka kodu kontraktu | Używaj zoptymalizowanych bibliotek, L2 |
| Bundling | Obciążenie mempoola 4337 | Agregacja operacji, odpowiedni bundler |
| Opłaty | Model paymastera | Tokeny o niskiej zmienności, limity |
Ryzyka i dobre praktyki
- Vendor lock‑in: miej drugi klucz FIDO2 od innego producenta.
- Ataki na chmurę: wyłącz niepotrzebną synchronizację lub dodaj dodatkowe potwierdzenia transakcji.
- Phishing dApp: sprawdzaj domeny, używaj list zaufania w portfelu, włącz „simulation preview”.
- Tryb podróżny: przechowuj klucz FIDO2 bezpiecznie; rozważ portfel „gorący” z limitami i „zimny” do skarbca.
Regulacje & prawo (UE/PL) – co warto wiedzieć
- eIDAS 2.0: passkeys ≠ kwalifikowany podpis elektroniczny. To technologia uwierzytelniania, nie podpisu kwalifikowanego.
- AML/KYC: portfele passkey mogą łączyć ZK‑KYC (dowód wiedzy zerowej) – zgodność zależy od jurysdykcji i polityk VASP.
- Podatki: sposób podpisu nie zmienia opodatkowania. Dokumentuj transakcje jak dotychczas.
To nie jest porada prawna ani podatkowa. Skonsultuj się z doradcą.
Mini słownik pojęć
- Passkey (FIDO2/WebAuthn) – para kluczy kryptograficznych powiązana z urządzeniem, używana do logowania i podpisu.
- EIP‑4337 – standard „Account Abstraction” dla smart‑kont i bundlerów.
- EIP‑7212 – propozycja prekompilacji secp256r1 dla EVM (weryfikacja podpisów passkey).
- ERC‑1271 – interfejs on‑chain do weryfikacji podpisów przez smart‑kontrakty.
- Paymaster – kontrakt sponsorujący opłaty transakcyjne.
FAQ & Support
Czy mogę używać tego samego portfela w wielu dApp?
Tak, jeśli portfel wspiera ERC‑1271 i standardowe konektory (np. WalletConnect v2), większość dApp rozpozna podpisy.
Co jeśli zgubię telefon?
Odtwarzasz dostęp przez drugi klucz FIDO2 lub guardians. Dlatego zawsze konfiguruj co najmniej dwa niezależne klucze.
Czy passkey działa offline?
Sam podpis – tak (na urządzeniu). Dla transakcji i bundlingu potrzebujesz połączenia z siecią.
Czy muszę mieć ETH, by zapłacić za gas?
Niekoniecznie. Paymaster może rozliczyć opłaty w innym tokenie (np. stablecoinie), jeśli dany ekosystem to wspiera.
Wnioski i lista kontrolna
- Dodaj 2 klucze: urządzenie + hardware FIDO2.
- Włącz guardians i timelock na zmiany kluczy.
- Testuj ERC‑1271 w ulubionych dApp, zanim przeniesiesz większe środki.
- Ustal limity i whitelisty odbiorców.
- Dokumentuj transakcje – podpis nie zmienia obowiązków podatkowych.
CTA: Jeśli rozwijasz dApp lub portfel, rozważ pilotaż z passkeys + 4337 + paymaster. Użytkownicy oczekują UX „jak w Web2”, a bezpieczeństwo bez seeda to wymierna przewaga.
