Skip to content
Alle optiegidsen
Ethereum-smart accounts12 min leestijd

Ethereum-smart accounts uitgelegd: UserOperations, bundlers en gesponsorde gas

Volg een ERC-4337 UserOperation via een bundler en EntryPoint, bekijk hoe een paymaster gas kan sponsoren en onderscheid accountherstel van sleutelbeheer.

In deze gidsEen smart account legt programmeerbare bevoegdheidsregels vast in een contract

Korte samenvatting

Accountabstractie laat een smart account in de vorm van een contract een UserOperation indienen volgens eigen validatieregels, via een ander pad dan een gewone EOA-transactie. Bij ERC-4337 verzamelen bundlers operations en roepen ze de EntryPoint aan; een optionele paymaster kan gas sponsoren als die het verzoek goedkeurt. Dat garandeert geen automatisch herstel, gratis transacties of afwezigheid van bewaring door een derde.

Een smart account legt programmeerbare bevoegdheidsregels vast in een contract

Een externally owned account (EOA) bewijst controle met een handtekening van een privésleutel. De nonce van dat account bepaalt de transactievolgorde.

Dit model is eenvoudig, maar meestal machtigt dezelfde sleutel elke actie. Een gewone transactie start doorgaans één actie op topniveau; het aangeroepen contract kan intern meer aanroepen doen.

Dat onderscheid is relevant naast de gids over wachtende Ethereum-transacties, die de EOA-transactiepool behandelt en niet de ERC-4337-route.

Een smart account is een contract dat assets kan aanhouden en aanroepen kan uitvoeren.

De validatiecode kan accountgebonden regels toepassen, zoals één handtekening, een drempel van meerdere handtekeningen of bevoegdheden die na een bepaalde tijd verlopen.

ERC-4337 schrijft geen wallet of herstelbeleid voor; het biedt een interface waarmee een contractaccount operations kan autoriseren en uitvoeren.

Ethereum.org noemt opties voor accountabstractie, zoals back-upsleutels, beperkte bevoegdheden en gesponsorde gas. Niet elke wallet biedt al deze functies.

Het label ‘smart wallet’ vertelt op zichzelf niet hoe veilig een account is of wie het beheert. Controleer welk contract de assets aanhoudt, welke code en EntryPoint het account vertrouwt en welke ondertekenaars aanroepen mogen autoriseren.

Als de accountlogica kan worden geüpgraded, zijn ook beheerdersrechten en wijzigingsprocedures van belang voor de controle over assets.

Een UserOperation is nog geen Ethereum-transactie in een blok

Een UserOperation is een object dat beschrijft wat een smart account wil doen. Het bevat meestal het verzendende account, een accountgebonden nonce, aanroepgegevens, een handtekening, gaslimieten en vergoedingsvoorwaarden.

Er kan ook factory-informatie in staan om een nieuw account aan te maken of paymaster-informatie om sponsoring aan te vragen. De precieze velden hangen af van de EntryPoint-versie.

In plaats van het object rechtstreeks met de gewone methode eth_sendTransaction naar de chain te sturen, dient een wallet het in bij een bundler of relay die ERC-4337-RPC-methoden aanbiedt, zoals eth_sendUserOperation.

Het verzoek gaat door een UserOperation-pool die losstaat van de pool voor gewone Ethereum-transacties.

De UserOperation-hash identificeert het verzoek; de on-chain-transactie van een bundler heeft een aparte transactiehash en ontvangstbewijs.

ERC-7769 definieert RPC-methoden voor indiening, opzoeken via hash en UserOperation-ontvangstbewijzen.

Een reactie van een bundler kan betekenen dat het verzoek de controles van die dienst doorstond en in diens pool is opgenomen. Dat bewijst niet dat een blok het heeft opgenomen of dat de app-actie is geslaagd.

Hoe een bundler het verzoek met andere bundlers deelt, hangt af van de infrastructuur en het beleid. Houd de bevestiging van een provider gescheiden van het resultaat op de chain.

Een bundler simuleert validatie en maakt een on-chain-aanroep klaar

Een bundler ontvangt een UserOperation, controleert de compatibiliteit met zijn EntryPoint-versie en simuleert daarna de validatielogica van het account en de paymaster.

De bundler controleert de handtekening, of het account die EntryPoint vertrouwt en of nonce, gas en sponsorvoorwaarden kloppen. Een operation die de regels overtreedt of de validatiesimulatie niet doorstaat, kan worden geweigerd.

De ERC-4337-bundlergids beschrijft simulatie en bundelindiening.

De bundler kiest een of meer goedgekeurde operations en maakt één gewone Ethereum-transactie die de functie handleOps op de EntryPoint aanroept.

