SwapSpace – Cross-chain crypto swaps

Nieuwe Ethereum Tokenstandaard en wat betekent dit?

Ruth Kise

,

Bijgewerkt: ,9 min

Er is een enorme variëteit aan verschillende cryptocurrencies, maar de meeste zijn gebouwd op dezelfde schema’s. Deze schema’s worden tokenstandaarden genoemd en definiëren de belangrijkste functionaliteit en eigenschappen van blockchain-tokens.

Tokenstandaarden zijn sets regels en afspraken die de werking van een cryptocurrency-token bepalen. Tot de populaire standaarden behoren ERC-20, BEP-20, ERC-721 en ERC-1155.

Waarom Standaarden Nodig Zijn

Consistentie: Als voor elke nieuwe token op een smart contract een unieke mechaniek zou worden voorgeschreven, dan zouden bestaande platforms, applicaties en wallets daar simpelweg niet mee kunnen werken. Tokenstandaarden garanderen dat producten die met deze standaard zijn gemaakt, compatibel zijn met elkaar. Zo zijn ERC-20-assets compatibel met andere producten en diensten die met deze tokenstandaard zijn ontwikkeld. Daardoor kan een ERC-20-token ook worden omgewisseld voor een andere token van deze standaard.

Daarnaast zou het veel moeilijker zijn om meerdere cryptocurrencies op te slaan en te verhandelen zonder tokenstandaarden. In plaats van één wallet voor veel verschillende cryptocurrencies, zou je voor elke token afzonderlijke wallets moeten aanmaken.

Connectiviteit: Een verbonden systeem stelt ontwikkelaars in staat bestaande componenten her te gebruiken om nieuwe producten te creëren. Hetzelfde geldt voor het creëren van tokens: het gebruik van standaarden versnelt de ontwikkeling van basisfuncties en laat meer tijd over voor verdere innovatie.

Efficiëntie: Tokenstandaarden maken het ook eenvoudiger om te interacteren tussen smart contracts. Smart contracts die tokenstandaarden implementeren, en de tokens zelf, kunnen worden gebruikt om gecreëerde tokens te volgen.

Tokenstandaarden zoals ERC-20 en BEP-20 bevatten belangrijke functies, waaronder adresopzoeking en token-saldotoewijzing, waardoor smart contracts tokens efficiënter kunnen volgen. Om bijvoorbeeld de transactiegeschiedenis en andere ERC-20-tokengegevens te verifiëren, kan een ontwikkelaar de application binary interface (ABI) van het contract gebruiken.

Variatie: De aanwezigheid van verschillende standaarden voor clientsoftware maakt het voor iedereen mogelijk om zijn eigen versie van de Ethereum-client te schrijven in elke programmeertaal, onder voorbehoud van standaarden en specificaties voor Ethereum-nodes en clients. Zo kan er een willekeurig aantal nodes en clients op het Ethereum-netwerk bestaan, waarvan sommige Ethereum-software draaien geschreven in Golang, Rust, Java, C #, C++, of Python. Dit vergroot de “klantendiversiteit”, waardoor het netwerk sterker wordt door minder afhankelijk te zijn van één code-implementatie. Maar al deze implementaties, ongeacht de softwaretaal, het ontwerp of de implementatiedetails, hebben één ding gemeen: ze volgen allemaal één enkele specificatie voor clients.

Standaarden helpen dus om de variëteit aan implementaties te vergroten. Dat betekent dat er verschillende benaderingen kunnen zijn voor beveiliging, snelheid, schaalbaarheid, enzovoort, en die variatie verrijkt de algehele ervaring.

Nieuwe Ethereum-Tokenstandaard

De EIP-4337-update werd gepresenteerd op de WalletCon-conferentie in het kader van ETHDenver en op 1 maart 2023 uitgerold op Ethereum. De belangrijkste innovatie van deze EIP was de implementatie van de zogenaamde account abstraction en de opkomst van een nieuwe walletstandaard die, volgens de ontwikkelaars, de gebruikservaring zal verbeteren en de interactie met de blockchain gebruiksvriendelijker zal maken. Vervolgens analyseren we wat voor wallets dit zijn, hoe ze verschillen van gewone wallets en waarom EIP-4337 überhaupt nodig is.

Wat Is een Contract Account en Hoe Verschilt Die van de Gewone

Om beter te begrijpen waar EIP-4337 op is gericht en welke innovaties het biedt, gaan we een stap terug. Voor de introductie van de update op het Ethereum-netwerk waren er twee soorten accounts:

  • Externally Owned Accounts (EOA): wallets die gebruikmaken van een infrastructuurprovider om te worden aangemaakt. Dit is het dominante type wallet dat wordt aangeboden door MetaMask en 99% van de andere ontwikkelaars.
  • Contract Accounts (CA): dit zijn wallets die worden beheerd door code in EVM, met andere woorden, smart contracts. Ze hebben geen infrastructuurprovider nodig om te draaien en te beheren.

