В следующем хардфорке Ethereum под названием Pectra будет принята EIP-3074, которая изменит взаимодействие пользователей с EVM-сетями и сделает UX кошельков проще, дешевле и функциональнее. Вот неплохой обзор EIP и её значимости.
Краткое содержание EIP-3074 заключается в том, что он предоставит EOA (Externally Owned Accounts = обычным кошелькам) возможности смарт-контрактов. Это включает в себя возможность делать единичные одобрения транзакций, пакетные тракнзации, восстановление активов кошелька, спонсируемые транзакции и многое другое.
Как уже неоднократно обсуждалось, у современных кошельков есть много проблем с точки зрения UX:
• необходимость отдельных транзакций для апрувов,
• каждое действие требует отдельной транзакции,
• нет защиты от потери ключей,
• нельзя ничего сделать без ETH на кошельке для газа.
Эти проблемы могут быть решены с помощью кошельков со смарт-контрактами, но для этого пользователям необходимо на них мигрировать, что само по себе UX-проблема и стоит денег.
EIP-3074 добавляет в протокол Ethereum два новых опкода (компьютерная инструкция) — AUTH и AUTHCALL. Они работают в тандеме, позволяя смарт-контракту действовать от имени EOA.
• AUTH принимает подпись пользователя и предполагаемое действие и проверяет, правильно ли она была подписана. Он устанавливает переменную, которая указывает адрес отправителя транзакции.
• Затем AUTHCALL вызывает целевой контракт(ы) с адресом отправителя в качестве вызывающей стороны, а не фактического отправителя msg.sender.
В итоге флоу выглядит следующим образом:
1. Пользователь подписывает сообщение (офчейн, не транзакцией).
2. Пользователь или спонсор отправляет сообщение контракту-инициатору (Invoker contract) в качестве транзакции.
3. Контракт-инициатор использует AUTH и AUTHCALL для проверки и вызова каждого целевого контракта с адресом пользователя в качестве отправителя.
От этого нового флоу транзакций мы получаем несколько новых возможностей.
Возможность №1 заключается в том, что транзакции могут быть спонсированы. Допустим, у пользователя нет ETH в кошельке — не проблема, оплатить газ за пользователя может приложение. Это может иметь огромное значение для адопшна среди ритейла.
Возможность №2 — выполнение нескольких действий в одной транзакции. Например, объединить апрув и фактический свап токенов.
Возможность №3 — возврат потерянных активов. Можно настроить специальный контракт-инициатор таким образом, чтобы он позволял использовать механизмы социального восстановления в случае потери закрытого ключа.
Стоит отметить, что у EIP-3074 есть несколько недостатков. Самый большой из них связан с теми самыми контрактами-инициаторами — они должны быть аудированными, необновляемыми и не требующими доверия, иначе средства пользователей могут быть украдены. Кроме того, с EIP-3074 могут не работать некоторые существующие проверки reentrancy.
ℹ️ Полный текст EIP можно найти здесь: https://eips.ethereum.org/EIPS/eip-3074
Понравился пост? Ставьте лайки, подписывайтесь на канал, заходите в чат👇
🧑🚀 Канал | Чат | Twitter
Post #4437
5.33K
- 👍 45
- ❤ 5