Чи безпечно абстрагування облікового запису? Посібник із зменшення ризику

Початківець12/12/2023, 4:51:36 PM
У цій статті аналізуються концептуальні характеристики та випадки використання абстракції облікового запису (AA), використовується ERC-4337 як приклад для ілюстрації її практики та пояснюється потенційні ризики та контрзаходи.

До абстракції облікових записів в Ethereum існувало два типи облікових записів: зовнішні облікові записи (EOA) і смарт-контракти. EOA — це типовий обліковий запис користувача, який має закритий ключ. Це також єдиний тип облікового запису, який може ініціювати транзакцію. Наприклад, користувач повинен мати ETH, щоб відправити транзакцію. Створювати пакетні транзакції складно, і немає варіантів відновлення, якщо користувач втратить свій закритий ключ. Абстракція облікового запису (AA) була створена для вирішення цих проблем. Але чи це безпечне рішення? Цей посібник охоплює основи АА, перш ніж детально описує ризики та способи їх пом’якшення.

У цьому посібнику:

  • Які ключові особливості абстракції облікового запису?
  • Випадки використання абстракції облікового запису
  • Реалізації абстракції облікового запису
  • Ризик абстракції облікового запису проти винагороди?
  • Поширені запитання

Які ключові особливості абстракції облікового запису?

Абстракція облікового запису — це технологія, яка дозволяє смарт-контрактам самостійно ініціалізувати транзакції. Це дозволяє користувачам створювати облікові записи, які представлені смарт-контрактами. Ця технологія також забезпечує кілька функцій, які покращують взаємодію користувачів із мережею.

  • Користувач може оплачувати газ за допомогою токенів
  • Додатки можуть спонсорувати газ для транзакцій користувачів
  • Існують гнучкі механізми захисту облікового запису
  • Мости та міжланцюгові декси можуть працювати без рідної валюти.

Випадки використання абстракції облікового запису

  • Безкоштовні транзакції: проекти можуть сплачувати комісію користувачів за транзакції.
  • Нерідні міжланцюгові транзакції: можливість перевести токен ERC20 в інший ланцюг і оплачувати ним транзакції, що означає, що не потрібно буде додатково поповнювати рахунок рідною валютою.
  • Додаткові функції безпеки гаманця : у разі загрози безпеці всі операції в обліковому записі можна призупинити, а потім відновити доступ за допомогою резервних ключів.
  • Відновлення облікового запису: наприклад, для відновлення ключа можна використати набір ключів.
  • Ліміти транзакцій: можна створити обліковий запис, який зможе витрачати певну суму ETH на місяць.
  • Підписки: увімкнення підписок так само, як вони працюють із традиційними кредитними картками.

Реалізації абстракції облікового запису

Були різні пропозиції щодо впровадження АА в мережу Ethereum. Деякі з них передбачають значні зміни в протоколі Ethereum, що ускладнює впровадження. Найвідомішою реалізацією є ERC-4337, яка не передбачає жодних змін консенсусного рівня. Стандарт повторює пул транзакцій на вищому рівні. Розумні контракти ERC-4337 були розгорнуті в мережі Ethereum у березні 2023 року.

ERC-4337 використовує розумні контракти під назвою гаманці замість EOA. Цим розумним контрактним гаманцем можна керувати не лише закритим ключем, а й будь-яким складним механізмом, який закодовано в контракті.

Замість транзакцій користувачі надсилають UserOperations. UserOperation містить інструкції для виконання, перевірку підписів та інші дані. Як і у випадку з транзакціями, користувач визначає премію для Bundler, щоб визначити пріоритетність його операцій.

Майнери або бандлери пакетують операції в пакетні транзакції, які потім включаються в мережу Ethereum.


Реалізація АА: HashEx

Серед інших даних UserOperation містить код для створення гаманця смарт-контракту. Якщо у користувача немає гаманця, він створюється для нього.

Якщо користувач хоче оплатити транзакцію за допомогою токена ERC20 або навіть не хоче платити за транзакцію взагалі, він вказує адресу платіжного контракту в UserOperation. Paymaster — це сторонній сервіс, який оплачуватиме транзакцію в обмін на токени ERC20.

Які ризики, і як їх зменшити?

Хоча абстракція облікового запису створена для підвищення безпеки користувачів, існують певні ризики, особливо на ранніх етапах впровадження. Екосистема Ethereum сумно відома своїми помилками в смарт-контрактах, які призвели до крадіжки мільярдів доларів зловмисниками. Ось деякі ризики АА та способи їх уникнення/пом’якшення.

Ризик помилок у реалізації стандарту

Як і будь-яка нова технологія, абстракція облікового запису має ризик того, що її перша реалізація міститиме помилки. Смарт-контракти ERC-4337 були перевірені провідною компанією з безпеки блокчейнів OpenZeppelin.

