Kryptocenter – miejsce, gdzie znajdziesz wszystko, czego potrzebujesz, by zrozumieć kryptowaluty

Krypto Center
Web3 & DAO

Portfel jako silnik polityk: praktyczne AA (ERC-4337) dla startupów Web3, z guardianami, limitami i ZK-atestami

Portfel jako silnik polityk: praktyczne AA (ERC-4337) dla startupów Web3, z guardianami, limitami i ZK-atestami

Dlaczego o tym mało w polskim internecie? Większość poradników o kryptowalutach zatrzymuje się na poziomie seed phrase i multisig. Tymczasem nowe pokolenie portfeli opartych o Abstrakcję Kont (ERC-4337) pozwala wdrożyć reguły bezpieczeństwa jak w bankowości korporacyjnej: limity dzienne, sesyjne klucze, guardianów M-of-N, geofencing, a nawet zgodność z regulacjami bez ujawniania danych dzięki zero-knowledge attestation. Ten artykuł to techniczno-biznesowy przewodnik, jak zbudować taki portfel lub wdrożyć go w startupie Web3.

Szybkie wprowadzenie: o co chodzi w ERC-4337 i dlaczego teraz?

ERC-4337 przenosi logikę kont użytkownika do smart kontraktów, umożliwiając niestandardowe reguły podpisu i płatności gasem. Operacje użytkownika trafiają do bundlerów, a rozlicza je EntryPoint. Efekt: portfel staje się programowalny i może egzekwować polityki jak system finansowy.

  • Kluczowa różnica EOA vs. Smart Account: EOA = jeden klucz prywatny. Smart Account = kod + moduły polityk (plugins), podpis weryfikowany np. przez EIP-1271.
  • Gas sponsorship: Paymaster pokrywa opłaty, co otwiera onboarding bez ETH, ale wymaga kontroli ryzyka.
  • Nowe propozycje: EIP-3074 i EIP-7702 mogą przybliżyć funkcje AA do klasycznych portfeli – warto planować kompatybilność.

Architektura: portfel jako policy engine

Traktujemy portfel jak silnik reguł, który przed wykonaniem transakcji przechodzi przez pipeline decyzji.

  • Warstwa weryfikacji podpisu: klucze główne, session keys z zakresem i TTL, sprzętowe FIDO2.
  • Moduły polityk: limity kwotowe, velocity (częstotliwość), whitelisty/blacklisty, time-lock, geofencing, wymuszony quorum guardianów.
  • Warstwa płatnika gasu (Paymaster): reguły sponsorowania, budżety, antynadużycia.
  • Telemetria i alerty: sygnały ryzyka on-chain i off-chain, tryb awaryjny (circuit breaker).

Najważniejsze reguły polityk – co naprawdę podnosi bezpieczeństwo

Reguła Opis Kiedy używać
Limit dzienny Maksymalna suma transferów per 24 h. Hot wallet startupu, konta operacyjne.
Time-lock > X h Opóźnia wypłaty powyżej progu. Ochrona przed drainerami i paniką.
Session key Tymczasowy klucz na 1 dApp, z limitem metod i kwot. Gaming, DeFi-trading bots, NFT minty.
Whitelist kontraktów Dozwolone adresy i metody ABI. DAO Treasury, fundusze.
Guardian M-of-N Wymaga współautoryzacji lub odzysku. Klucze główne, krytyczne transfery.
Geofencing Blokada z regionów ryzyka lub TOR. Paymaster, masowe wypłaty.
Velocity Limit liczby transakcji na godzinę/dzień. Airdropy, kampanie growth.

Guardiani i odzyskiwanie: jak zrobić to dobrze

Klasyczne „social recovery” bywa podatne na social engineering. Lepsze wzorce:

  • M-of-N heterogeniczne: 1 hardware key + 1 custody partner + 1 DAO multisig; różne domeny ryzyka.
  • Opóźnione przejęcie (time-delay): po spełnieniu quorum zmiana klucza wchodzi w życie np. po 48 h, z alertami.
  • Tryb lodówki (freeze): jedna szybka sygnatura z hardware key zamraża konto na 24–72 h.
  • MPC lub Shamir SSS na poziomie klucza głównego, ale polityki nadal w kontrakcie (przez EIP-1271).

Paymaster: sponsorowanie gasu bez otwierania furtki dla fraudu

Paymasterzy ułatwiają onboarding, ale są wektorem nadużyć. Wbuduj:

  • Budżety per użytkownik i per dApp (np. 5 USD dziennie).
  • Filtry metod: sponsoruj tylko określone funkcje (np. deposit, approve z limitem).
  • Anty-farm: sygnatury czasu, device fingerprint, minimalny staż konta.
  • Blokada weekendowa dla ryzykownych aktywów, kiedy płynność jest płytsza.

Zgodność bez masowego KYC: ZK-atesty w praktyce

Zamiast gromadzić dane, wymagaj atestów zero-knowledge (np. „powyżej 18 lat”, „nie z listy sankcyjnej”). Portfel wymusza posiadanie ważnego atestu, ale nie widzi surowych danych użytkownika.

  • Use case 1: IDO tylko dla użytkowników z atestem jurysdykcji dozwolonej.
  • Use case 2: Limity większe dla posiadaczy atestu weryfikacji dochodów bez ujawniania kwoty.
  • Use case 3: DAO głosuje, a portfel weryfikuje „jeden człowiek = jeden głos” przez atesty sybil-resistance.

