Sponsorowanie gas i paymastery — wyjaśnienie

·8 min czytania·Autor: SSP Editorial Team
Diagram paymastera ERC-4337 pokrywającego gas operacji UserOperation w imieniu użytkownika samodzielnego przechowywania

Sponsorowanie gas i paymastery — wyjaśnienie

Każda transakcja w Ethereum kosztuje gas, a na tradycyjnym koncie osoba, która wysyła transakcję, jest tą, która za nią płaci — w natywnej monecie sieci. To właśnie ta jedna zasada sprawia, że nowy użytkownik, który ma stablecoin, ale nie ma ETH, może odkryć, że nie jest w stanie przenieść własnych środków. Account abstraction zrywa to powiązanie, a elementem mechanizmu, który dokonuje tego zerwania, jest paymaster. Ten artykuł wyjaśnia, czym jest paymaster w ERC-4337, gdzie znajduje się w przepływie oraz — co najważniejsze — co sponsorowanie gas naprawdę oznacza dla kogoś, kto sam przechowuje swoje klucze.

To czwarty artykuł naszej serii o account abstraction. Jeśli poniższe terminy wydają się nieznajome, zacznij od Account abstraction od pierwszych zasad; a w sprawie leżącego u podstaw modelu opłat, na którym opiera się sponsorowanie gas, przeczytaj Opłaty gas w Ethereum wyjaśnione dla użytkowników samodzielnego przechowywania.

Czym właściwie jest paymaster

Paymaster to smart contract. Jego jedynym zadaniem jest zgodzić się pokryć gas operacji kogoś innego. W ramach ERC-4337, gdy smart account wyraża to, co chce zrobić, jako UserOperation, ta operacja może wskazać paymaster. Jeśli paymaster się zgodzi, to on — a nie konto — rozlicza koszt gas z siecią.

Istnieją dwie odmiany tego rozwiązania i odpowiadają one na dwa różne problemy użytkownika:

  • Sponsorowanie gas wprost. Paymaster płaci opłatę w imieniu użytkownika, a użytkownik nie płaci nic za gas. To właśnie ludzie mają na myśli, mówiąc „bez gas".
  • Przyjęcie płatności w tokenie ERC-20. Paymaster płaci sieci gas w monecie natywnej, a następnie pobiera od użytkownika opłatę w tokenie ERC-20 — powiedzmy w stablecoinie. Użytkownik nigdy nie musi posiadać ETH; rozlicza się w tokenie, który już ma.

W obu przypadkach sieć nadal otrzymuje płatność w monecie natywnej. Gas nie staje się darmowy; jedyne pytanie brzmi: kto go finansuje i w jakiej denominacji użytkownik odczuwa ten koszt.

Gdzie paymaster znajduje się w przepływie

Aby zrozumieć, dlaczego można zaufać paymasterowi, że zapłaci, warto przypomnieć sobie, jak podróżuje operacja ERC-4337. Smart account nie wysyła zwykłej transakcji. Emituje UserOperation do osobnego mempoola. Bundler je zbiera, pakuje razem i przesyła on-chain za pośrednictwem audytowanego kontraktu EntryPoint, który wywołuje każde konto, aby wykonać jego logikę walidacji przed wykonaniem.

Paymaster wchodzi do gry na etapie walidacji. Gdy EntryPoint przetwarza UserOperation, która wskazuje paymaster, wywołuje własną funkcję walidacyjną tego paymastera. Paymaster bada operację i decyduje, na miejscu, czy jest skłonny pokryć gas. Jeśli się zgodzi, faktycznie gwarantuje płatność EntryPoint, a operacja jest kontynuowana. Jeśli odmówi, operacja nie zostaje zasponsorowana — albo wraca do tego, że płaci konto, albo nie przechodzi na tych warunkach.

Ważny model myślowy jest taki: sponsorowanie to decyzja podejmowana w momencie walidacji, przez kontrakt, w odniesieniu do konkretnej operacji. To nie jest ogólna obietnica. Paymaster patrzy na operację i mówi „tak" albo „nie".

Do czego przydaje się sponsorowanie gas

Odsprzężenie płatnika opłaty od nadawcy odblokowuje garść konkretnych wzorców:

  • Sponsorowany onboarding. Nowy użytkownik może ukończyć swoje pierwsze działanie — swap, mint, odbiór — bez uprzedniego nabywania natywnego tokena gas na giełdzie. Usunięcie tego kroku „musisz kupić ETH, zanim cokolwiek zrobisz" to jedno z największych ograniczeń tarcia, jakie oferuje account abstraction.
  • Opłaty sponsorowane przez dApp. Aplikacja może wybrać płacenie gas za swoich użytkowników jako decyzję produktową, tak jak aplikacja webowa pochłania koszty serwerów. Użytkownik klika; paymaster aplikacji pokrywa operację.
  • Płacenie opłat w stablecoinie. Zamiast utrzymywać osobne saldo ETH tylko na gas, użytkownik może zapłacić opłatę w tokenie, którym już operuje. Paymaster bierze token i wykłada sieci monetę natywną.

Każdy z tych przypadków to instancja tego samego prymitywu — kontraktu skłonnego płacić gas na warunkach, które sam ustala — zastosowana do innego problemu.

„Zasponsorowane" to nie „darmowe"

Warto być szczerym co do ekonomii, bo słowo „bez gas" zaprasza do nieporozumienia. Sieć zawsze pobiera gas w monecie natywnej. Gdy transakcja jest „zasponsorowana", ten koszt nie zniknął; ktoś zgodził się go pochłonąć. Paymaster musi być finansowany, a ten, kto go finansuje — aplikacja, protokół, usługa — płaci prawdziwe pieniądze za przywilej usunięcia tarcia.

