ERC-4337: абстракция аккаунта / смарт-аккаунт
Следующий миллиард пользователей криптовалют не будет записывать 12 слов на листке бумаги. Нормальные люди так не делают.
Не забудьте подписаться на мой Telegram, чтобы точно не пропустить полезный контент.
ERC-4337 — это спецификация для добавления функциональности абстракции аккаунта в основную сеть Ethereum без изменения правил консенсуса.
Спецификация ERC-4337 была сформулирована и предложена 29 сентября 2021 года, а её концепцию Бутерин предложил ещё до запуска блокчейна Ethereum. Ожидалось, что Ethereum ещё не скоро получит это обновление. Однако в начале марта 2023, на конференции WalletCon в Денвере было объявлено о том, что основные контракты для ERC-4337 прошли аудит и будут доступны в сетях, совместимых с Ethereum Virtual Machine (EVM) : Polygon, Optimism, Arbitrum, BNB Smart Chain, Avalanche и т. д. Путь от концепции до реализации занял почти 10 лет!
Реальность, в которой мы живём
Потеря или компрометация ваших приватных ключей означает лишение доступа к управлению активами либо их кражу.
Конечно, вы можете использовать аппаратный кошелек или записать сид-фразу на бумаге и хранить её в сейфе. Это нормально для первопроходцев этой технологии. Но этот опыт нельзя масштабировать до миллиарда пользователей. Пока большинство не знает или не хочет знать базовых мер безопасности, ни о каком массовом внедрении не может быть и речи. Пользователи постоянно лишаются своих активов из-за мошенников или утраты доступа к кошелькам.
В этом и заключается величие и подвох блокчейна: нет центрального органа, который подвергал бы вас цензуре или блокировал использование системы. С другой стороны — нет центрального органа, к которому можно было бы обратиться, если что-то пойдёт не так. А в Web3 часто что-то идёт не так.
Обеспечение для пользователей простого, надёжного и безопасного взаимодействия в блокчейне — главная задача на пути к массовому внедрению, и абстракция аккаунта — первый шаг.
Абстракция аккаунта (Account Absctraction) — это новая парадигма, позволяющая программировать аккаунты блокчейна. За этой парадигмой стоит то, что невероятно удобно для пользователя — смарт-аккаунт. Похоже на смарт-контракт, да. Кстати, в своё время смарт-контракт стал революцией. Будет ли очередная? Спойлер: да!
Смарт-аккаунт (Smart Account) — это тип аккаунта, который программируется с помощью набора правил и условий, как смарт-контракт. Эти смарт-контракты позволяют смарт-аккаунту выполнять определённые действия автоматически, на основе заранее определённых условий, без необходимости вмешательства человека.
Многофакторная аутентификация и повышенная безопасность для всех
Что если вам нужна защита, аналогичная банковской или даже ещё лучше?
Мультиподпись — одна из самых удобных функций, особенно для бизнеса. Например, планируется сделка, которая требует одобрения еще двух ваших коллег. Вы можете внести их кошельки в "вайтлист" и они смогут одобрить транзакцию. Или же у вас есть DAO и вы решили что-то купить — для этого вы также можете создать "вайтлист" и дать возможность главному кошельку реализовывать транзакции, когда, например, 7 из 10 членов DAO подтвердили её.
Смарт-аккаунт расширяет возможности мультиподписи.
Чем мультиподпись смарт-аккаунта лучше готового решения, которое предлагает Gnosis Safe? Разница, как говорит Бутерин, заключается в том, что смарт-аккаунты, могут предложить больше настроек, безопасности и удобства использования. Более того, существующие решения для мультиподписи не позволяют вам хранить любые токены(в том числе NFT) на любом EVM-блокчейне.
Смарт-аккаунт позволяет адаптировать уровни безопасности в соответствии с вашими потребностями и использовать различные методы подтверждения транзакций:
- Установите двухфакторную (или многофакторную) аутентификацию для подписи: биометрия, мультиподпись, код из смс и т. д.
- Установите дневной или любой другой лимит на переводы и автоматически блокируйте всё, что превышает его.
- Интегрируйте оффчейн-сервисы для дополнительной защиты. Например, если покупаете NFT — используйте OpenSea, чтобы убедиться, что коллекция проверена, прежде, чем утверждать транзакцию. Если коллекция не проверена — будет запрос на дополнительную аутентификацию.
- Используйте децентрализованные спам-фильтры. Блокируйте транзакции с неверифицированными контрактами.
- Используйте сервисы для проверки других адресов, чтобы убедиться, что получатель/отправитель не имеет отношения к криптовалюте, полученной незаконным путём.
И всё это происходит автоматически!
Использование смартфона в качестве аппаратного кошелька
Стандарт ERC-4337 позволит разработчикам Ethereum реализовать технологию смарт-аккаунтов. Это значит, что пользователям больше не придется запоминать или записывать сложную фразу для восстановления. Вместо этого криптографические ключи можно будет хранить в стандартных модулях безопасности смартфонов.
Есть несколько нюансов при использовании смартфона в качестве аппаратного кошелька. Его можно взломать либо подтолкнуть пользователей одобрить нежелательные транзакции.
Серьёзная проблема использования смартфона в качестве кошелька заключается в увеличении комиссии за транзакции. Потому что модуль безопасности телефона использует иной метод шифрования, а это увеличивает энергопотребление.
Высокая плата за газ — проблема, уникальная для Ethereum, однако стоимость газа в других EVM-блокчейнах достаточно низка. Поэтому использование смартфона в качестве аппаратного кошелька незначительно повлияет на стоимость газа.
Таким образом, абстракция превратит телефоны в удобные аппаратные кошельки, что может значительно помочь массовому внедрению криптовалют.
Плагины
Как вы помните, смарт-аккаунт — это программируемый аккаунт.
Плагины или мини-приложения делают его ещё более гибким, модульным. Появятся магазины приложений для смарт-аккаунтов.
По мере развития технологий, смарт-аккаунты будут обновляться как обычное программное обеспечение.
Пакетные транзакции
Когда вы используете DApp на Ethereum, вам нужно подписывать транзакцию для каждого взаимодействия в сети. Порой это отнимает много времени, дорого и разочаровывает.
С помощью смарт-аккаунта вы или поставщик услуг можете объединить несколько транзакций в одну. Такой приём называется пакетной транзакцией (multicall) .
Например, для обеспечения ликвидности на Uniswap обычно требуется три транзакции: утверждение каждого из двух токенов, а затем их депонирование. Используя пакетные транзакции вы можете сделать это всего за одну транзакцию — быстрее, дешевле и безопаснее, поскольку вы избавляетесь от необходимости бесконечного аппрува.
Смарт-аккаунт превращает пакетные транзакции в одно касание для пользователей
Оплата газа любым токеном. Безгазовые и спонсорские транзакции
Проблема Ethereum и ему подобных заключается в том, что вам нужно иметь определенный нативный токен сети, чтобы оплачивать газ. Это создаёт порог входа в виде лишних манипуляций на биржах или мостах. Однако с помощью смарт-аккаунтов вы сможете оплачивать комиссию за газ любым ERC-20 токеном.
Более того, вы сможете оплачивать свои комиссии с другого смарт-аккаунта или спонсировать оплату комиссий друга.
Ну а в борьбе за внимание пользователей многие проекты (NFT-маркетплейсы, DEX, P2E и т.д) начнут вводить так называемые «безгазовые транзакции» и оплачивать газ за вас.
Кстати, интересно, как это отразится на ретродропах? Продолжим ли мы сквозь слёзы сжигать сотни долларов за газ?
Сеансовые ключи и оплата подписок
Сеансовые ключи — это прорыв для UX, особенно для игр, использующих блокчейн. Они позволяют вам предварительно утвердить правила взаимодействия с DApp.
Параметры сеансовых ключей могут включать: продолжительность, максимальное количество газа, максимальный объём транзакции определенного токена или конкретную функцию в конкретном контракте. Более того, сеансовые ключи отлично сочетаются с пакетными транзакциями, что позволяет лишний раз сэкономить на газе.
Вы можете наслаждаться использованием DApp, зная, что ваши активы защищены, потому что вы ограничили то, что DApp может с ними делать.
Крипто-подписки: в декабре 2022 года исследовательская группа Visa опубликовала исследование, демонстрирующее, как смарт-аккаунты в блокчейне StarkNet можно использовать для автоматической оплаты ипотеки, подписки на телевидение и счетов за коммунальные услуги.
Конечно, вы уже можете сделать это с банковских счетов или с помощью кастодиального кошелька, но в обоих случаях требуется доверие к централизованной службе.
Visa привели пример человека, который хочет поехать в отпуск и чтобы его счета оплачивались автоматически после получения зарплаты на криптовалютный кошелёк. Проблема в том, что вы не можете запланировать транзакцию в Ethereum, на которую у вас ещё нет денег. К тому же, сложность выполнения подобных операций заключается в том, что блокчейн поддерживает только те платежи, которые инициирует пользователь. Но не поддерживает платежи по запросу — автоплатежи.
Смарт-аккаунты делают возможными платежи по запросу, инициированные продавцом. Так, например, электроэнергетическая компания может настроить смарт-контракт автоплатежей на своем веб-сайте и перечислить его функции — регулярность и максимальная сумма.
Затем пользователь может одобрить это и добавить регулярный платёж в свой смарт-аккаунт, что позволит автоматически оплачивать счета после получения зарплаты.
Пользователь может быть уверен, что смарт-контракт будет выполняться именно так, как он описан и настроен. Таким образом криптовалюта становится полезной для целого ряда новых платежных приложений.
Социальное восстановление
Цель социального восстановления — защитить людей в случае компрометации или утраты доступа к смарт-аккаунту, а также помочь в безопасном и простом наследовании. Социальное восстановление делает это, избегая сид-фраз.
Виталик Бутерин считает, что сид-фразы необходимо исключить, поскольку они сложны в использовании, небезопасны и являются серьезным препятствием для массового внедрения. С социальным восстановлением, если вы потеряете свой закрытый ключ, вы можете просто авторизовать новый ключ как законный владелец кошелька. Механизмы для этого могут быть разными. Вы можете сами выбирать метод восстановления, основанный на:
- доверенных контактах
- аппаратных кошельках
- учреждениях, которые подпишут транзакцию о восстановлении, если получат подтверждение вашего номера телефона или электронной почты или подтвердят вас лично с помощью видеозвонка
Все они называются опекунами и их можно комбинировать.
Важно отметить, что социальное восстановление не приносит в жертву чувство собственного достоинства. Вы по-прежнему целиком и полностью контролируете свои активы и методы их защиты.
Как социальное восстановление спасёт вас от кражи?
Мы можем расширить возможности социального восстановления добавив хранилище — это сейф с мультиподписью на специальном адресе, у которого есть задержка на вывод.
Во время этой задержки владелец смарт-аккаунта может отменить транзакцию, либо попросить об этом опекунов. При желании хранилище можно запрограммировать так, чтобы некоторые операции могли выполняться без задержки: сделки на DEX между токенами из вайтлиста, переводы друзьям.
Для дополнительной защиты в хранилище можно установить лимиты. Транзакции, превышающие лимиты, потребуют одобрения опекунов для завершения вывода средств.
Рекомендации, чтобы значительно снизить риск нападения на опекунов или их сговора:
- 7 и более опекунов
- опекуны не должны знать друг о друге
- опекуны из разных социальных кругов
- в идеале иметь одного институционального опекуна
Кратко о ERC-4337: как работает, недостатки
Вместо изменения логики самого консенсуса Ethereum, был создан отдельный мемпул для транзакций смарт-аккаунтов.
- Пользователи смарт-аккаунтов отправляют транзакции, которые называются объектами. В объектах содержатся намерения пользователей, подписи и другие данные для проверки.
- Валидаторы могут упаковать набор объектов в одну «связку», то есть создать пакетную транзакцию.
- Пакетная транзакция включается в блок Ethereum.
Валидатор платит комиссию за пакетную транзакцию в ETH и получает компенсацию за счёт комиссий от каждой укомплектованной транзакции. Валидаторы будут выбирать, какие объекты пользователей включать, основываясь на логике определения приоритетов комиссий. Таким образом возникнет новый комиссионный рынок для обработки транзакций смарт-аккаунтов.
Недостатки:
- Немного увеличена уязвимость к DoS-атаке: логика проверки может быть сложнее, чем в обычном мемпуле Ethereum.
- Накладные расходы на газ: несколько больше накладных расходов на газ, чем при обычных транзакциях. В большинстве случаев это компенсируется пакетными транзакциями.
- Одна транзакция за раз: учетные записи не могут стоять в очереди и отправлять несколько транзакций в мемпул. Возможность выполнять пакетные транзакции сглаживает это.
- Обратная совместимость: старые аккаунты не станут смарт-аккаунтами. В будущем произойдёт хардфорк, но это будет ещё не скоро. Сейчас команда сконцентрирована на повышении безопасности сети и её масштабировании.
Заключение
В истории было много технологий, которые решали проблемы пользователей, но так и не стали массовыми, потому что усилия по их использованию превышали ценность их преимуществ.
Например, когда только появилась электронная почта, шифропанки были озабочены конфиденциальностью, ведь все письма без труда могли читать спецслужбы. Они изобрели протокол шифрования PGP, но даже спустя 30 лет им мало кто пользуется. Потому что безопасность и удобство часто на разных полюсах и мы вынуждены идти на компромиссы.
Совсем недавно у нас не было настолько удобных банковских приложений и графического интерфейса в системе — только консоль. А теперь есть и нас не волнует, как это устроено.
Когда криптовалюта станет мейнстримом, 90% людей даже не будут знать, что уже используют её. К тому времени всё улучшится в десятки раз — мосты, комиссии, интерфейсы, безопасность и т.д. Слияние будет бесшовным.
Следующий миллиард пользователей не должно заботить хранение ключей и что там под капотом у технологии под названием "блокчейн". Всё, что написано выше — произойдёт, но не сразу. Тем не менее, развитие смарт-аккаунтов подарит всем беспрецедентный пользовательский опыт без ущерба для подлинной конфиденциальности. Будущее наступило.
Не забудьте подписаться на мой Telegram, чтобы точно не пропустить полезный контент. Спасибо!
Источники:
Удивлен, что нет комментов к этой замечательной статье. Большое спасибо автору – все разжевал. Подписался на канал