EIP-7702

Stredne pokročilý

Čo je EIP-7702?

EIP-7702 je návrh navrhnutý na vylepšenie schopností externe vlastnených účtov (EOA). EOA sú základné účty v sieti Ethereum, ktoré dokážu odosielať transakcie a interagovať so smart kontraktmi. Chýbajú im však určité funkcie, ktoré umožňujú určité kryptopeňaženky, napríklad dávkovanie transakcií a sponzorovanie poplatkov gas.
Cieľom EIP-7702 je umožniť, aby sa EOA dočasne mohli správať ako účty smart kontraktov v rámci jednej transakcie, čím by mohli využívať funkcie, ktoré sú zvyčajne vyhradené pre peňaženky smart kontraktov. EIP-7702 bol vytvorený v reakcii na určité obmedzenia a kritiku EIP-3074.

Hoci EIP-7702 sa momentálne nepoužíva, má pozoruhodnú podporu zo strany komunity a mnohí sa domnievajú, že by mohol nahradiť návrh EIP-3074. Ak sa to stane, EIP-7702 by mohol byť implementovaný v rámci inovácie Ethereum Pectra, ktorá je naplánovaná na koniec roka 2024.

Ako funguje EIP-7702?

EIP-7702 predstavuje nový typ transakcie v sieti Ethereum, ktorý obsahuje špeciálne pole s názvom contract_code. To dáva EOA určité vlastnosti smart kontraktov počas trvania transakcie. Pozrime sa, ako to funguje.

Príprava transakcie

Používateľ začína prípravou transakcie vrátane obvyklých údajov, ako je cieľová adresa, limit poplatku gas a všetky údaje, ktoré je potrebné odoslať. Okrem týchto údajov obsahuje v poli contract_code špeciálny kúsok kódu smart kontraktu. Tento kód načrtáva funkcie smart kontraktu, ktoré budú dočasne priradené k EOA.

Autorizácia 

Používateľ potom podpíše transakciu. Tento podpis je kľúčový, pretože overuje transakciu a obsahuje autorizačný zoznam. Tento zoznam podrobne popisuje contract_code a podmienky, za ktorých by sa mal vykonať. V podstate overuje a autorizuje dočasné priradenie kódu smart kontraktu k EOA.

Exekúcia

Keď sa transakcia odošle do siete Ethereum, sieť ju spracuje dočasným priradením špecifikovaného contract_code k EOA. Počas tejto fázy sa transakcia spracováva, akoby EOA bol smart kontrakt, s využitím funkcií poskytovaných contract_code.

Reverzia

Po dokončení transakcie sieť Ethereum automaticky odstráni dočasný contract_code z EOA. EOA sa vráti do pôvodného stavu, príde o dočasne pridelené funkcie smart kontraktov.

Analógia doručenia

Predstavte si, že Bob je kuriér s bežným autom, ktoré môže prepravovať iba malé balíky. Jedného dňa dostane Bob žiadosť o doručenie väčšieho balíka. Takže namiesto odmietnutia objednávky sa Bob rozhodne prenajať si príves, ktorý pripojí k jeho autu. Dodá balík, príves vráti späť do požičovne a vráti sa k používaniu svojho štandardného auta.

V tejto analógii:

  • Bežné auto je EOA.

  • Dočasný príves je contract_code , ktorý umožňuje rozšírené možnosti.
  • Doručenie balíka je transakcia.

  • Prenájom a vrátenie prívesu predstavuje dočasný charakter contract_code, ktorý je aktívny iba počas transakcie.

Výhody EIP-7702

Bezpečnostné

Automatickým odstránením dočasného kódu kontraktu po transakcii by návrh EIP-7702 znížil riziko neoprávnených krokov. To zabezpečí, že vylepšenia sú aktívne iba počas transakcie, čím sa obmedzujú potenciálne zraniteľnosti.

Flexibilita

EIP-7702 by umožnil rôzne prípady použitia, ako je dávkovanie transakcií, kde je možné kombinovať viacero akcií do jednej transakcie. Podporilo by to aj sponzorstvo poplatkov gas, čo by jednému účtu umožnilo zaplatiť poplatky za transakciu za iný účet.

Prijatie inteligentnej peňaženky

Tým, že EOA dočasne fungujú ako smart kontrakty, by návrh EIP-7702 mohol podporiť používanie funkcií smart peňaženky bez bezpečnostných rizík spojených s trvalými zmenami EOA.

Záver

EIP-7702 je návrh, ktorý rieši obmedzenia EOA tým, že im dočasne poskytuje funkcie smart kontraktov. To môže zvýšiť bezpečnosť obmedzením trvania funkcií smart kontraktov na dĺžku jednej transakcie. Môže tiež poskytnúť väčšiu flexibilitu prostredníctvom dávkovania transakcií, sponzorovania poplatkov gas a ďalších funkcií.

Hoci jeho budúcnosť ešte nie je istá, podstatná podpora pre EIP-7702 naznačuje vysokú pravdepodobnosť jeho zaradenia do nadchádzajúcej aktualizácie Ethereum Pectra, ktorá je naplánovaná na koniec roka 2024.