Ma to dwie konsekwencje, o których użytkownik samodzielnego przechowywania powinien pamiętać:

  • Paymaster może odmówić. Ponieważ sponsorowanie jest decyzją podejmowaną per operacja, nie ma gwarancji, że jakakolwiek dana operacja zostanie pokryta. Programy sponsorowania mogą mieć reguły kwalifikowalności, limity wydatków albo po prostu wyczerpać środki. „Bez gas" to cecha konkretnego przepływu, a nie właściwość sieci.
  • Powinieneś wiedzieć, który paymaster jest zaangażowany. Paymaster to kontrakt, który uczestniczy w twojej transakcji. Jak w przypadku każdego kontraktu, z którym wchodzisz w interakcję, warto zrozumieć, czyj to paymaster i co robi — sponsorowanie opłaty jest nieszkodliwe, ale zaufanie nadal ma znaczenie. Gdy płacisz opłaty w tokenie, akceptujesz także dowolny kurs wymiany, jaki paymaster stosuje między tym tokenem a monetą natywną.

Nic z tego nie jest powodem, by unikać paymasterów. To powód, by je rozumieć: zasponsorowana transakcja to usługa, którą ktoś świadczy, a nie darmowy lunch rozdawany przez protokół.

Co to oznacza dla samodzielnego przechowywania

Oto część, która ma największe znaczenie dla kogoś, kto trzyma własne klucze, i którą łatwo zrozumieć na odwrót. Sponsorowanie gas zmienia to, kto płaci opłatę. Nie zmienia tego, kto kontroluje środki.

Gdy paymaster pokrywa twój gas, ty wciąż podpisujesz operację własnymi kluczami. Paymaster nie może przenieść twoich aktywów, przekierować twojej transakcji ani niczego autoryzować w twoim imieniu — może jedynie zgodzić się zapłacić opłatę za operację, którą ty autoryzowałeś. Powiernictwo pozostaje nienaruszone. Nadal jesteś jedyną stroną zdolną zatwierdzić przelew twoich środków; paymaster jedynie zgłosił się na ochotnika, by zapłacić myto za podróż, którą postanowiłeś odbyć.

W przypadku SSP w szczególności wpisuje się to naturalnie w model bezpieczeństwa. SSP to portfel samodzielnego przechowywania zbudowany wokół multisig 2-of-2: jeden klucz w rozszerzeniu przeglądarkowym SSP Wallet, drugi w aplikacji mobilnej SSP Key, oba wymagane do zatwierdzenia każdej transakcji. Na łańcuchach EVM SSP jest smart accountem ERC-4337, który weryfikuje agregowany Schnorr podpis 2-of-2, poddanym audytowi przez Halborn w 2025 roku. Ponieważ jest to konto ERC-4337, mechanika gas tego standardu — w tym możliwość opłacenia UserOperation przez paymaster — stosuje się do niego tak samo, jak do każdego konta ERC-4337. Pełny projekt jest omówiony w architekturze account abstraction SSP.

Aby być precyzyjnym co do tego, co to obiecuje, a czego nie: ERC-4337 umożliwia sponsorowanie gas i przepływy płatności w tokenie, a konta SSP istnieją w obrębie tego standardu. To, czy dana transakcja, którą wykonujesz, jest zasponsorowana lub płatna w tokenie, zależy od aplikacji lub przepływu portfela, którego używasz, oraz od tego, czy w danej operacji uczestniczy paymaster. Gwarancja powiernictwa z dwoma kluczami natomiast obowiązuje zawsze, niezależnie od tego, kto płaci gas.

Wnioski

Paymaster to kontrakt, który może zapłacić gas danej UserOperation w imieniu użytkownika albo pozwolić, by ten gas został opłacony w tokenie ERC-20 zamiast w monecie natywnej. Zgadza się na to podczas walidacji, per operacja, i może odmówić. Umożliwia onboarding bez gas, opłaty sponsorowane przez dApp oraz gas w stablecoinie — realne udogodnienia, które obniżają barierę wejścia w transakcje. Ale „zasponsorowane" znaczy „sfinansowane przez kogoś", a nie „darmowe", i paymaster nigdy nie zyskuje żadnej kontroli nad twoimi aktywami. Dla użytkownika samodzielnego przechowywania czyste podsumowanie brzmi tak: paymastery mogą zmienić, kto płaci za podróż, ale to ty wciąż trzymasz kluczyki do samochodu.

Reszta tej serii

  1. Account abstraction od pierwszych zasad — dlaczego EOA są ograniczające i co oznacza account abstraction.
  2. EOA kontra smart account: różnice, które mają znaczenie — bezpośrednie porównanie obu modeli kont.
  3. Architektura account abstraction SSP — jak SSP wpina ERC-4337 w portfel 2-of-2.
  4. Sponsorowanie gas i paymastery — wyjaśnienie — ten artykuł: jak paymastery odsprzęgają tego, kto płaci, od tego, kto wysyła.
  5. Account abstraction na łańcuchach spoza Ethereum — jak ta sama idea podróżuje poza Ethereum.

Co do samego standardu, miarodajnym źródłem jest EIP-4337, a mapa drogowa account abstraction Ethereum śledzi, dokąd zmierza szerszy wysiłek. Jeśli najpierw chcesz poznać standard w izolacji, przeczytaj Czym jest account abstraction (ERC-4337)?.

Udostępnij ten artykuł

Powiązane artykuły