Permit-handtekeningen: EIP-2612 en Permit2 Uitgelegd

Normaal heeft een gebruiker twee transacties nodig om een contract zijn tokens te laten gebruiken: een approve, en daarna de eigenlijke actie. Permit-handtekeningen vervangen die eerste transactie door een off-chain handtekening. De gebruiker ondertekent een leesbaar EIP-712-bericht, en de applicatie verstuurt die handtekening samen met de actie in één transactie. Minder stappen, minder gas, en de gebruiker hoeft geen gas aan te houden voor de approval.

EIP-2612: permit ingebouwd in de token

EIP-2612 voegt een permit-functie toe aan een ERC-20-token. De handtekening bevat de eigenaar, de spender, het bedrag, een nonce en een deadline. Iedereen kan hem indienen; de token controleert de handtekening en stelt de allowance in. Het werkt alleen bij tokens die het implementeren: veel nieuwere tokens en USDC doen dat, maar niet elke grote token, en DAI gebruikt een ouder, iets afwijkend permit-formaat.

Permit2: approvals via handtekening voor elke token

Permit2 is een contract van Uniswap dat approvals via een handtekening naar elke ERC-20-token brengt. De gebruiker keurt Permit2 één keer per token goed; daarna vragen applicaties handtekeningen voor specifieke bedragen en tijdvensters. Permit2 kent twee vormen: eenmalige ondertekende overboekingen, en allowances met een beperkte looptijd. Het wordt veel gebruikt door DEX'en en aggregators, zie DEX-integraties.

Valkuilen die wij afvangen

  • Tokenondersteuning: herkennen of een token EIP-2612 ondersteunt, en anders terugvallen op Permit2 of een gewone approval.
  • Front-running van permits: iemand kan de permit van een gebruiker eerder indienen, waardoor uw transactie mislukt; contracts moeten een al gebruikte permit kunnen verdragen.
  • Exacte bedragen en korte deadlines in plaats van onbeperkte, permanente permits.
  • Phishing: permits zijn een geliefde techniek van drainers, dus het ondertekeningsverzoek moet duidelijk zijn. Zie blind signing voorkomen.

Veelgestelde vragen

Wat is het verschil tussen permit en EIP-3009?

Permit stelt een allowance in; EIP-3009 keurt direct een specifieke overboeking goed. EIP-3009 wordt door minder tokens ondersteund, waaronder USDC.

Maakt permit transacties volledig gasloos?

Het haalt de approval-transactie weg. Iemand betaalt nog steeds gas voor de actie zelf: de gebruiker, of uw applicatie via een relayer of paymaster. Zie gasloze transacties.

Moet onze eigen token EIP-2612 ondersteunen?

Meestal wel. Het is een kleine toevoeging, goed ondersteund door standaardbibliotheken, en maakt uw token makkelijker te gebruiken in applicaties.

Wie is eigenaar van de code?

Het eigendom van de broncode wordt in het contract vastgelegd, en de code kan volledig van u zijn, inclusief documentatie en tests.

Onderdeel van ons werk aan handtekeningen en ondertekening. Zie ook meta-transacties.

Schrap de approval-stap

Vertel ons welke tokens en flows uw gebruikers doorlopen. Wij implementeren permits die een stap besparen en veilig blijven.

Plan een gratis gesprek over permit-handtekeningen