Поиск инновационных решений, обеспечивающих бесперебойную торговлю криптовалютами, имеет решающее значение до тех пор, пока цифровые валюты не получат широкое распространение.
Сценарий:Мустафа Бедавала, Мерт Озбай и Кэтрин Гу
Подборка: исследование GWEI
Несмотря на непрерывный прогресс, блокчейн в настоящее время изо всех сил пытается обеспечить тот же уровень гибкости и взаимодействия с пользователем, что и основные экосистемы цифровых платежей. Однако новые технологии могут улучшить качество платежей при совершении операций с цифровыми валютами. В разделе «Автоматические платежи для самостоятельных кошельков» мы углубляемся в применение передовых технологий для автоматических платежей, используя концепцию абстракции счетов (AA) в общедоступных блокчейнах. ¹Мы продолжаем изучение AA и улучшенного опыта криптоплатежей, а также рассмотрим, как текущая парадигма AA в Ethereum предлагает творческие решения для обработки комиссий за транзакции: пользователи могут использовать стейблкоины, другие токены ERC-20 для оплаты комиссий за транзакции Ethereum или не вообще не платить? Поиск инновационных решений, обеспечивающих бесперебойную работу с криптовалютами и обмен ими, имеет решающее значение до тех пор, пока цифровые валюты не получат широкое распространение.
Технический обзор ERC-4337, текущего стандарта реализации AA в Ethereum, направлен на лучшее понимание ERC-4337. Мы обсуждаем экспериментальное развертывание Visa двух наборов контрактов Paymaster, чтобы продемонстрировать, как можно изменить плату за газ в блокчейне для повышения удобства пользователей.
Абстракция учетной записи и ERC-4337
Чтобы лучше понять ценностное предложение абстракции учетных записей, давайте кратко рассмотрим два типа учетных записей, которые в настоящее время существуют в Ethereum: учетные записи, принадлежащие внешним владельцам (EOA), и учетные записи контрактов (CA), обычно называемые учетными записями пользователей и смарт-контрактами соответственно. EOA, управляемый закрытым ключом, позволяет пользователям отправлять транзакции. Однако им не хватает программируемости смарт-контрактов, что делает их еще более негибкими. Напротив, ЦС обладают исполняемым кодом, но не могут самостоятельно инициировать транзакции. Транзакции всегда должны исходить из учетной записи пользователя и содержать подпись пользователя, будь то простая передача токенов или сложная операция, выполняемая через множество смарт-контрактов.
Концепция абстракции учетных записей (AA) направлена на использование возможностей программирования ЦС в интересах конечных пользователей. При написании смарт-контракта обычной практикой является определение владельца для управления поведением контракта. Самостоятельные кошельки, созданные как смарт-контракты, могут предоставить пользователям больше функциональных возможностей, чем кошельки на основе EOA. Это достигается за счет введения нового стандарта Эфириума под названием ERC-4337, предложенного членами сообщества Эфириума, в том числе основателем Эфириума Виталиком Бутериным. ² ERC-4337 позволяет владельцу напрямую владеть учетной записью смарт-контракта без подписи EOA. Хотя владелец может не подписывать EOA в традиционном смысле, его владение смарт-контрактом по-прежнему требует безопасного процесса аутентификации, чтобы гарантировать, что он правильно контролирует и управляет учетной записью смарт-контракта. В свою очередь, эта учетная запись смарт-контракта может выполнять такие задачи, как многофакторная проверка подлинности, регулярные платежи и настраиваемые правила и политики, определенные конечными пользователями.
ERC-4337 — это последняя разработка AA, первоначально предложенная в 2021 году как Предложение по улучшению Ethereum (EIP)-4337. Он прошел через процесс запроса комментариев Ethereum (ERC), который устанавливает стандарты для приложений в сети Ethereum. Разница между EIP и ERC заключается в их объеме и требованиях к принятию. ERC определяет, как смарт-контракты должны работать и взаимодействовать друг с другом на уровне приложения. Они не требуют принятия всеми участниками, как основные EIP (предложения по улучшению Ethereum), которые развертываются на уровне протокола и требуют более широкого консенсуса в сообществе. Переход с EIP-4337 на ERC-4337 означает, что предложение соответствует стандартам, необходимым для приложений Ethereum, и теперь официально является частью экосистемы Ethereum. По состоянию на март 2023 года основные компоненты ERC-4337 были развернуты в основной сети Ethereum. В отличие от предыдущих EIP абстракции учетной записи, ERC-4337 не требует модификаций уровня консенсуса протокола блокчейна, чтобы включить абстракцию учетной записи в сети Ethereum. ² Эта разработка позволяет участникам сети блокчейна немедленно исследовать и экспериментировать с новым пользовательским интерфейсом, не дожидаясь крупных обновлений сети. Стоит отметить, что одним из преимуществ ERC-4337 является то, что он совместим с любой цепочкой блоков, использующих виртуальную машину Ethereum, предоставляя AA стандарт, выходящий за рамки самого Ethereum.
Обход транзакций ERC-4337
В типичной транзакции EOA пользователи взаимодействуют со своими собственными кошельками для создания, подписания и отправки транзакций в общедоступный мемпул. Полезная нагрузка транзакции, сгенерированная и подписанная закрытым ключом пользователя, затем распространяется через узлы в одноранговый (P2P) мемпул. Валидаторы или специализированные организации (называемые строителями) выбирают подходящие и прибыльные транзакции из общедоступного мемпула для выполнения и включения их в блокчейн.
Рисунок 1: Типичный процесс транзакции Ethereum
ERC-4337 представляет процесс транзакции, альтернативный традиционному методу EOA, добавляя новый шаг до того, как транзакция достигнет адреса EOA прокси. Пользователи отправляют свои намерения как UserOperations, которые затем распространяются через выделенный мемпул UserOperations. Этот уникальный мемпул контролируется упаковщиком, который действует как прокси-сервер EOA, отправляя пользовательские операции в общедоступный мемпул в виде типичных транзакций EOA, которые может обрабатывать сеть. Затем эти транзакции следуют тому же потоку, что и обычные транзакции, либо присоединяясь к общедоступному мемпулу, либо направляясь непосредственно к разработчикам.
Мы шаг за шагом представляем сквозной процесс транзакции ERC-4337, от создания UserOperation до выполнения. Прежде чем углубляться в эту тему, необходимо определить концепцию кассира, которая играет жизненно важную роль в этом процессе и лежит в основе нашего собственного исследования. Paymaster — это дополнительная учетная запись смарт-контракта, которая может спонсировать комиссию за транзакции для учетных записей контрактов (ориентированные на пользователя смарт-контракты). Paymasters оценивает, принята ли UserOperation на этапе проверки, и реализует любую требуемую логику оплаты на этапе выполнения. Делая это, они могут спонсировать комиссию за транзакции для пользователей и позволять пользователям оплачивать газ с помощью токенов ERC-20, таких как стейблкоины в долларах США.
Рисунок 2: Процесс транзакции ERC-4337
Пользователь генерирует UserOperations через кошелек смарт-контракта, соответствующий стандарту ERC-4337. UserOperations инкапсулируют намерение пользователя взаимодействовать с блокчейном, который пользователь подписывает для аутентификации. После создания UserOperations фиксируются в выделенном мемпуле UserOperation, хранилище, выделенном для UserOperations отдельно от стандартного мемпула транзакций Ethereum.
Сборщики — это специализированный класс акторов, которые контролируют мемпул пользовательских операций, запускают симуляции и собирают ряд пользовательских операций в единый пакет транзакций. Сборщики несут ответственность за сбор пользовательских операций и отправку их в контракт EntryPoint, оптимизацию использования газа и максимизацию прибыли за счет использования логики «плата-сначала».
Контракт EntryPoint получает пакет UserOperations. Он действует как центральный координатор для управления UserOperations в потоке транзакций ERC-4337.
Если указано UserOperation, контракт EntryPoint будет взаимодействовать с контрактом Paymaster. Как упоминалось ранее, Paymasters может спонсировать комиссию за транзакции по контрактному счету. EntryPoint проверяет, есть ли у плательщика достаточные депозиты или достаточно ли средств на контрактном счете для оплаты газа. Во время выполнения, если задействован Paymaster, он может реализовать пользовательскую логику комиссий, которую мы продемонстрируем в следующем разделе.
Затем контракт EntryPoint вызывает учетную запись контракта и, при необходимости, кассира для проверки подписи в UserOperation. Контрактные учетные записи — это учетные записи пользователей, которые беспрепятственно взаимодействуют с контрактом EntryPoint для облегчения выполнения транзакций. После успешной проверки EntryPoint передает соответствующие данные каждой UserOperation в учетную запись контракта и запускает процесс выполнения.
Абстракция учетной записи и практическое применение
По мере того, как технология блокчейна продолжает исследовать реальные приложения, автономные кошельки становятся популярным вариантом для пользователей для хранения и транзакций с их цифровыми валютами. С момента создания Ethereum было совершено около 180 миллионов транзакций, включая учетные записи всех типов и несколько учетных записей, принадлежащих одному и тому же лицу или группе лиц. «Однако каждый месяц мы видим только миллионы онлайн-взаимодействий, инициированных реальными людьми, при этом ежедневная онлайн-активность в основной сети Ethereum составляет около 1 миллиона транзакций в день. ⁴ Для сравнения, в 2022 году Visa обработала 258 миллиардов транзакций, в среднем 707 миллионов транзакций в день, и в настоящее время во всем мире находится в обращении 4,1 миллиарда карт, привязанных к Visa. ⁵ Могли бы блокчейны получить сопоставимые уровни внедрения, если бы они поддерживали такой же широкий спектр платежных операций с такой же простотой использования? Возможные шаги в этом направлении включают снятие платы за газ для пользователей или разрешение им оплачивать комиссию за транзакции в токенах ERC-20.
Используйте ERC-4337 Paymaster для оплаты токенами ERC-20
Рисунок 3: Paymaster облегчает оплату комиссии за транзакцию с помощью токенов ERC-20
Сегодня для проведения транзакций в блокчейне Ethereum пользователям необходимо получить ETH для оплаты комиссий за газ; аналогично, для проведения транзакций в блокчейне Polygon пользователям необходимо получить собственный токен MATIC. Есть ли решение, которое устраняет необходимость накапливать различные диапазоны нативных токенов блокчейна только для оплаты газа? Ситуация аналогична стоимости основной сети международных платежей Visa, где путешественники могут тратить деньги в своей местной валюте, не приобретая ее предварительно. В этой версии контракта Paymaster контракт может выступать в качестве посреднической услуги по конвертации валюты. Сервис может собирать цифровую валюту у пользователей, а затем конвертировать ее в собственный токен на основе преобладающего обменного курса для оплаты газа от имени пользователя. Кроме того, это можно сделать с помощью мгновенного финансирования, что означает, что пользователям нужно только финансировать расходы на газ во время транзакции без каких-либо предварительных требований к финансированию, чтобы оптимизировать управление своими денежными потоками.
Спонсорские комиссии за транзакции для пользователей, использующих ERC-4337 Paymaster
Рисунок 4: Paymaster спонсирует комиссию за транзакции для пользователей
P2P-транзакции в Web 2.0 сегодня бесплатны для потребителей во многих странах, что сразу же поднимает вопрос: почему потребители должны платить за P2P-транзакции в блокчейне? Account Abstraction предоставляет решение, которое позволяет пользователям обходить эти сборы, если третья сторона (например, поставщик финтех-кошелька) желает их покрыть. В этом случае провайдер кошелька или децентрализованное приложение может выступать в роли кассира, оплачивая газ за пользователя и значительно уменьшая трения. Концепция ERC-4337 Paymaster может стимулировать принятие пользователями, позволяя пользователям совершать транзакции через платформу своего кошелька бесплатно.
Помимо прочего, учетные записи смарт-контрактов могут упростить управление кошельками и предоставить альтернативу проверке подписи, обеспечивая многофакторную аутентификацию для повышения безопасности и возврата средств в кошельках с самостоятельным хранением. Кроме того, они упрощают использование dApps, предоставляя временные разрешения для определенных задач с настраиваемыми ограничениями, например, разрешая dApps обрабатывать повторяющиеся платежи по запросу из учетных записей пользователей до определенной суммы. Эти примеры просто иллюстрируют, как смарт-контракты могут помочь пользователям, не использующим криптовалюту, легче взаимодействовать с технологией блокчейна, сохраняя при этом безопасность своих учетных записей.
Наши эксперименты с ERC-4337 Paymaster
Используйте ERC-4337 Paymaster для оплаты токенами ERC-20
Рисунок 5: Paymaster облегчает оплату комиссии за транзакцию с помощью токенов ERC-20 (фрагмент кода)
С нашим первым контрактом Visa Paymaster мы изучаем, смогут ли пользователи в будущем оплачивать комиссию за транзакции с помощью альтернативных токенов, таких как стейблкоины долларов США или даже цифровые валюты центрального банка. В этом случае Paymaster оплачивает комиссию за транзакцию ETH, получая эквивалент общего токена ERC-20, оплаченного пользователем. Для реализации мы использовали исходный код, предоставленный Ethereum Foundation и основной командой ERC-4337⁶. Этот пример контракта содержит логику управления для Paymaster и его пользовательский токен ERC-20. Для этого контракта мы вводим белый список и функцию для обновления скорости конвертации токена в ETH. Это позволяет нам лучше моделировать реальные условия, когда обменный курс между ETH и токенами является динамическим. Наша тестовая установка включала развертывание кошелька смарт-контракта и отправку действий пользователя. В настоящее время возможности кошелька, совместимого с ERC-4337, ограничены, поэтому мы решили использовать кошелек Trampoline, созданный Ethereum Foundation и основной командой ERC-4337. ⁷ Чтобы отправлять действия пользователей в тестовую сеть Goerli, мы использовали общедоступный Bundler Blocknative. ⁸ Для успешной UserOperation контракт Visa Paymaster сначала должен проверить, достаточно ли у пользователя средств в ERC-20 для оплаты комиссии за газ. После подтверждения пользователи оплачивают комиссию за транзакцию с помощью этого универсального токена ERC-20. Вы можете найти наш развернутый контракт, ⁹ и обработанную UserOperation здесь.
Спонсорские комиссии за транзакции для пользователей, использующих ERC-4337 Paymaster
Рисунок 6: Paymaster спонсирует комиссию за транзакции для пользователей (фрагмент кода)
Согласно второму варианту использования, который мы упомянули, другой наш контракт Visa Paymaster полностью оплачивает комиссию за транзакцию. Опять же, наша реализация основана на начальном коде¹¹, предоставленном Ethereum Foundation и основной командой ERC-4337. Origin Code спонсирует каждую транзакцию на безвозмездной основе. Мы добавили белый список, чтобы только авторизованные пользователи могли взаимодействовать с контрактом Visa Paymaster. Вы можете найти наш развернутый контракт здесь. ¹² Наша тестовая реализация смогла успешно спонсировать комиссию за транзакции для пользователей из белого списка. Вы можете увидеть успешную операцию UserOperation здесь. ¹³
Вариант использования Paymaster выходит далеко за рамки того, что мы выделили в этой статье. Абстрагируясь от базовой логики обработки блокчейна, можно получить множество инновационных пользовательских интерфейсов. Для ERC-4337, разрабатываемого в настоящее время, мы видим несколько возможных подходов, которые могли бы основываться на наших экспериментах, описанных выше. Например, вместо того, чтобы требовать новый специальный токен ERC-20, встроенный в смарт-контракт Paymaster, было бы проще интегрировать Paymaster с существующим токеном ERC-20, таким как USDC. Этот подход требует использования внешнего источника для определения цены токена и проверки того, что контракт Paymaster одобрил взимание платы с пользователя за указанный токен. Один из подходов заключается в развертывании службы оракула вне сети, которая может предоставить необходимую информацию, такую как цены на токены и подписи, которые может проверить контракт Paymaster.
В качестве альтернативы весь процесс может быть обработан в сети с помощью контракта оракула для необходимых данных. Хотя этот подход обеспечивает лучшую гарантию того, что кассиры получают надлежащее вознаграждение, его также сложнее реализовать. Некоторые ограничения ERC-4337 затрудняют для Paymasters запрос оракулов в сети во время проверки Paymaster, и Bundlers часто отклоняют UserOperations, которые должны это сделать. Чтобы включить этот процесс, необходимо создать альтернативный мемпул со списком доверенных казначеев, на который может подписаться Бандлер. Эти доверенные казначеи могут вызывать контракты оракула, и пользовательские операции, использующие этих казначеев, будут извлекаться из резервного пула памяти.
Взгляд в будущее
Взаимодействие с блокчейном с использованием цифрового кошелька может быть сложной задачей, и многие считают, что обеспечение простоты использования является важным шагом на пути к более широкому внедрению. ERC-4337 представляет интересные будущие возможности для улучшения взаимодействия пользователей с платежами в сети с помощью кошельков со смарт-контрактами с самостоятельным хранением, что, в свою очередь, может изменить то, как пользователи тратят цифровые валюты и цифровые активы.
Сообщество Ethereum находится в начале этого нового пути, когда дело доходит до ERC-4337. Есть много планов по предоставлению инфраструктуры, на которой могут быть построены потоки, управляемые AA, некоторые из которых мы использовали в нашем тестировании и упоминали в этой статье, но все еще есть значительные возможности для роста. Как и в любом открытом поле, существуют конкурирующие подходы и компромиссы, такие как варианты децентрализации, предлагаемые общедоступными сборщиками, по сравнению с возможностью настройки частных сборщиков, ненадежная безопасность Paymaster полностью в цепочке по сравнению с развертыванием некоторых компонентов по сравнению с экономической эффективностью; и множество альтернативных схем подписи, которые могут использовать кошельки, среди прочего. Эти различные варианты дизайна могут привести к появлению богатого набора опций, позволяющих лучше предоставлять пользователям возможности цифровых платежей в будущем.
Платежные инновации для всех и везде
Являясь мировым лидером в области платежных решений, Visa всегда находится в поиске инноваций, отвечающих реальным потребностям. Мы продолжим исследовать потенциал смарт-контрактов и возможное будущее программируемых денег и программируемых платежей. В этой статье мы углубимся в то, как AA на Ethereum, реализованный ERC-4337, может обеспечить интересные новые варианты использования блокчейна. Мы предоставляем сквозное пошаговое руководство по транзакции ERC-4337 и объясняем, чем она отличается от стандартных транзакций Ethereum, чтобы выделить лежащую в основе механику.
Наши эксперименты с ERC-4337 сосредоточены на двух различных вариантах использования: развертывание контрактов Paymaster для изучения и оценки их потенциальной полезности для решения реальных проблем и значительного улучшения качества обслуживания клиентов за счет взаимодействия в сети. Для компаний, работающих на этом фронте, наши команды по продуктам, исследованиям и инженерам будут рады обсудить идеи для программируемых платежей.
Свяжитесь с Visa Crypto по адресу GDLVisaCryptoResearch@visa.com, чтобы узнать больше о наших исследовательских интересах и деятельности в криптоэкосистеме.
*Этот документ предназначен только для иллюстративных целей. Он содержит описание продукта, находящегося в разработке, и его следует понимать как представление потенциальных возможностей полностью развернутого продукта. Окончательная версия этого продукта может не содержать всех функций, описанных в этой презентации. В своем письме мы настаиваем на четком разграничении концептуальных терминов «точка входа», «кассир» и «пользовательская операция» и соответствующих им сетевых сущностей EntryPoint, UserOperation и Paymaster. Этот подход следует соглашениям, изложенным в исходном предложении ERC-4337. *
*Спасибо Cuy Sheffield, Andrew Beams, Mahdi Zamani, Mohsen Minaei, Aaron Salot и соучредителю Stackup John Rising за рецензию. *
Посмотреть Оригинал
Содержание носит исключительно справочный характер и не является предложением или офертой. Консультации по инвестициям, налогообложению или юридическим вопросам не предоставляются. Более подробную информацию о рисках см. в разделе «Дисклеймер».
Visa: переосмысление криптотранзакций с абстракции аккаунта
Сценарий: Мустафа Бедавала, Мерт Озбай и Кэтрин Гу
Подборка: исследование GWEI
Несмотря на непрерывный прогресс, блокчейн в настоящее время изо всех сил пытается обеспечить тот же уровень гибкости и взаимодействия с пользователем, что и основные экосистемы цифровых платежей. Однако новые технологии могут улучшить качество платежей при совершении операций с цифровыми валютами. В разделе «Автоматические платежи для самостоятельных кошельков» мы углубляемся в применение передовых технологий для автоматических платежей, используя концепцию абстракции счетов (AA) в общедоступных блокчейнах. ¹Мы продолжаем изучение AA и улучшенного опыта криптоплатежей, а также рассмотрим, как текущая парадигма AA в Ethereum предлагает творческие решения для обработки комиссий за транзакции: пользователи могут использовать стейблкоины, другие токены ERC-20 для оплаты комиссий за транзакции Ethereum или не вообще не платить? Поиск инновационных решений, обеспечивающих бесперебойную работу с криптовалютами и обмен ими, имеет решающее значение до тех пор, пока цифровые валюты не получат широкое распространение.
Технический обзор ERC-4337, текущего стандарта реализации AA в Ethereum, направлен на лучшее понимание ERC-4337. Мы обсуждаем экспериментальное развертывание Visa двух наборов контрактов Paymaster, чтобы продемонстрировать, как можно изменить плату за газ в блокчейне для повышения удобства пользователей.
Абстракция учетной записи и ERC-4337
Чтобы лучше понять ценностное предложение абстракции учетных записей, давайте кратко рассмотрим два типа учетных записей, которые в настоящее время существуют в Ethereum: учетные записи, принадлежащие внешним владельцам (EOA), и учетные записи контрактов (CA), обычно называемые учетными записями пользователей и смарт-контрактами соответственно. EOA, управляемый закрытым ключом, позволяет пользователям отправлять транзакции. Однако им не хватает программируемости смарт-контрактов, что делает их еще более негибкими. Напротив, ЦС обладают исполняемым кодом, но не могут самостоятельно инициировать транзакции. Транзакции всегда должны исходить из учетной записи пользователя и содержать подпись пользователя, будь то простая передача токенов или сложная операция, выполняемая через множество смарт-контрактов.
Концепция абстракции учетных записей (AA) направлена на использование возможностей программирования ЦС в интересах конечных пользователей. При написании смарт-контракта обычной практикой является определение владельца для управления поведением контракта. Самостоятельные кошельки, созданные как смарт-контракты, могут предоставить пользователям больше функциональных возможностей, чем кошельки на основе EOA. Это достигается за счет введения нового стандарта Эфириума под названием ERC-4337, предложенного членами сообщества Эфириума, в том числе основателем Эфириума Виталиком Бутериным. ² ERC-4337 позволяет владельцу напрямую владеть учетной записью смарт-контракта без подписи EOA. Хотя владелец может не подписывать EOA в традиционном смысле, его владение смарт-контрактом по-прежнему требует безопасного процесса аутентификации, чтобы гарантировать, что он правильно контролирует и управляет учетной записью смарт-контракта. В свою очередь, эта учетная запись смарт-контракта может выполнять такие задачи, как многофакторная проверка подлинности, регулярные платежи и настраиваемые правила и политики, определенные конечными пользователями.
ERC-4337 — это последняя разработка AA, первоначально предложенная в 2021 году как Предложение по улучшению Ethereum (EIP)-4337. Он прошел через процесс запроса комментариев Ethereum (ERC), который устанавливает стандарты для приложений в сети Ethereum. Разница между EIP и ERC заключается в их объеме и требованиях к принятию. ERC определяет, как смарт-контракты должны работать и взаимодействовать друг с другом на уровне приложения. Они не требуют принятия всеми участниками, как основные EIP (предложения по улучшению Ethereum), которые развертываются на уровне протокола и требуют более широкого консенсуса в сообществе. Переход с EIP-4337 на ERC-4337 означает, что предложение соответствует стандартам, необходимым для приложений Ethereum, и теперь официально является частью экосистемы Ethereum. По состоянию на март 2023 года основные компоненты ERC-4337 были развернуты в основной сети Ethereum. В отличие от предыдущих EIP абстракции учетной записи, ERC-4337 не требует модификаций уровня консенсуса протокола блокчейна, чтобы включить абстракцию учетной записи в сети Ethereum. ² Эта разработка позволяет участникам сети блокчейна немедленно исследовать и экспериментировать с новым пользовательским интерфейсом, не дожидаясь крупных обновлений сети. Стоит отметить, что одним из преимуществ ERC-4337 является то, что он совместим с любой цепочкой блоков, использующих виртуальную машину Ethereum, предоставляя AA стандарт, выходящий за рамки самого Ethereum.
Обход транзакций ERC-4337
В типичной транзакции EOA пользователи взаимодействуют со своими собственными кошельками для создания, подписания и отправки транзакций в общедоступный мемпул. Полезная нагрузка транзакции, сгенерированная и подписанная закрытым ключом пользователя, затем распространяется через узлы в одноранговый (P2P) мемпул. Валидаторы или специализированные организации (называемые строителями) выбирают подходящие и прибыльные транзакции из общедоступного мемпула для выполнения и включения их в блокчейн.
Рисунок 1: Типичный процесс транзакции Ethereum
ERC-4337 представляет процесс транзакции, альтернативный традиционному методу EOA, добавляя новый шаг до того, как транзакция достигнет адреса EOA прокси. Пользователи отправляют свои намерения как UserOperations, которые затем распространяются через выделенный мемпул UserOperations. Этот уникальный мемпул контролируется упаковщиком, который действует как прокси-сервер EOA, отправляя пользовательские операции в общедоступный мемпул в виде типичных транзакций EOA, которые может обрабатывать сеть. Затем эти транзакции следуют тому же потоку, что и обычные транзакции, либо присоединяясь к общедоступному мемпулу, либо направляясь непосредственно к разработчикам.
Мы шаг за шагом представляем сквозной процесс транзакции ERC-4337, от создания UserOperation до выполнения. Прежде чем углубляться в эту тему, необходимо определить концепцию кассира, которая играет жизненно важную роль в этом процессе и лежит в основе нашего собственного исследования. Paymaster — это дополнительная учетная запись смарт-контракта, которая может спонсировать комиссию за транзакции для учетных записей контрактов (ориентированные на пользователя смарт-контракты). Paymasters оценивает, принята ли UserOperation на этапе проверки, и реализует любую требуемую логику оплаты на этапе выполнения. Делая это, они могут спонсировать комиссию за транзакции для пользователей и позволять пользователям оплачивать газ с помощью токенов ERC-20, таких как стейблкоины в долларах США.
Рисунок 2: Процесс транзакции ERC-4337
Пользователь генерирует UserOperations через кошелек смарт-контракта, соответствующий стандарту ERC-4337. UserOperations инкапсулируют намерение пользователя взаимодействовать с блокчейном, который пользователь подписывает для аутентификации. После создания UserOperations фиксируются в выделенном мемпуле UserOperation, хранилище, выделенном для UserOperations отдельно от стандартного мемпула транзакций Ethereum.
Сборщики — это специализированный класс акторов, которые контролируют мемпул пользовательских операций, запускают симуляции и собирают ряд пользовательских операций в единый пакет транзакций. Сборщики несут ответственность за сбор пользовательских операций и отправку их в контракт EntryPoint, оптимизацию использования газа и максимизацию прибыли за счет использования логики «плата-сначала».
Контракт EntryPoint получает пакет UserOperations. Он действует как центральный координатор для управления UserOperations в потоке транзакций ERC-4337.
Если указано UserOperation, контракт EntryPoint будет взаимодействовать с контрактом Paymaster. Как упоминалось ранее, Paymasters может спонсировать комиссию за транзакции по контрактному счету. EntryPoint проверяет, есть ли у плательщика достаточные депозиты или достаточно ли средств на контрактном счете для оплаты газа. Во время выполнения, если задействован Paymaster, он может реализовать пользовательскую логику комиссий, которую мы продемонстрируем в следующем разделе.
Затем контракт EntryPoint вызывает учетную запись контракта и, при необходимости, кассира для проверки подписи в UserOperation. Контрактные учетные записи — это учетные записи пользователей, которые беспрепятственно взаимодействуют с контрактом EntryPoint для облегчения выполнения транзакций. После успешной проверки EntryPoint передает соответствующие данные каждой UserOperation в учетную запись контракта и запускает процесс выполнения.
Абстракция учетной записи и практическое применение
По мере того, как технология блокчейна продолжает исследовать реальные приложения, автономные кошельки становятся популярным вариантом для пользователей для хранения и транзакций с их цифровыми валютами. С момента создания Ethereum было совершено около 180 миллионов транзакций, включая учетные записи всех типов и несколько учетных записей, принадлежащих одному и тому же лицу или группе лиц. «Однако каждый месяц мы видим только миллионы онлайн-взаимодействий, инициированных реальными людьми, при этом ежедневная онлайн-активность в основной сети Ethereum составляет около 1 миллиона транзакций в день. ⁴ Для сравнения, в 2022 году Visa обработала 258 миллиардов транзакций, в среднем 707 миллионов транзакций в день, и в настоящее время во всем мире находится в обращении 4,1 миллиарда карт, привязанных к Visa. ⁵ Могли бы блокчейны получить сопоставимые уровни внедрения, если бы они поддерживали такой же широкий спектр платежных операций с такой же простотой использования? Возможные шаги в этом направлении включают снятие платы за газ для пользователей или разрешение им оплачивать комиссию за транзакции в токенах ERC-20.
Используйте ERC-4337 Paymaster для оплаты токенами ERC-20
Рисунок 3: Paymaster облегчает оплату комиссии за транзакцию с помощью токенов ERC-20
Сегодня для проведения транзакций в блокчейне Ethereum пользователям необходимо получить ETH для оплаты комиссий за газ; аналогично, для проведения транзакций в блокчейне Polygon пользователям необходимо получить собственный токен MATIC. Есть ли решение, которое устраняет необходимость накапливать различные диапазоны нативных токенов блокчейна только для оплаты газа? Ситуация аналогична стоимости основной сети международных платежей Visa, где путешественники могут тратить деньги в своей местной валюте, не приобретая ее предварительно. В этой версии контракта Paymaster контракт может выступать в качестве посреднической услуги по конвертации валюты. Сервис может собирать цифровую валюту у пользователей, а затем конвертировать ее в собственный токен на основе преобладающего обменного курса для оплаты газа от имени пользователя. Кроме того, это можно сделать с помощью мгновенного финансирования, что означает, что пользователям нужно только финансировать расходы на газ во время транзакции без каких-либо предварительных требований к финансированию, чтобы оптимизировать управление своими денежными потоками.
Спонсорские комиссии за транзакции для пользователей, использующих ERC-4337 Paymaster
Рисунок 4: Paymaster спонсирует комиссию за транзакции для пользователей
P2P-транзакции в Web 2.0 сегодня бесплатны для потребителей во многих странах, что сразу же поднимает вопрос: почему потребители должны платить за P2P-транзакции в блокчейне? Account Abstraction предоставляет решение, которое позволяет пользователям обходить эти сборы, если третья сторона (например, поставщик финтех-кошелька) желает их покрыть. В этом случае провайдер кошелька или децентрализованное приложение может выступать в роли кассира, оплачивая газ за пользователя и значительно уменьшая трения. Концепция ERC-4337 Paymaster может стимулировать принятие пользователями, позволяя пользователям совершать транзакции через платформу своего кошелька бесплатно.
Помимо прочего, учетные записи смарт-контрактов могут упростить управление кошельками и предоставить альтернативу проверке подписи, обеспечивая многофакторную аутентификацию для повышения безопасности и возврата средств в кошельках с самостоятельным хранением. Кроме того, они упрощают использование dApps, предоставляя временные разрешения для определенных задач с настраиваемыми ограничениями, например, разрешая dApps обрабатывать повторяющиеся платежи по запросу из учетных записей пользователей до определенной суммы. Эти примеры просто иллюстрируют, как смарт-контракты могут помочь пользователям, не использующим криптовалюту, легче взаимодействовать с технологией блокчейна, сохраняя при этом безопасность своих учетных записей.
Наши эксперименты с ERC-4337 Paymaster
Используйте ERC-4337 Paymaster для оплаты токенами ERC-20
Рисунок 5: Paymaster облегчает оплату комиссии за транзакцию с помощью токенов ERC-20 (фрагмент кода)
С нашим первым контрактом Visa Paymaster мы изучаем, смогут ли пользователи в будущем оплачивать комиссию за транзакции с помощью альтернативных токенов, таких как стейблкоины долларов США или даже цифровые валюты центрального банка. В этом случае Paymaster оплачивает комиссию за транзакцию ETH, получая эквивалент общего токена ERC-20, оплаченного пользователем. Для реализации мы использовали исходный код, предоставленный Ethereum Foundation и основной командой ERC-4337⁶. Этот пример контракта содержит логику управления для Paymaster и его пользовательский токен ERC-20. Для этого контракта мы вводим белый список и функцию для обновления скорости конвертации токена в ETH. Это позволяет нам лучше моделировать реальные условия, когда обменный курс между ETH и токенами является динамическим. Наша тестовая установка включала развертывание кошелька смарт-контракта и отправку действий пользователя. В настоящее время возможности кошелька, совместимого с ERC-4337, ограничены, поэтому мы решили использовать кошелек Trampoline, созданный Ethereum Foundation и основной командой ERC-4337. ⁷ Чтобы отправлять действия пользователей в тестовую сеть Goerli, мы использовали общедоступный Bundler Blocknative. ⁸ Для успешной UserOperation контракт Visa Paymaster сначала должен проверить, достаточно ли у пользователя средств в ERC-20 для оплаты комиссии за газ. После подтверждения пользователи оплачивают комиссию за транзакцию с помощью этого универсального токена ERC-20. Вы можете найти наш развернутый контракт, ⁹ и обработанную UserOperation здесь.
Спонсорские комиссии за транзакции для пользователей, использующих ERC-4337 Paymaster
Рисунок 6: Paymaster спонсирует комиссию за транзакции для пользователей (фрагмент кода)
Согласно второму варианту использования, который мы упомянули, другой наш контракт Visa Paymaster полностью оплачивает комиссию за транзакцию. Опять же, наша реализация основана на начальном коде¹¹, предоставленном Ethereum Foundation и основной командой ERC-4337. Origin Code спонсирует каждую транзакцию на безвозмездной основе. Мы добавили белый список, чтобы только авторизованные пользователи могли взаимодействовать с контрактом Visa Paymaster. Вы можете найти наш развернутый контракт здесь. ¹² Наша тестовая реализация смогла успешно спонсировать комиссию за транзакции для пользователей из белого списка. Вы можете увидеть успешную операцию UserOperation здесь. ¹³
Вариант использования Paymaster выходит далеко за рамки того, что мы выделили в этой статье. Абстрагируясь от базовой логики обработки блокчейна, можно получить множество инновационных пользовательских интерфейсов. Для ERC-4337, разрабатываемого в настоящее время, мы видим несколько возможных подходов, которые могли бы основываться на наших экспериментах, описанных выше. Например, вместо того, чтобы требовать новый специальный токен ERC-20, встроенный в смарт-контракт Paymaster, было бы проще интегрировать Paymaster с существующим токеном ERC-20, таким как USDC. Этот подход требует использования внешнего источника для определения цены токена и проверки того, что контракт Paymaster одобрил взимание платы с пользователя за указанный токен. Один из подходов заключается в развертывании службы оракула вне сети, которая может предоставить необходимую информацию, такую как цены на токены и подписи, которые может проверить контракт Paymaster.
В качестве альтернативы весь процесс может быть обработан в сети с помощью контракта оракула для необходимых данных. Хотя этот подход обеспечивает лучшую гарантию того, что кассиры получают надлежащее вознаграждение, его также сложнее реализовать. Некоторые ограничения ERC-4337 затрудняют для Paymasters запрос оракулов в сети во время проверки Paymaster, и Bundlers часто отклоняют UserOperations, которые должны это сделать. Чтобы включить этот процесс, необходимо создать альтернативный мемпул со списком доверенных казначеев, на который может подписаться Бандлер. Эти доверенные казначеи могут вызывать контракты оракула, и пользовательские операции, использующие этих казначеев, будут извлекаться из резервного пула памяти.
Взгляд в будущее
Взаимодействие с блокчейном с использованием цифрового кошелька может быть сложной задачей, и многие считают, что обеспечение простоты использования является важным шагом на пути к более широкому внедрению. ERC-4337 представляет интересные будущие возможности для улучшения взаимодействия пользователей с платежами в сети с помощью кошельков со смарт-контрактами с самостоятельным хранением, что, в свою очередь, может изменить то, как пользователи тратят цифровые валюты и цифровые активы.
Сообщество Ethereum находится в начале этого нового пути, когда дело доходит до ERC-4337. Есть много планов по предоставлению инфраструктуры, на которой могут быть построены потоки, управляемые AA, некоторые из которых мы использовали в нашем тестировании и упоминали в этой статье, но все еще есть значительные возможности для роста. Как и в любом открытом поле, существуют конкурирующие подходы и компромиссы, такие как варианты децентрализации, предлагаемые общедоступными сборщиками, по сравнению с возможностью настройки частных сборщиков, ненадежная безопасность Paymaster полностью в цепочке по сравнению с развертыванием некоторых компонентов по сравнению с экономической эффективностью; и множество альтернативных схем подписи, которые могут использовать кошельки, среди прочего. Эти различные варианты дизайна могут привести к появлению богатого набора опций, позволяющих лучше предоставлять пользователям возможности цифровых платежей в будущем.
Платежные инновации для всех и везде
Являясь мировым лидером в области платежных решений, Visa всегда находится в поиске инноваций, отвечающих реальным потребностям. Мы продолжим исследовать потенциал смарт-контрактов и возможное будущее программируемых денег и программируемых платежей. В этой статье мы углубимся в то, как AA на Ethereum, реализованный ERC-4337, может обеспечить интересные новые варианты использования блокчейна. Мы предоставляем сквозное пошаговое руководство по транзакции ERC-4337 и объясняем, чем она отличается от стандартных транзакций Ethereum, чтобы выделить лежащую в основе механику.
Наши эксперименты с ERC-4337 сосредоточены на двух различных вариантах использования: развертывание контрактов Paymaster для изучения и оценки их потенциальной полезности для решения реальных проблем и значительного улучшения качества обслуживания клиентов за счет взаимодействия в сети. Для компаний, работающих на этом фронте, наши команды по продуктам, исследованиям и инженерам будут рады обсудить идеи для программируемых платежей.
Свяжитесь с Visa Crypto по адресу GDLVisaCryptoResearch@visa.com, чтобы узнать больше о наших исследовательских интересах и деятельности в криптоэкосистеме.
*Этот документ предназначен только для иллюстративных целей. Он содержит описание продукта, находящегося в разработке, и его следует понимать как представление потенциальных возможностей полностью развернутого продукта. Окончательная версия этого продукта может не содержать всех функций, описанных в этой презентации. В своем письме мы настаиваем на четком разграничении концептуальных терминов «точка входа», «кассир» и «пользовательская операция» и соответствующих им сетевых сущностей EntryPoint, UserOperation и Paymaster. Этот подход следует соглашениям, изложенным в исходном предложении ERC-4337. *
*Спасибо Cuy Sheffield, Andrew Beams, Mahdi Zamani, Mohsen Minaei, Aaron Salot и соучредителю Stackup John Rising за рецензию. *