De dominantie van EOA wordt verklaard door de architectuur van het netwerk zelf, die vereist dat de ECDSA-standaard wordt gebruikt om de transactie te ondertekenen. Smart contracts hebben niet de mogelijkheid om transacties te ondertekenen met ECDSA, dus CA’s kunnen geen transactie uit hun eigen naam initiëren. Dat wil zeggen, ze zijn nutteloos als wallet voor een gewone gebruiker.

Tegelijkertijd gebruiken EOA’s monolithische logica voor transactieverwerking met behulp van een private en public key. Door die monolithische logica hebben ontwikkelaars niet de mogelijkheid om onderdelen aan te passen, zoals identificatievereisten. Daarom vereist elke blockchain-applicatie een EOA-wallet met een private key en een public address om te kunnen interacteren.

EIP-4337 moet het voordeel van EOA wegnemen en CA gebruiksvriendelijker maken door een nieuwe walletstandaard toe te voegen in de vorm van een smart contract en een nieuwe laag aan het Ethereum-netwerk die het mogelijk maakt transacties uit te voeren en te verifiëren zonder gebruik van een private en public key. Hiervoor hebben de ontwikkelaars de zogenaamde account abstraction geïmplementeerd. Laten we deze term nader bekijken.

Wat Is Account Abstraction

Het concept “account abstraction” zegt een beginner niets en maakt het begrip alleen maar ingewikkelder. In de informatica is een abstractie het opsplitsen van één proces in meerdere delen, die onafhankelijk kunnen worden uitgevoerd. Simpel gezegd wordt het proces modulair en ontstaan er mogelijkheden om elk onderdeel afzonderlijk te configureren.

In de context van een Ethereum-wallet betekent dit het scheiden van de validatie en uitvoering van transacties, die nu als één doorlopend proces plaatsvinden. Dienovereenkomstig maken Contract Accounts het mogelijk om elk van deze processen flexibel te configureren, wat meer mogelijkheden biedt om de gebruikservaring te optimaliseren. 

Daarnaast betekent account abstraction de scheiding van het account en de eigenaar ervan. Op dit moment zijn de wallet en de gebruiker in wezen één geheel, omdat alleen de eigenaar van een seed phrase of private key assets kan verzenden en alleen de eigenaar van een public address assets kan ontvangen. De abstractie maakt het mogelijk om een smart contract als wallet te laten draaien, die code in EVM aanstuurt, en niet een bundel public en private keys. Dit breidt de ondersteunde authenticatiemethoden en walletbeveiligingsfuncties uit.

Hoe Werken EIP-4337 Contract Accounts 

EIP-4337 is niet de eerste poging om account abstraction te implementeren en Contract Accounts te lanceren op het Ethereum-netwerk. Vitalik Buterin presenteerde de eerste versie van account abstraction al in 2016 en sindsdien zijn er 5 verschillende EIP’s (86, 1014, 2938, 3074 en 4337) over dit onderwerp voorgesteld. EIP-4337 introduceerde echter een concept dat geen wijziging van het basis Ethereum-protocol vereist, wat een doorslaggevende factor was, aangezien dit betekent dat een network hardfork niet nodig is om het te adopteren.

De architectuur van account abstraction in EIP-4337 bestaat uit de volgende basiselementen:

UserOperation: ook wel een pseudo-transactie genoemd. Een analoog van een transactie met een standaard wallet, maar bevat meer gegevens dan een gewone transactie.

Bundler: De node die de UserOperation uit de mempool selecteert, ze in pakketten verzamelt en ze ter verificatie naar EntryPoint stuurt. Aangenomen wordt dat de Bundler-functie wordt uitgevoerd door huidige Ethereum-validatortsen, waarvoor zij een extra beloning kunnen ontvangen in de vorm van een deel van de transactiekosten.

Omdat EIP-4337 een nieuwe infrastructuurlaag bovenop de Ethereum-blockchain creëert, heeft UserOperations een eigen mempool die verschilt van de mempool van het hoofdnetwerk. Conventionele validators hebben hier geen toegang toe.

EntryPoint: is het smart contract op het Ethereum-netwerk dat verantwoordelijk is voor het verifiëren van transacties. Dit is een sleutelelement van de hele EIP-4337-infrastructuur, daarom richten de ontwikkelaars zich op veiligheid en een zorgvuldige audit van het smart contract. EntryPoint vervult meerdere functies tegelijk, die gezamenlijk “transaction validation” kunnen worden genoemd.

Contract Account: Dit is de smart wallet die eigendom is van de gebruiker. Een via EntryPoint geverifieerde transactie wordt tegelijkertijd ter uitvoering verzonden naar de blockchain en naar de smart wallet van de gebruiker in de EIP-4337-infrastructuur.

Optioneel kunnen ook de volgende onderdelen worden geïmplementeerd:

