EIP-7702

Let øvet

Hvad er EIP-7702?

EIP-7702 er et forslag, der er designet til at forbedre mulighederne for eksternt ejede konti (EOA'er). EOA'er er grundlæggende konti på Ethereum-netværket, som kan sende transaktioner og interagere med smart contracts. De mangler dog visse funktioner, der findes i visse krypto-wallets, såsom transaktionsbatching og gassponsorering.
EIP-7702 sigter mod midlertidigt at tillade EOA'er at opføre sig som smart contract-konti inden for en enkelt transaktion og derved introducere funktioner, der typisk er forbeholdt smart contract-wallets. EIP-7702 blev oprettet som reaktion på visse begrænsninger og kritik af EIP-3074.

Selvom EIP-7702 ikke er aktiv i øjeblikket, har den bemærkelsesværdig støtte fra fællesskabet, og mange mener, at den kan erstatte EIP-3074-forslaget. Hvis dette sker, kan EIP-7702 blive implementeret i Ethereum Pectra-opgraderingen, der er planlagt til slutningen af 2024.

Hvordan virker EIP-7702?

EIP-7702 præsenterer en ny type transaktion på Ethereum-netværket, som omfatter et særligt felt kaldet contract_code. Dette giver en EOA visse smart contract-egenskaber for transaktionens varighed. Lad os se, hvordan det fungerer.

Forberedelse af transaktion

Brugeren starter med at forberede en transaktion, herunder de sædvanlige detaljer som f.eks. destinationsadresse, gasgrænse og eventuelle data, der skal sendes. Ud over disse oplysninger omfatter de et særligt stykke smart contract-kode i feltet contract_code. Denne kode skitserer de smart contract-funktionaliteter, der midlertidigt vil blive tildelt vedkommendes EOA.

Godkendelse 

Brugeren underskriver derefter transaktionen. Denne signatur er afgørende, da den godkender transaktionen og indeholder en autorisationsliste. Denne liste beskriver contract_code og de betingelser, hvorunder den skal udføres. I bund og grund verificerer og godkender den midlertidige tildeling af smart contract-koden til EOA.

Udførelse

Når transaktionen indsendes til Ethereum, behandler netværket den ved midlertidigt at tildele den angivne contract_code til EOA. I denne fase behandles transaktionen, som om EOA'en var en smart contract, ved hjælp af de funktioner, der leveres af contract_code.

Reversion

Når transaktionen er fuldført, fjerner Ethereum-netværket automatisk den midlertidige contract_code fra EOA'en. EOA'en vender tilbage til sin oprindelige tilstand og mister de midlertidige funktioner til smart contracts.

Leveringsanalogi

Forestil dig, at Bob er en leveringschauffør med en almindelig bil, der kun kan bære små pakker. En dag modtager Bob en anmodning om levering af en større pakke. Så i stedet for at afvise ordren beslutter Bob sig for at leje en ekstra bagageboks, som han kan fastgøre til sin bil. Bob leverer pakken og returnerer bagageboksen tilbage til udlejningsbutikken og går tilbage til sin almindelige bil.

I denne analogi:

  • Den almindelige bil er EOA'en.

  • Den midlertidige lastboks er den contract_code , der giver yderligere muligheder.
  • Leveringsruten er transaktionen.

  • Leje og returnering af lastboksen repræsenterer den midlertidige karakter af contract_code, som kun er aktiv under transaktionen.

Fordele ved EIP-7702

Sikkerhed

Ved automatisk at fjerne den midlertidige kontraktkode efter transaktionen vil EIP-7702 reducere risikoen for uautoriserede handlinger. Dette sikrer, at forbedringerne kun er aktive under transaktionen, hvilket begrænser potentielle sårbarheder.

Fleksibilitet

EIP-7702 vil give mulighed for forskellige use cases, såsom transaktionsbatching, hvor flere handlinger kan kombineres til en enkelt transaktion. Det vil også understøtte gassponsorering, så en konto kan betale for en anden kontos transaktionsgebyrer.

Indførelse af smart wallet

Ved at gøre det muligt for EOA'er midlertidigt at fungere som smart contracts kan EIP-7702 tilskynde til brugen af smart wallet-funktioner uden de sikkerhedsrisici, der er forbundet med permanente ændringer af EOA'er.

Konklusion

EIP-7702 er et forslag, der adresserer begrænsningerne ved EOA'er ved midlertidigt at tildele dem smart contract-funktioner. Dette kan øge sikkerheden ved at begrænse varigheden af smart contract-funktionaliteter til længden af en enkelt transaktion. Det kan også give mere fleksibilitet gennem transaktionsbatching, gassponsorering og andre funktioner.

Selvom dens fremtid endnu ikke er sikker, indikerer den betydelige støtte til EIP-7702 en stærk mulighed for at inkludere den i den kommende Ethereum Pectra-opgradering, der er planlagt til slutningen af 2024.