Of die transactie in een blok terechtkomt, hangt nog steeds af van blokproductie en netwerkcondities. De teruggegeven UserOperation-hash bewijst niet dat de canonieke chain de uitvoering heeft vastgelegd.

De UserOperation-pool staat los van de EOA-pool; ga er niet van uit dat elke provider dezelfde verzoeken deelt. Een bundler kan een operation weigeren of in de wachtrij laten staan.

Ondersteunde chains, EntryPoint-versies en beleidsregels kunnen per wallet en provider verschillen.

Controleer de status door de walletweergave, het ontvangstbewijs van de operation en dat van de bundeltransactie op de chain te onderscheiden.

Woordloos schema van een ondertekende walletbewerking via een bundler en EntryPoint naar een smart account; een optionele sponsor betaalt gas
ERC-4337 scheidt het ondertekende verzoek, de bundlerinzending, accountvalidatie en optionele gassponsoring

De EntryPoint controleert accountbevoegdheden voordat het account wordt aangeroepen

De EntryPoint ontvangt de handleOps-aanroep van de bundler en roept de validatiefunctie van ieder smart account aan. Het account controleert of de aanroep via een vertrouwde EntryPoint komt en verifieert de handtekening of eigen regels.

De EntryPoint valideert en verhoogt de 64-bits reeks voor ieder account en iedere nonce-sleutel; het account kan zelf logica toepassen op het 192-bits sleutelveld. Zo kan een account meerdere sleutels met elk hun eigen reeks gebruiken.

Een optionele paymaster controleert ook of die de operation wil sponsoren. Als validatie slaagt, roept de EntryPoint de uitvoeringsfunctie van het account aan om de actie uit callData uit te voeren en de kosten te verrekenen.

De EntryPoint is het centrale contract waarmee smart-accountstromen mogelijk zijn zonder voor elk walletontwerp het Ethereum-protocol te wijzigen. Controleer het werkelijk gedeployde adres, de versie en de chains die de wallet ondersteunt.

De ERC-4337-gids voor de EntryPoint licht de validatie- en uitvoeringsstappen verder toe.

Simulatie is een nuttige controle vooraf, geen belofte dat de operation wordt opgenomen.

De chainstatus, vergoedingen, geldigheidsperiode of status van een extern contract kunnen veranderen terwijl de operation wacht en zo de on-chain-validatie beïnvloeden. Ook na validatie kan de app-aanroep mislukken of terugdraaien.

Opname in een blok bewijst op zichzelf niet dat de bedoelde tokenoverdracht of contractactie slaagde.

Een paymaster sponsort gas alleen als die de operation goedkeurt

Als een UserOperation paymaster-informatie bevat, vraagt de EntryPoint dat contract of het de operation wil sponsoren. Een app kan zo transactiekosten betalen of een gebruiker laten starten zonder ETH op diens account.

Sommige ontwerpen ondersteunen ook betaling in tokens of andere toelatingsvoorwaarden; dat hangt af van de wallet en paymasterimplementatie.

Sponsoring laat gas niet verdwijnen en neemt niet alle voorwaarden weg. Een paymaster kan apps, gebruikers, aantallen operations of bedragen beperken, het verzoek onderzoeken en weigeren.

De storting bij de EntryPoint betaalt operationkosten. Als daarnaast een stake vereist is, dient die volgens de validatieregels als zekerheid; het is niet dezelfde pot als de storting voor gas.

De ERC-4337-paymastergids en EIP-4337 beschrijven validatie en verrekening.

Een vergoeding van nul in de app-interface betekent niet dat er geen kosten zijn. De sponsor kan eerst betalen en later waarde terugverdienen via een abonnement, tokenbetaling of servicevoorwaarden.

Controleer wie uiteindelijk de kosten draagt, of sponsoring een maximum of gebruikslimiet heeft en of een mislukte operation toch kosten kan veroorzaken.

Beoordeel meerdere aanroepen en hun kosten afzonderlijk

Als een wallet dit ondersteunt, kan een gebruiker een app-goedkeuring en een swap in één UserOperation plaatsen. Beide acties worden als één operation via de EntryPoint ingediend.

Dit verschilt van één gewone EOA-transactie en ook van een bundler die meerdere losse UserOperations in één chaintransactie bundelt. Bekijk de walletpreview om te zien welke structuur wordt gebruikt.

Neem een hypothetisch kostenvoorbeeld: stel dat een goedgekeurde gesponsorde operation werkelijk 0,0012 ETH aan gas kost.

Die kosten kunnen uit de EntryPoint-storting van de paymaster worden verrekend in plaats van uit het saldo van de gebruiker. 0,0012 ETH is een illustratie, geen actuele koers of offerte.

De werkelijke kosten hangen af van het gasverbruik, de vergoedingsvoorwaarden en het netwerk.

Batching is niet automatisch goedkoper of veiliger. De atomiciteit van meerdere aanroepen hangt af van de manier waarop het smart account fouten afhandelt.