Пом’якшення: Рішення полягає у використанні формальної перевірки — процесу, який передбачає використання математичних методів для підтвердження правильності смарт-контрактів. Процес формальної перевірки для контрактів ERC4337 триває, але ще не завершено.

Помилки через несумісність з деякими смарт-контрактами

Не кожен смарт-контракт сумісний з гаманцями абстракції облікового запису. Наприклад, смарт-контракти, які використовують поле tx.origin для перевірки гаманця, який надіслав транзакцію, отримають неочікуване значення. Ще одна несумісність виникає зі смарт-контрактами, які використовують підписи EOA: вони не підтримуються гаманцями AA.

У таких контрактах певні ключові функції можуть не працювати належним чином. У гіршому випадку кошти користувачів можуть бути заблоковані.

Пом'якшення: щоб зменшити ризики, користувач, який використовує гаманець абстракції облікового запису, повинен перевірити, чи підтримує протокол, з яким він взаємодіє, цю технологію.

Сторонній код для гаманців

Стандарт розроблено таким чином, що гаманець смарт-контракту можна створити в рамках першої UserOperation через фабрику смарт-контрактів. Однак існує ризик того, що смарт-контракт реалізації гаманця міститиме помилки. Надзвичайно важливо використовувати лише фабрики гаманців, які були ретельно перевірені та протестовані провідними компаніями безпеки блокчейну.

Пом’якшення: використовуйте лише надійні служби для створення гаманців і переконайтеся, що код гаманця перевірено принаймні однією надійною компанією безпеки блокчейну.

Сторонній код для платників

Якщо користувач або проект використовує платіжників, він покладається на третю сторону для оплати транзакцій. Можуть бути помилки в реалізації платіжника, і зловмисний платіжник може викрасти кошти користувачів.

Слід зазначити, що вибраний платіжний сервіс також може постраждати від зловмисників, які можуть знайти способи обманом змусити платіжника оплатити свої транзакції.

Пом'якшення: Гаманці використовують платіжників лише від надійних постачальників і переконайтеся, що код платіжників перевірено перед їх використанням.

Кращі практики

Абстракція облікового запису в блокчейні Ethereum є відносно новою концепцією. Таким чином, найкращі практики та рамки розробників для його використання все ще знаходяться в процесі встановлення. Існує дуже мало прикладів використання абстракції облікового запису, на яких розробники можуть вчитися.

Пом'якшення: найкраща практика згодом розвинеться після поширення стандарту. Для розробників дуже важливо ділитися досвідом використання нової технології, особливо на ранніх етапах впровадження.

Чорновий режим стандарту

ERC-4337 все ще знаходиться в режимі чернетки, хоча контракти вже розгорнуто в Mainnet. Є ймовірність зміни стандарту. Слід зазначити, що зазначені зміни мають торкнутися більш дрібних деталей і не впливати на вже розгорнуті смарт-контракти.

Пом'якшення: розробники повинні стежити за тим, як розвивається стандарт, і оновлювати код своїх проектів відповідно до стандартних змін, якщо вони відбуваються.

Централізація

Незважаючи на те, що ERC-4337 розроблено таким чином, що кожен може запустити бандлер, принаймні на початковому етапі, екосистема абстракції облікових записів є досить централізованою, оскільки існує кілька готових до виробництва реалізацій бандлерів.

Пом’якшення: щоб уникнути ризиків помилки в реалізації Bundler, що впливає на мережу абстракції облікового запису, слід використовувати принаймні кілька реалізацій Bundler. Зараз багато реалізацій Bundler знаходяться в розробці, і незабаром багато з них будуть готові до виробництва.

Ризик абстракції облікового запису проти винагороди?

Абстракція облікового запису — це потенційно чудова технологія, яка може сприяти більшому запровадженню Ethereum. Водночас це одна з розробок, яка може зробити блокчейн більш безпечним. Проте, як і з будь-яким новим доповненням до технології блокчейн на ранніх стадіях, користувачі повинні бути особливо пильними. Перегляд і дослідження АА є найкращим вибором для всіх, хто хоче прийняти цю технологію.

Відмова від відповідальності:

  1. Цю статтю передруковано з [Beincrypto]. Усі авторські права належать оригінальному автору [Гліб Зиков]. Якщо є заперечення щодо цього передруку, будь ласка, зв’яжіться з командою Gate Learn, і вони негайно розглянуть це.
  2. Відмова від відповідальності: погляди та думки, висловлені в цій статті, належать виключно автору та не є жодною інвестиційною порадою.
  3. Переклади статті на інші мови виконує команда Gate Learn. Якщо не зазначено вище, копіювання, розповсюдження або плагіат перекладених статей заборонено.

