EIP-7702

Напреднал

Какво е EIP-7702?

EIP-7702 е предложение, предназначено да подобри възможностите на външно притежаваните акаунти (EOA). EOA са основни акаунти в Ethereum, които могат да изпращат трансакции и да взаимодействат със смарт договори. В тях обаче липсват някои функционалности, които се срещат в някои крипто портфейли, като например групиране на трансакциите и спонсориране за газ.
EIP-7702 има за цел временно да позволи на EOA да се държат като акаунти за смарт договор в рамките на една трансакция, като по този начин въвежда функции, обикновено запазени за портфейли за смарт договори. EIP-7702 е създаден в отговор на някои ограничения и критики към EIP-3074.

Въпреки че в момента EIP-7702 не е активен, той има забележима подкрепа от общността и мнозина вярват, че може да замени предложението EIP-3074. Ако това се случи, EIP-7702 може да бъде внедрен в ъпгрейда Pectra на Ethereum, планиран за края на 2024 г.

Как работи EIP-7702?

EIP-7702 представя нов тип трансакция в мрежата на Ethereum, която включва специално поле, наречено contract_code. Това дава на EOA определени свойства на смарт договор за продължителността на трансакцията. Нека да видим как работи.

Подготовка на трансакцията

Потребителят започва с подготовката на трансакцията, като включва обичайните детайли като адрес на местоназначение, лимит за газ и всички данни, които трябва да бъдат изпратени. В допълнение към тези данни той включва и специална част от кода на смарт договор в полето contract_code. Този код очертава функционалностите на смарт договора, които ще бъдат временно възложени за неговите EOA.

Упълномощаване 

След това потребителят подписва трансакцията. Този подпис е от решаващо значение, тъй като удостоверява трансакцията и включва списък за упълномощаване. Този списък съдържа подробна информация за contract_code и условията, при които той трябва да бъде изпълнен. По същество той проверява и разрешава временното възлагане на кода на смарт договора към EOA.

Изпълнение

Когато трансакцията бъде подадена в Ethereum, мрежата я обработва, като временно присвоява посочения contract_code към EOA. По време на тази фаза трансакцията се обработва така, сякаш EOA е смарт договор, като се използват функционалностите, предоставени от contract_code.

Обръщане

След приключване на трансакцията мрежата на Ethereum автоматично премахва временния contract_code от EOA. EOA се връща в първоначалното си състояние, губейки временните възможности за смарт договор.

Аналогия с доставките

Представете си, че Боб е куриер с обикновена кола, която може да превозва само малки колети. Един ден Боб получава заявка за доставка за по-голям пакет. Вместо да отхвърли поръчката, Боб решава да наеме допълнителен товарен контейнер, който да прикачи към колата си. Той доставят пратката и връща товарния контейнер обратно в магазина под наем, като се връща към обикновения си автомобил.

В тази аналогия:

  • Обикновеният автомобил е EOA.

  • Временният товарен контейнер е contract_code, който предоставя допълнителни възможности.
  • Пътуването за доставка е трансакцията.

  • Наемането и връщането на товарния контейнер представлява временния характер на contract_code, който е активен само по време на трансакцията.

Предимства на EIP-7702

Сигурност

Чрез автоматичното премахване на временния код на договора след трансакцията, EIP-7702 би намалил риска от неупълномощени действия. Това гарантира, че подобренията са активни само по време на трансакцията, ограничавайки потенциалните уязвимости.

Гъвкавост

EIP-7702 би позволил различни случаи на употреба, като групиране на трансакции, където множество действия могат да бъдат комбинирани в една трансакция. Той също така би поддържал спонсориране за газ, позволявайки на една сметка да плаща за таксите за трансакция на друга сметка.

Приемане на смарт портфейли

Като позволява на EOA да функционират временно като смарт договори, EIP-7702 може да насърчи използването на функции на смарт портфейл без рисковете за сигурността, свързани с постоянните промени в EOA.

Заключение

EIP-7702 е предложение, с което се преодоляват ограниченията на EOA, като временно им се предоставят възможности за смарт договори. Това може да подобри сигурността чрез ограничаване на продължителността на функционалностите на смарт договора до продължителността на една трансакция. То може също така да осигури повече гъвкавост чрез групиране на трансакции, спонсориране за газ и други функции.

Въпреки че бъдещето му все още не е сигурно, значителната подкрепа за EIP-7702 показва голяма възможност за включването му в предстоящия ъпгрейд Pectra на Ethereum, планиран за края на 2024 г.