Controleer of één mislukte aanroep de hele batch terugdraait, of sommige acties voltooid kunnen blijven en wie gas betaalt. Een onnauwkeurige gasraming of niet-beschikbare app kan tot weigering of uitvoeringsfout leiden.

De gids over Ethereum-gaskosten legt de algemene velden uit.

Herstelregels komen uit de accountimplementatie, niet uit ERC-4337

Een smart account kan back-upondertekenaars of een herstelprocedure hebben waarin vertrouwde guardians een drempel moeten bereiken om een sleutel te vervangen.

Sommige ontwerpen voegen een wachttijd toe waarin de bestaande sleutel bezwaar kan maken. Als altijd één specifieke handtekening vereist is, kan verlies van die sleutel juist betekenen dat herstel onmogelijk is.

ERC-4337 laat accounts UserOperations volgens eigen regels valideren, maar geeft niet standaard elk account back-upsleutels of sociaal herstel.

Te weinig guardians of zwakke regels voor sleutelvervanging kunnen een aanvalspad creëren. Te veel guardians of strenge eisen kunnen het herstel door de rechtmatige eigenaar vertragen.

Controleer de drempel, wachttijd, annuleringsrechten en de beveiliging van herstelsleutels. Deze regels bepalen ook wie een operation kan blokkeren, niet alleen wie die kan autoriseren.

Een contractwallet is niet automatisch custodial of non-custodial.

De controle hangt af van wie de ondertekeningssleutels beheert, of het account beheer- of upgradebevoegdheden heeft en wat een gehoste ondertekenaar of hersteldienst mag autoriseren.

Bekijk het contract dat de assets aanhoudt apart van de sleutels en diensten die het beheren.

Back-ups van een gewone seed phrase zijn een apart onderwerp in de wallet-herstelgids.

Controleer vóór indiening de operation en de beheerroute

Controleer in de walletpreview het netwerk, accountadres, doelcontracten, aanroepgegevens, reikwijdte van token-goedkeuringen en het aantal aanroepen. Een handtekening kan meer autoriseren dan de ene actie die de interface benadrukt.

Raadpleeg de officiële documentatie van de app en wallet voordat je verdergaat als je de gegevens niet begrijpt.

Lees voor sponsoring de toelatingsvoorwaarden, gebruikslimieten, alternatieve betaalvoorwaarden en kostenregels bij mislukking. Vertrouw niet alleen op de naam van een paymaster.

Een actieve sponsormelding betekent niet dat de app onvoorwaardelijk gratis is en de paymaster kan de operation nog steeds weigeren. Netwerkdrukte en vertraging bij blokopname zijn afzonderlijke risico’s.

Blijft een UserOperation lang wachten, pas dan niet zonder controle een EOA-procedure voor ‘versnellen’ of ‘annuleren’ toe; kijk eerst hoe de wallet UserOperations afhandelt. Zoek de operation-hash en het ontvangstbewijs op.

Is de transactiehash van de bundler beschikbaar, controleer dan ook het blokontvangstbewijs en de uitvoeringsuitkomst.

RPC-ontvangstbewijzen kunnen de kosten en het succes van één operation onderscheiden van het ontvangstbewijs van de hele bundeltransactie. Dit verschilt van het vervangen of annuleren van een EOA-transactie met dezelfde nonce.

Veelgestelde vragen

Q1Is een UserOperation hetzelfde als een Ethereum-transactie?

Nee. Het is een smart-accountverzoek dat door een aparte pool gaat. Wanneer een bundler een EntryPoint-aanroep indient, registreert de chain de bundeltransactie en het resultaat van iedere operation.

Q2Betekent een paymaster dat de gebruiker geen gas betaalt?

De gebruiker betaalt mogelijk niet rechtstreeks ETH vanaf het account, maar netwerkkosten blijven bestaan. Voorwaarden kunnen toelatingseisen, tokenbetalingen of servicevoorwaarden bevatten en een mislukte operation kan nog gas kosten.

Q3Kan ik een ERC-4337-wallet herstellen nadat ik een sleutel verlies?

Alleen als het account back-upondertekenaars of herstelbeleid heeft. Controleer in de echte accountconfiguratie de drempel, wachttijd, bevoegdheid om sleutels te vervangen en controle van eventuele hersteldienst.

Bronnen en verder lezen

Probleem melden

We bereiden een e-mail met de link naar dit artikel voor. Mark ontvangt je melding pas nadat je die verstuurt

Snelle check

De gids gelezen? Test jezelf met 3 vragen

Vraag 1 / 3

Vraag 01

Een bundler geeft een UserOperation-hash terug. Wat toont die reactie op zichzelf aan?

Kies een antwoord om de uitleg te zien

Optiewoordenlijst