Чи безпечно абстрагування облікового запису? Посібник із зменшення ризику

Початківець12/12/2023, 4:51:36 PM
У цій статті аналізуються концептуальні характеристики та випадки використання абстракції облікового запису (AA), використовується ERC-4337 як приклад для ілюстрації її практики та пояснюється потенційні ризики та контрзаходи.

До абстракції облікових записів в Ethereum існувало два типи облікових записів: зовнішні облікові записи (EOA) і смарт-контракти. EOA — це типовий обліковий запис користувача, який має закритий ключ. Це також єдиний тип облікового запису, який може ініціювати транзакцію. Наприклад, користувач повинен мати ETH, щоб відправити транзакцію. Створювати пакетні транзакції складно, і немає варіантів відновлення, якщо користувач втратить свій закритий ключ. Абстракція облікового запису (AA) була створена для вирішення цих проблем. Але чи це безпечне рішення? Цей посібник охоплює основи АА, перш ніж детально описує ризики та способи їх пом’якшення.

У цьому посібнику:

  • Які ключові особливості абстракції облікового запису?
  • Випадки використання абстракції облікового запису
  • Реалізації абстракції облікового запису
  • Ризик абстракції облікового запису проти винагороди?
  • Поширені запитання

Які ключові особливості абстракції облікового запису?

Абстракція облікового запису — це технологія, яка дозволяє смарт-контрактам самостійно ініціалізувати транзакції. Це дозволяє користувачам створювати облікові записи, які представлені смарт-контрактами. Ця технологія також забезпечує кілька функцій, які покращують взаємодію користувачів із мережею.

  • Користувач може оплачувати газ за допомогою токенів
  • Додатки можуть спонсорувати газ для транзакцій користувачів
  • Існують гнучкі механізми захисту облікового запису
  • Мости та міжланцюгові декси можуть працювати без рідної валюти.

Випадки використання абстракції облікового запису

  • Безкоштовні транзакції: проекти можуть сплачувати комісію користувачів за транзакції.
  • Нерідні міжланцюгові транзакції: можливість перевести токен ERC20 в інший ланцюг і оплачувати ним транзакції, що означає, що не потрібно буде додатково поповнювати рахунок рідною валютою.
  • Додаткові функції безпеки гаманця : у разі загрози безпеці всі операції в обліковому записі можна призупинити, а потім відновити доступ за допомогою резервних ключів.
  • Відновлення облікового запису: наприклад, для відновлення ключа можна використати набір ключів.
  • Ліміти транзакцій: можна створити обліковий запис, який зможе витрачати певну суму ETH на місяць.
  • Підписки: увімкнення підписок так само, як вони працюють із традиційними кредитними картками.

Реалізації абстракції облікового запису

Були різні пропозиції щодо впровадження АА в мережу Ethereum. Деякі з них передбачають значні зміни в протоколі Ethereum, що ускладнює впровадження. Найвідомішою реалізацією є ERC-4337, яка не передбачає жодних змін консенсусного рівня. Стандарт повторює пул транзакцій на вищому рівні. Розумні контракти ERC-4337 були розгорнуті в мережі Ethereum у березні 2023 року.

ERC-4337 використовує розумні контракти під назвою гаманці замість EOA. Цим розумним контрактним гаманцем можна керувати не лише закритим ключем, а й будь-яким складним механізмом, який закодовано в контракті.

Замість транзакцій користувачі надсилають UserOperations. UserOperation містить інструкції для виконання, перевірку підписів та інші дані. Як і у випадку з транзакціями, користувач визначає премію для Bundler, щоб визначити пріоритетність його операцій.

Майнери або бандлери пакетують операції в пакетні транзакції, які потім включаються в мережу Ethereum.


Реалізація АА: HashEx

Серед інших даних UserOperation містить код для створення гаманця смарт-контракту. Якщо у користувача немає гаманця, він створюється для нього.

Якщо користувач хоче оплатити транзакцію за допомогою токена ERC20 або навіть не хоче платити за транзакцію взагалі, він вказує адресу платіжного контракту в UserOperation. Paymaster — це сторонній сервіс, який оплачуватиме транзакцію в обмін на токени ERC20.

Які ризики, і як їх зменшити?

Хоча абстракція облікового запису створена для підвищення безпеки користувачів, існують певні ризики, особливо на ранніх етапах впровадження. Екосистема Ethereum сумно відома своїми помилками в смарт-контрактах, які призвели до крадіжки мільярдів доларів зловмисниками. Ось деякі ризики АА та способи їх уникнення/пом’якшення.

Ризик помилок у реалізації стандарту

Як і будь-яка нова технологія, абстракція облікового запису має ризик того, що її перша реалізація міститиме помилки. Смарт-контракти ERC-4337 були перевірені провідною компанією з безпеки блокчейнів OpenZeppelin.