Paymasters: Dit zijn sponsoringcontracten waarmee je transactiekosten kunt betalen in plaats van de verzender, of gas kunt betalen in een willekeurige ERC-20-token. Zo kan bijvoorbeeld P2E Paymasters in zijn infrastructuur implementeren zodat spelers geen ETH hoeven te kopen om gas te betalen.

Aggregators: aggregators van gebruikershandtekeningen. Zogeheten atomic transactions worden mogelijk, waarbij meerdere acties in één transactie worden gecombineerd. In de praktijk stelt dit je in staat om met dApps te interacteren met een minimaal aantal handtekeningen.

De levenscyclus van een transactie met een smart wallet EIP-4337 is als volgt: 

  1. 1. De gebruiker initieert UserOperation via de wallet-applicatie (een dienst die de interface levert), waarna deze naar een speciale mempool wordt gestuurd.
  2. 2. Bundler, die functioneert als netwerkvalidator, selecteert transacties uit deze mempool en vormt er pakketten van.
  3. 3. UserOperations-pakketten worden naar het EntryPoint-smart contract gestuurd. Het smart contract controleert of transacties kunnen worden uitgevoerd en of de gebruiker of Paymaster voldoende ETH heeft om de gaskosten te betalen.
  4. 4. Als aan alle voorwaarden is voldaan, wordt de transactie verzonden naar het Contract Account van de ontvanger en naar Ethereum-validatortsen voor opname in de blockchain.

Voordelen en Uitdagingen van EIP-4337 Wallets 

Het belangrijkste doel van account abstraction in het algemeen en de EIP-4337-update is om EOA-wallets te vervangen door smart wallets (CA’s). Volgens Vitalik Buterin en andere specialisten biedt dit ontwikkelaars meer mogelijkheden om een hoogwaardige gebruikservaring te creëren. In het bijzonder ondersteunen smart wallets:

  • Verschillende authenticatieopties: abstractie van de logica voor transactievalidatie maakt flexibele aanpassing van gebruikersauthenticatieopties mogelijk. Hiervoor kan een vertrouwd e-mailadres, een biometrische authenticator of bijvoorbeeld een ge-whitelist apparaat worden gebruikt. Dat wil zeggen, elk apparaat kan worden omgezet in een soort analoog van een private key.
  • Flexibele mechanismen voor het betalen van kosten: Paymaster-sponsoringcontracten maken het mogelijk de verplichting om gas te betalen te verplaatsen van de verzender naar een derde partij en complexere gasbetalingsmodellen te creëren (bijvoorbeeld in ERC-20-tokens of met korting). Dat wil zeggen, de gebruiker hoeft nu geen ETH meer te kopen om met dApps te interageren, wat de instapdrempel voor beginners verlaagt.
  • Geavanceerde beveiligingsinstellingen voor accounts: extra beveiligingsinstellingen kunnen naast de authenticatiemethode ook multisig, een dagelijkse bestedingslimiet of bijvoorbeeld tijdsvertragingen voor transacties omvatten. Dit helpt de fondsen van de gebruiker te beschermen, zelfs als een aanvaller toegang tot het account heeft gekregen.
  • Atomische multi-operaties: de in de vorige sectie beschreven Aggregators-contracten zijn hiervoor verantwoordelijk. Dankzij hen kun je de vele handtekeningen vergeten die nodig waren om de eerste DEX-swap uit te voeren, een NFT op de marketplace te kopen, of anderszins met dApps te interacteren.

Een belangrijke doorbraak is de mogelijkheid tot sociaal herstel van de wallet. Met deze functie kan de gebruiker weer toegang krijgen tot de wallet via een lijst van vertrouwde wallets of e-mailadressen, bijvoorbeeld van vrienden of familieleden.

Dit betekent dat de tijd waarin je om in een gewone P2E te stappen een wallet moest aanmaken, ETH kopen, meerdere transacties moest ondertekenen en maar moest proberen geen toegang tot assets te geven aan een scam smart contract, achter ons ligt. Wallets van een nieuw type functionaliteit zullen meer lijken op Google- of Apple ID-accounts dan op MetaMask en Ledger.

De Conclusie

Tokenstandaarden zijn specifieke schema’s voor het ontwikkelen en uitvoeren van blockchain-gebaseerde tokens. Er zijn nu verschillende tokenstandaarden in de sector, evenals veel innovatieve oplossingen. Een daarvan is EIP-4337.

EIP-4337 is een belangrijke stap richting massale groei, omdat nieuwe accounts een meer vertrouwde en begrijpelijke gebruikservaring bieden. Het is onwaarschijnlijk dat mensen die een Twitter-wachtwoord vergeten technologie gaan gebruiken waarvoor 12 woorden moeten worden onthouden en die moeten begrijpen wat private en public keys zijn.

Delen:

Gerelateerde artikelen

Nieuwsgierig naar meer?

Meld je aan voor onze nieuwsbrief — blijf geïnformeerd en empowered.