Wielosieciowość: jedna polityka, wiele łańcuchów

Polityki należy modelować cross-chain. Dobre praktyki:

  • Limity w USD liczone z wyroczni (medianizer, time-weighted) z zapasowym feedem.
  • Listy dozwolonych mostów i minimalne opóźnienia przy bridge out.
  • Synchronizacja stanów polityk przez komunikację uXCM/IBC lub komunikaty potwierdzane przez guardianów.

Mini-case study: gorący portfel marketplace NFT

  • Problem: drenaże przez złośliwe setApprovalForAll oraz boty gazowe podczas mintów.
  • Rozwiązanie AA:
    • Session keys tylko do metod safeTransferFrom, limit 3 NFT na godzinę.
    • Time-lock 2 h dla wypłat > 5 000 USD, guardian 2-of-3 do skrócenia opóźnienia.
    • Whitelist kontraktów kolekcji zweryfikowanych przez ryzyka.
    • Paymaster sponsoruje wyłącznie minty z KYC-ZK lub allowlistą.
  • Wynik: redukcja fraudu o 72% i 38% mniej zgłoszeń wsparcia przy zimnym starcie kolekcji.

Szablon polityk: przykład w pseudo-konfiguracji

{
  policy_version: 1,
  limits: {
    daily_usd: 2000,
    per_tx_usd: 800
  },
  timelocks: [
    { threshold_usd: 1000, delay_hours: 6 }
  ],
  session_keys: [
    { dapp: "app.example", methods: ["swapExactTokens"], ttl_min: 60, max_usd: 200 }
  ],
  allowlists: { contracts: ["0xABC...", "0xDEF..."] },
  guardians: { quorum: 2, members: ["hardware:ledger#A1", "safe:0xGUA...", "custody:partnerX"] },
  paymaster: { daily_budget_usd: 5, allowed_methods: ["deposit", "mint"] },
  zk_requirements: ["age_over_18", "not_sanctioned"],
  emergency: { freeze_hours: 48 }
}

Checklist wdrożenia w startupie Web3

  • Model zagrożeń: malware na urządzeniu, phishing transakcji, SIM swap, ataki na mosty.
  • Dobór SDK: Safe{Core}, Pimlico, Biconomy, Stackup, Rhinestone plugins (sprawdź licencje i audyty).
  • Obsługa EIP-1271: podpisy z różnych źródeł (MPC, hardware, sesyjne).
  • Testy chaosowe: symulacje w shadow-forku, property-based testing polityk.
  • Monitoring: alerty na wzrost odrzuceń, nieudane walidacje, anomalie gazu, nowe uprawnienia.
  • UX: tłumaczenie polityk na język użytkownika: „Możesz dziś wydać 2 000 USD”.

Kalkulator limitów: prosta heurystyka

Ustal limit dzienny tak, by maksymalna strata przy pojedynczym incydencie była akceptowalna.

  • Limit_dzienny = 0,5 × średnie dzienne przepływy (ostatnie 30 dni), zaokrąglone do najbliższych 100 USD.
  • Limit_transakcyjny = min(0,4 × Limit_dzienny, 0,2 × saldo).
  • Jeśli zmienność 7D aktywa > 80%, obniż limity o 25% na weekend.

Regulacje & Prawo: praktyka bez nadmiernej inwazyjności

  • Travel Rule w B2B: portfel może wymagać ZK-atestu „VASP-to-VASP ok” zamiast pełnych danych.
  • Listy sankcyjne: sprawdzane przez orakle zgodności; logika w kontrakcie blokuje transfer bez poprawnego atestu.
  • Rejestrowalność: export podpisanych logów polityk dla audytu, bez danych osobowych.

Roadmapa techniczna: ERC-4337, EIP-3074 i EIP-7702

  • ERC-4337: dojrzały ekosystem bundlerów i paymasterów; standard dla smart accountów.
  • EIP-3074: autoryzacja EOA przez kontrakt – może ułatwić migracje do polityk AA.
  • EIP-7702: propozycja łączenia zalet EOA i smart accountów; planuj kompatybilność modułów.

Najczęstsze błędy i jak ich uniknąć

  • Brak opóźnień dla wysokich kwot – dodaj co najmniej 2–6 h.
  • Session key bez ograniczeń – zawsze ogranicz metody i TTL.
  • Jeden guardian w tej samej domenie ryzyka – różnicuj dostawców i urządzenia.
  • Paymaster bez budżetów – prowadzi do drenowania sponsorowanych środków.

Podsumowanie z akcją do wykonania

Portfel jako silnik polityk to przewaga konkurencyjna: mniej fraudu, lepsza zgodność, lepszy UX. Zacznij od małego: wdroż limit dzienny, time-lock i session keys w jednym krytycznym przepływie, a następnie dodaj guardianów oraz Paymaster z budżetami. Jeśli prowadzisz startup Web3, wyznacz „właściciela polityk”, który będzie iterował reguły w oparciu o dane.

CTA: Przygotowaliśmy szablon polityk i scenariusze testów dla AA – zaimplementuj je w tygodniu sprintowym i zmierz spadek incydentów. Gdy będziesz gotów, rozszerz o ZK-atesty i wielosieciowe limity USD.