Пом’якшення: Рішення полягає у використанні формальної перевірки — процесу, який передбачає використання математичних методів для підтвердження правильності смарт-контрактів. Процес формальної перевірки для контрактів ERC4337 триває, але ще не завершено.

Помилки через несумісність з деякими смарт-контрактами

Не кожен смарт-контракт сумісний з гаманцями абстракції облікового запису. Наприклад, смарт-контракти, які використовують поле tx.origin для перевірки гаманця, який надіслав транзакцію, отримають неочікуване значення. Ще одна несумісність виникає зі смарт-контрактами, які використовують підписи EOA: вони не підтримуються гаманцями AA.

У таких контрактах певні ключові функції можуть не працювати належним чином. У гіршому випадку кошти користувачів можуть бути заблоковані.

Пом'якшення: щоб зменшити ризики, користувач, який використовує гаманець абстракції облікового запису, повинен перевірити, чи підтримує протокол, з яким він взаємодіє, цю технологію.

Сторонній код для гаманців

Стандарт розроблено таким чином, що гаманець смарт-контракту можна створити в рамках першої UserOperation через фабрику смарт-контрактів. Однак існує ризик того, що смарт-контракт реалізації гаманця міститиме помилки. Надзвичайно важливо використовувати лише фабрики гаманців, які були ретельно перевірені та протестовані провідними компаніями безпеки блокчейну.

Пом’якшення: використовуйте лише надійні служби для створення гаманців і переконайтеся, що код гаманця перевірено принаймні однією надійною компанією безпеки блокчейну.

Сторонній код для платників

Якщо користувач або проект використовує платіжників, він покладається на третю сторону для оплати транзакцій. Можуть бути помилки в реалізації платіжника, і зловмисний платіжник може викрасти кошти користувачів.

Слід зазначити, що вибраний платіжний сервіс також може постраждати від зловмисників, які можуть знайти способи обманом змусити платіжника оплатити свої транзакції.

Пом'якшення: Гаманці використовують платіжників лише від надійних постачальників і переконайтеся, що код платіжників перевірено перед їх використанням.

Кращі практики

Абстракція облікового запису в блокчейні Ethereum є відносно новою концепцією. Таким чином, найкращі практики та рамки розробників для його використання все ще знаходяться в процесі встановлення. Існує дуже мало прикладів використання абстракції облікового запису, на яких розробники можуть вчитися.

Пом'якшення: найкраща практика згодом розвинеться після поширення стандарту. Для розробників дуже важливо ділитися досвідом використання нової технології, особливо на ранніх етапах впровадження.

Чорновий режим стандарту

ERC-4337 все ще знаходиться в режимі чернетки, хоча контракти вже розгорнуто в Mainnet. Є ймовірність зміни стандарту. Слід зазначити, що зазначені зміни мають торкнутися більш дрібних деталей і не впливати на вже розгорнуті смарт-контракти.

Пом'якшення: розробники повинні стежити за тим, як розвивається стандарт, і оновлювати код своїх проектів відповідно до стандартних змін, якщо вони відбуваються.

Централізація

Незважаючи на те, що ERC-4337 розроблено таким чином, що кожен може запустити бандлер, принаймні на початковому етапі, екосистема абстракції облікових записів є досить централізованою, оскільки існує кілька готових до виробництва реалізацій бандлерів.

Пом’якшення: щоб уникнути ризиків помилки в реалізації Bundler, що впливає на мережу абстракції облікового запису, слід використовувати принаймні кілька реалізацій Bundler. Зараз багато реалізацій Bundler знаходяться в розробці, і незабаром багато з них будуть готові до виробництва.

Ризик абстракції облікового запису проти винагороди?

Абстракція облікового запису — це потенційно чудова технологія, яка може сприяти більшому запровадженню Ethereum. Водночас це одна з розробок, яка може зробити блокчейн більш безпечним. Проте, як і з будь-яким новим доповненням до технології блокчейн на ранніх стадіях, користувачі повинні бути особливо пильними. Перегляд і дослідження АА є найкращим вибором для всіх, хто хоче прийняти цю технологію.

Відмова від відповідальності:

  1. Цю статтю передруковано з [Beincrypto]. Усі авторські права належать оригінальному автору [Гліб Зиков]. Якщо є заперечення щодо цього передруку, будь ласка, зв’яжіться з командою Gate Learn, і вони негайно розглянуть це.
  2. Відмова від відповідальності: погляди та думки, висловлені в цій статті, належать виключно автору та не є жодною інвестиційною порадою.
  3. Переклади статті на інші мови виконує команда Gate Learn. Якщо не зазначено вище, копіювання, розповсюдження або плагіат перекладених статей заборонено.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!