EIP-7702

Pokročilí

Co je EIP-7702?

EIP-7702 je návrh, který má zlepšit možnosti účtů v externím vlastnictví. Účty v externím vlastnictví jsou základní účty na síti Ethereum, které mohou odesílat transakce a komunikovat s chytrými kontrakty. Postrádají ale určité funkce některých kryptoměnových peněženek, jako je sdružování transakcí do dávek nebo sponzorování poplatků gas.
Cílem návrhu EIP-7702 je umožnit účtům v externím vlastnictví chovat se dočasně, v rámci jedné transakce, jako účty chytrých kontraktů a propůjčit jim funkce, které jsou obvykle vyhrazeny peněženkám chytrých kontraktů. Návrh EIP-7702 vznikl v reakci na některá omezení a kritiku návrhu EIP-3074.

I když návrh EIP-7702 není aktuálně implementovaný, má značnou podporu komunity a mnozí věří, že by mohl nahradit návrh EIP-3074. Pokud k tomu dojde, návrh EIP-7702 by se mohl stát součástí upgradu Ethereum Pectra, který je naplánovaný na konec roku 2024.

Jak návrh EIP-7702 funguje?

EIP-7702 představuje nový typ transakce na síti Ethereum, která obsahuje speciální pole nazvané contract_code. To dává účtům v externím vlastnictví po dobu trvání transakce určité vlastnosti chytrého kontraktu. Pojďme se podívat, jak to celé funguje.

Příprava transakce

Uživatel začne přípravou transakce, do které zahrne obvyklé údaje, jako je cílová adresa, limit poplatku gas a data, která je třeba odeslat. Kromě těchto údajů vloží do pole contract_code speciální část kódu chytrého kontraktu. Tento kód popisuje funkce chytrého kontraktu, které budou účtu v externím vlastnictví dočasně přiřazeny.

Oprávnění 

Uživatel pak transakci podepíše. Tento podpis je důležitý, protože ověřuje transakci a obsahuje seznam oprávnění. Seznam oprávnění obsahuje podrobnosti o kódu contract_code a podmínkách, za kterých by měl být realizován. V podstatě ověřuje a opravňuje dočasné přiřazení kódu chytrého kontraktu k účtu v externím vlastnictví.

Vykonání

Když se transakce odešle na Ethereum, síť ji zpracuje dočasným přiřazením uvedeného kódu contract_code k účtu v externím vlastnictví. Během této fáze se transakce zpracovává, jako by účet v externím vlastnictví byl chytrým kontraktem, a využívá funkce poskytované kódem contract_code.

Zvrácení

Po dokončení transakce síť Ethereum dočasný kód contract_code z účtu v externím vlastnictví automaticky odstraní.. Účet v externím vlastnictví se vrátí do původního stavu a přijde o dočasné možnosti chytrého kontraktu.

Analogie doručení

Představte si, že Bob je doručovatel s běžným autem, které může převážet pouze malé balíky. Jednoho dne Bob obdrží žádost o doručení většího balíku. Než aby objednávku odmítl, rozhodne se pronajmout si přepravní box, který může připevnit k autu. Balíček doručí, přepravní box vrátí zpět do půjčovny a vrátí se k používání běžného auta.

V této analogii:

  • Běžným autem je účet v externím vlastnictví.

  • Dočasný přepravní box je kód contract_code, který zprostředkovává další možnosti.
  • Doručovací cesta je transakce.

  • Pronájem a vrácení přepravního boxu představuje dočasnou povahu kódu contract_code, který je aktivní pouze během transakce.

Výhody návrhu EIP-7702

Zabezpečení

Automatickým odebráním dočasného kódu kontraktu po transakci by se podle návrhu EIP-7702 snížilo riziko neoprávněného jednání. Tím je zajištěno, že vylepšení budou aktivní pouze během transakce, což omezuje potenciální slabá místa.

Flexibilita

Návrh EIP-7702 by se mohl využívat různě, například k dávkování transakcí, kdy je možné spojit do jedné transakce několik akcí. Podporoval by také sponzorování poplatku gas, což by jednomu účtu umožnilo zaplatit transakční poplatky za jiný účet.

Přijetí chytrých peněženek

Když by návrh EIP-7702 umožnil účtům v externím vlastnictví dočasně fungovat jako chytré kontrakty, mohlo by to podpořit používání funkcí chytrých peněženek bez bezpečnostních rizik spojených s trvalými změnami účtů v externím vlastnictví.

Shrnutí

EIP-7702 je návrh, který řeší omezení účtů v externím vlastnictví tím, že jim dočasně přiděluje funkce chytrých kontraktů. Omezení doby trvání funkcí chytrých kontraktů na délku jedné transakce může nejen zvýšit bezpečnost, ale také poskytnout větší flexibilitu v podobě sdružování transakcí do dávek, sponzorování poplatků gas a dalších funkcí.

I když budoucnost návrhu EIP-7702 zatím není jistá, jeho značná podpora naznačuje silnou pravděpodobnost, že bude začleněn do nadcházejícího upgradu Pectra sítě Ethereum, který je naplánovaný na konec roku 2024.