Технология блокчейна получила широкое распространение в последние годы, и, хотя она может определить будущее денежных потоков, транзакции блокчейна также представляют собой более высокий уровень сложности, которого нет в традиционных методах оплаты. Транзакции блокчейна используют децентрализованную сеть, в которой несколько участников сети проверяют и записывают каждую транзакцию. Транзакции в блокчейне включают самостоятельные кошельки, закрытые ключи, плату за газ — все элементы, которые не применяются к традиционным методам оплаты. Чтобы совершать транзакции с использованием блокчейна, такого как Ethereum, потребители должны поддерживать баланс определенной суммы собственного токена блокчейна (например, ETH) для оплаты использования сети, известной как «плата за газ». Что, если отправить транзакцию в блокчейне с помощью собственного кошелька для пользователя было бы так же просто, как оплатить чашку кофе кредитной картой? Пользовательский опыт в блокчейне еще не достиг той же простоты использования, что и кошельки с самостоятельным хранением. Например, хотя Ethereum поддерживает push-платежи, он изначально не поддерживает платежи по запросу, такие как автоматические платежи. Чтобы решить эту проблему, в нашей прошлогодней статье «Автоматические выплаты для автономных кошельков» мы исследовали и продемонстрировали, как использовать абстракцию учетной записи для настройки платежей по запросу для автономных кошельков.
Visa отлично справляется с транзакциями в разных валютах. Например, пользователи могут путешествовать в другую страну, не беспокоясь о необходимости заранее готовить иностранную валюту, потому что одна и та же карта Visa позволяет делать покупки как дома, так и за границей. Однако такой простоты не существует в криптомире. Потребители, совершающие транзакции в Ethereum, вынуждены постоянно управлять своими балансами ETH, чтобы оплачивать комиссию за газ, что является обременительной задачей, которая отвлекает их от важных операций с блокчейном. После сравнения сложности транзакций в блокчейне с простотой транзакций по фиатным платежам, поддерживаемых сетью Visa, становится ясно, что транзакции в блокчейне нуждаются в улучшении. Остается вопрос: как мы можем помочь закрыть этот пробел и сделать транзакции в блокчейне проще и удобнее?
(Рисунок 1: Сеть Visa)
Осознавая эту проблему, мы изучили вариант упрощения транзакций в блокчейне, позволив пользователям оплачивать газ в сети напрямую в фиатной валюте с помощью платежа по карте. В этом случае пользователям больше не нужно будет хранить собственный токен конкретного блокчейна только для оплаты газа. Это потенциальное решение будет использовать стандарт ERC-4337 Эфириума и контракты плательщика, чтобы пользователи могли оплачивать газ напрямую с помощью карты Visa. Мы считаем, что этот инновационный и гибкий подход может помочь упростить точку входа для новых пользователей криптовалюты и улучшить опыт для существующих пользователей. В этой статье мы углубимся в существующие проблемы транзакций в блокчейне, подчеркнем необходимость более гибких подходов и представим наши эксперименты.
1. Вопрос
Одним из основных препятствий в криптомире является сложный процесс оплаты транзакций или операций в блокчейне. Каждая операция, будь то простая передача токена или более сложное взаимодействие со смарт-контрактом, влечет за собой затраты, называемые «газом». Плата за газ представляет собой объем вычислений, необходимых для выполнения операции. В случае Ethereum плата за газ должна быть оплачена с использованием собственного токена блокчейна, ETH.
Хотя стейблкоины, такие как USDC, могут использоваться для транзакций, пользователям по-прежнему необходимо поддерживать определенный баланс ETH отдельно для оплаты комиссий за газ Ethereum. Это часто приводит пользователей к сложным, а иногда и дорогостоящим методам. Некоторые полагаются на депозитные услуги для конвертации фиата в нативные токены, такие как ETH, в то время как другие покупают ETH на централизованных криптобиржах и переводят их на свои кошельки. Однако обе стратегии требуют дополнительных шагов и лишены простоты и оперативности, к которым привыкли пользователи в традиционных финансовых транзакциях. Кроме того, эти методы подвергают пользователей воздействию колебаний обменных курсов криптовалют, поскольку им необходимо постоянно покупать ETH, даже если в платежных транзакциях используются разные криптовалюты или стейблкоины.
(Рисунок 2: Процесс депозита: получение токенов для кошелька самообслуживания)
Например, Алекс — пользователь, который хочет участвовать в проекте децентрализованных финансов (DeFi), который требует от нее чеканки новых токенов. Для этого она решила обменять свою фиатную валюту на ETH с помощью депозитного сервиса. Алекс тщательно спланировал и купил определенное количество ETH, исходя из текущей платы за газ и ожидаемой стоимости процесса майнинга. Однако плата за газ в сети Ethereum может быстро колебаться. Если в течение периода чеканки Алекс значительно упадет, она заплатит слишком много газа и в конечном итоге получит остаток ETH, который она не собиралась покупать. И наоборот, если плата за газ Алекса неожиданно возрастет после того, как она получит ETH, у нее может не хватить средств для покрытия возросшей платы, что приведет к недоплате. Эта непредсказуемость и необходимость оценивать и управлять расходами на газ добавляют сложности и неудобства для таких пользователей, как Алекс. На рис. 2 показан процесс внесения депозита пользователем для покупки криптовалюты через поставщика депозитных услуг.
(Рис. 3. Получение токенов через централизованные биржи)
Кроме того, для такого пользователя, как Алекс, приобретение нативного токена, такого как ETH, часто требует перемещения активов с централизованной биржи. Это влечет за собой внесение фиата на биржу, покупку необходимых токенов и перевод их на личный кошелек, чтобы получить достаточное количество ETH для покрытия платы за газ. Однако этот подход также сопряжен с риском переплаты или недоплаты из-за волатильности стоимости ETH и комиссий за газ. Кроме того, это может быть непреодолимой проблемой для тех, кто менее разбирается в технологиях и хочет участвовать в транзакциях с блокчейном. Для тех, кто не знаком с криптовалютными биржами и тонкостями покупки и обмена токенами, этот процесс является барьером для входа в криптомир. Это так же обременительно и недружелюбно, как обменивать наличные деньги на разные валюты во время путешествий по разным странам. Рисунок 3 иллюстрирует процесс перехода пользователя для покупки криптовалюты через биржу криптовалюты и перевода ее в кошелек.
2. Решение
Наши команды Crypto Protocols, Visa Innovation Center и Visa Research провели внутренний хакатон, на котором мы воспользовались возможностью изучить кассиров в соответствии со стандартом ERC-4337. Результатом этих совместных усилий является предложение по потоку решений, которое демонстрирует, как позволить пользователям оплачивать газ в сети в фиатной валюте через файловую систему управления картами. Это предложение по решению использует стандарт Ethereum ERC-4337 и контракт с плательщиком, чтобы позволить держателям карт Visa оплачивать свои сборы за газ напрямую. Мы считаем, что этот инновационный и адаптивный подход может помочь упростить процесс регистрации для новых пользователей криптовалюты и улучшить опыт для существующих пользователей.
(Рисунок 4: Упрощенное взаимодействие пользователя с развертыванием Paymaster)
В этом предложении решения мы снова ставим кассатора в центр процесса. Paymaster — это особый тип учетной записи смарт-контракта, который может спонсировать плату за газ для учетных записей пользовательских контрактов (его можно рассматривать как смарт-контракт, ориентированный на пользователя). Предлагаемое нами решение освобождает пользователей от необходимости хранить собственные токены блокчейна или постоянно соединять токены только для оплаты газа. С точки зрения пользователя решение привлекательно своей простотой и легкостью внедрения, как показано на рис. 4. Например, давайте снова возьмем Алекс, у нее есть самостоятельный кошелек. Согласно предложенному нами решению, Алекс может использовать свою карту Visa для оплаты газа и участия в проекте DeFi, который требует от нее чеканки новых токенов. Таким образом, Visa помогает справиться со сложным процессом за кулисами, позволяя Алекс без каких-либо хлопот оплачивать бензин с помощью своей карты Visa. Это решение обеспечивает простоту и удобство для таких пользователей, как Алекс, которые ищут более рациональный и простой в использовании способ проведения транзакций в блокчейне.
3. Наш эксперимент
Роль Paymaster состоит в том, чтобы извлечь сложность механизма платы за газ, предоставив альтернативу тарифу. Наши эксперименты делают это, принимая плату за газ, уплаченную пользователями в автономном режиме с их карт Visa, и оплачивая эквивалентную сумму в сети от имени пользователей. Плата за газ на стороне пользователя так же проста, как и обычная оплата кредитной картой. Пользователи могут использовать такого плательщика при отправке пользовательских операций. Пользовательские операции аналогичны обычным взаимодействиям с цепочкой блоков, они определяют операции, которые пользователь хочет выполнять в цепочке блоков. Но, в отличие от транзакций, пользовательские операции не должны быть подписаны внешними учетными записями и могут быть напрямую проверены и выполнены учетными записями смарт-контрактов.
Настройка, которую мы развернули, чтобы обеспечить возможность оплаты газа вне сети, сосредоточена вокруг проверяющего казначея. Verifying Paymaster — это смарт-контракт, который делегирует все необходимые проверки и источники информации внешним компонентам. Затем смарт-контракт плательщика в сети может использовать данные и подтверждения, предоставленные этим компонентом вне сети, для авторизации и оплаты комиссий за газ. Способ надежной передачи этой информации от службы вне сети к контракту казначея — это криптография с открытым ключом: веб-служба вне сети использует ключ для создания цифровой подписи и отправляет ее вместе с информацией. Смарт-контракт Paymaster, в свою очередь, может проверять подпись с помощью соответствующего открытого ключа, тем самым подтверждая подлинность сообщения. В наших экспериментах мы использовали образец смарт-контракта Verifying Paymaster, предоставленный основной командой ERC-4337.
(Рисунок 5: Технический поток транзакций с использованием карт Paymaster и Visa)
Как показано на рисунке 5, в нашей реализации, когда пользователь намеревается инициировать операцию блокчейна, кошелек сначала генерирует запрос операции пользователя, который включает в себя операцию, которую он пытается выполнить (т. е. данные вызова), и максимальную стоимость обработки операции. информация об эксплуатации (т.е. параметры, связанные с платой за газ). В частности, максимальный бюджет вычислений для операции определяется параметром, определяющим лимит газа, а стоимость каждой вычислительной единицы определяется платой за газ.
Вместо немедленной отправки запроса на операцию пользователя в блокчейн кошелек сначала отправляет операцию пользователя вместе с учетными данными карты Visa в веб-службу плательщика (шаг 2 на рис. 5). Веб-служба будет использовать информацию о плате за газ для расчета соответствующей стоимости для взимания платы с пользователя в фиатной валюте, и на основе предоставленных учетных данных карты Visa эмитент карты может выбрать авторизацию платежа с помощью карты Visa. Для решения по приему платежей для веб-сервисов мы использовали собственный Cybersource Visa. Cybersource предоставляет разработчикам необходимые SDK и API, чтобы продавцы могли получать цифровые платежи.
В нашем эксперименте после обработки платежа Cybersource веб-служба создает цифровую подпись для соответствующих данных в User Operation, включая данные о вызовах и информацию о плате за газ (шаг 3). Он также определяет период времени, в течение которого подпись действительна. Указание временного окна важно, потому что стоимость ETH и других нативных токенов колеблется в Ethereum и других цепочках EVM. Без каких-либо мер предосторожности пользователи могут воспользоваться отсутствием синхронности между двумя частями плательщика, платить вне сети в фиатной валюте, когда затраты ETH низки, затем использовать подписи, когда затраты ETH высоки, и позволить контракту плательщика покрывать расходы. разница. Веб-сервис отправляет цифровую подпись обратно в кошелек. Кроме того, любые изменения, внесенные кошельком в соответствующие параметры Операции Пользователя, приведут к несоответствию с цифровой подписью, и смарт-контракт Verifying Paymaster обнаружит это отклонение.
Кошелек получает цифровую подпись и временное окно от веб-службы и добавляет эту информацию (вместе с адресом в цепочке контракта плательщика) в качестве параметра плательщика Операции пользователя. Теперь, когда все части пользовательской операции завершены, кошелек сможет подписать ее и отправить в блокчейн (шаг 4). В блокчейне, как часть процесса обработки Операции пользователя, определенного стандартом ERC-4337, контракт казначея будет получать данные Операции пользователя, которые должны включать цифровую подпись от веб-службы казначея. Если в предоставленных данных есть какая-либо ошибка (неправильная подпись, неверный временной интервал и т. д.), казначейский договор сообщит об ошибке, и плата за газ не будет выплачена. Если проверочная подпись верна, это означает, что веб-сервис получил платеж с карты Visa, чтобы включить стоимость обработки этой Операции пользователя. Контракт Paymaster не сообщит об ошибках и обработает стоимость, Операция пользователя также будет выполнена (шаг 5).
Когда мы строили наши эксперименты, мы использовали библиотеку userop.js Stackup для создания, подписи и отправки пользовательских операций. Чтобы публиковать эти пользовательские операции в блокчейне и иметь дополнительные функции, такие как оценка платы за газ, мы используем Stackup Bundler в качестве нашего провайдера. В целях тестирования мы развернули нашего Verifying Paymaster в тестовой сети Ethereum Goerli и смогли успешно отправлять пользовательские операции с использованием оплаты газа вне сети.
4. Уменьшите трения в блокчейне
Сложность транзакций в блокчейне является значительным камнем преткновения для многих пользователей, создавая чрезвычайно сложную кривую обучения и увеличивая трения пользователей. Тем не менее, наши эксперименты направлены на то, чтобы обеспечить многообещающий подход к существенному решению этих проблем. Используя инновационную концепцию плательщика в сочетании с абстракцией счетов и стандартом ERC-4337, мы исследуем возможность процесса, который может переопределить транзакции блокчейна.
Абстракция учетной записи позволяет разработчикам разрабатывать новые процессы, которые помогают уменьшить трения при обмене ценностями всех видов. Наши эксперименты показывают, что разработчики могут реализовать это решение, используя существующую платежную инфраструктуру. Продавцы или децентрализованные приложения (dApps) могут запускать свои собственные решения для плательщиков, чтобы улучшить качество обслуживания клиентов, принимая карты Visa для оплаты газа. В качестве альтернативы существующие поставщики услуг кошельков и кассиров могут предлагать оплату газа на основе карт Visa в качестве общего варианта, а также другие варианты платежных услуг. Реализация этого потенциального решения помогает заложить основу для более доступного и удобного подхода к цифровым транзакциям.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Visa Experimental Solution: Оплата платы за газ в сети с помощью карты Visa
Автор: Мерт Озбай, Мустафа Бедавала и Кэтрин Гу, Visa, перевод: Jinse Finance xiaozou
Технология блокчейна получила широкое распространение в последние годы, и, хотя она может определить будущее денежных потоков, транзакции блокчейна также представляют собой более высокий уровень сложности, которого нет в традиционных методах оплаты. Транзакции блокчейна используют децентрализованную сеть, в которой несколько участников сети проверяют и записывают каждую транзакцию. Транзакции в блокчейне включают самостоятельные кошельки, закрытые ключи, плату за газ — все элементы, которые не применяются к традиционным методам оплаты. Чтобы совершать транзакции с использованием блокчейна, такого как Ethereum, потребители должны поддерживать баланс определенной суммы собственного токена блокчейна (например, ETH) для оплаты использования сети, известной как «плата за газ». Что, если отправить транзакцию в блокчейне с помощью собственного кошелька для пользователя было бы так же просто, как оплатить чашку кофе кредитной картой? Пользовательский опыт в блокчейне еще не достиг той же простоты использования, что и кошельки с самостоятельным хранением. Например, хотя Ethereum поддерживает push-платежи, он изначально не поддерживает платежи по запросу, такие как автоматические платежи. Чтобы решить эту проблему, в нашей прошлогодней статье «Автоматические выплаты для автономных кошельков» мы исследовали и продемонстрировали, как использовать абстракцию учетной записи для настройки платежей по запросу для автономных кошельков.
Visa отлично справляется с транзакциями в разных валютах. Например, пользователи могут путешествовать в другую страну, не беспокоясь о необходимости заранее готовить иностранную валюту, потому что одна и та же карта Visa позволяет делать покупки как дома, так и за границей. Однако такой простоты не существует в криптомире. Потребители, совершающие транзакции в Ethereum, вынуждены постоянно управлять своими балансами ETH, чтобы оплачивать комиссию за газ, что является обременительной задачей, которая отвлекает их от важных операций с блокчейном. После сравнения сложности транзакций в блокчейне с простотой транзакций по фиатным платежам, поддерживаемых сетью Visa, становится ясно, что транзакции в блокчейне нуждаются в улучшении. Остается вопрос: как мы можем помочь закрыть этот пробел и сделать транзакции в блокчейне проще и удобнее?
(Рисунок 1: Сеть Visa)
Осознавая эту проблему, мы изучили вариант упрощения транзакций в блокчейне, позволив пользователям оплачивать газ в сети напрямую в фиатной валюте с помощью платежа по карте. В этом случае пользователям больше не нужно будет хранить собственный токен конкретного блокчейна только для оплаты газа. Это потенциальное решение будет использовать стандарт ERC-4337 Эфириума и контракты плательщика, чтобы пользователи могли оплачивать газ напрямую с помощью карты Visa. Мы считаем, что этот инновационный и гибкий подход может помочь упростить точку входа для новых пользователей криптовалюты и улучшить опыт для существующих пользователей. В этой статье мы углубимся в существующие проблемы транзакций в блокчейне, подчеркнем необходимость более гибких подходов и представим наши эксперименты.
1. Вопрос
Одним из основных препятствий в криптомире является сложный процесс оплаты транзакций или операций в блокчейне. Каждая операция, будь то простая передача токена или более сложное взаимодействие со смарт-контрактом, влечет за собой затраты, называемые «газом». Плата за газ представляет собой объем вычислений, необходимых для выполнения операции. В случае Ethereum плата за газ должна быть оплачена с использованием собственного токена блокчейна, ETH.
Хотя стейблкоины, такие как USDC, могут использоваться для транзакций, пользователям по-прежнему необходимо поддерживать определенный баланс ETH отдельно для оплаты комиссий за газ Ethereum. Это часто приводит пользователей к сложным, а иногда и дорогостоящим методам. Некоторые полагаются на депозитные услуги для конвертации фиата в нативные токены, такие как ETH, в то время как другие покупают ETH на централизованных криптобиржах и переводят их на свои кошельки. Однако обе стратегии требуют дополнительных шагов и лишены простоты и оперативности, к которым привыкли пользователи в традиционных финансовых транзакциях. Кроме того, эти методы подвергают пользователей воздействию колебаний обменных курсов криптовалют, поскольку им необходимо постоянно покупать ETH, даже если в платежных транзакциях используются разные криптовалюты или стейблкоины.
(Рисунок 2: Процесс депозита: получение токенов для кошелька самообслуживания)
Например, Алекс — пользователь, который хочет участвовать в проекте децентрализованных финансов (DeFi), который требует от нее чеканки новых токенов. Для этого она решила обменять свою фиатную валюту на ETH с помощью депозитного сервиса. Алекс тщательно спланировал и купил определенное количество ETH, исходя из текущей платы за газ и ожидаемой стоимости процесса майнинга. Однако плата за газ в сети Ethereum может быстро колебаться. Если в течение периода чеканки Алекс значительно упадет, она заплатит слишком много газа и в конечном итоге получит остаток ETH, который она не собиралась покупать. И наоборот, если плата за газ Алекса неожиданно возрастет после того, как она получит ETH, у нее может не хватить средств для покрытия возросшей платы, что приведет к недоплате. Эта непредсказуемость и необходимость оценивать и управлять расходами на газ добавляют сложности и неудобства для таких пользователей, как Алекс. На рис. 2 показан процесс внесения депозита пользователем для покупки криптовалюты через поставщика депозитных услуг.
(Рис. 3. Получение токенов через централизованные биржи)
Кроме того, для такого пользователя, как Алекс, приобретение нативного токена, такого как ETH, часто требует перемещения активов с централизованной биржи. Это влечет за собой внесение фиата на биржу, покупку необходимых токенов и перевод их на личный кошелек, чтобы получить достаточное количество ETH для покрытия платы за газ. Однако этот подход также сопряжен с риском переплаты или недоплаты из-за волатильности стоимости ETH и комиссий за газ. Кроме того, это может быть непреодолимой проблемой для тех, кто менее разбирается в технологиях и хочет участвовать в транзакциях с блокчейном. Для тех, кто не знаком с криптовалютными биржами и тонкостями покупки и обмена токенами, этот процесс является барьером для входа в криптомир. Это так же обременительно и недружелюбно, как обменивать наличные деньги на разные валюты во время путешествий по разным странам. Рисунок 3 иллюстрирует процесс перехода пользователя для покупки криптовалюты через биржу криптовалюты и перевода ее в кошелек.
2. Решение
Наши команды Crypto Protocols, Visa Innovation Center и Visa Research провели внутренний хакатон, на котором мы воспользовались возможностью изучить кассиров в соответствии со стандартом ERC-4337. Результатом этих совместных усилий является предложение по потоку решений, которое демонстрирует, как позволить пользователям оплачивать газ в сети в фиатной валюте через файловую систему управления картами. Это предложение по решению использует стандарт Ethereum ERC-4337 и контракт с плательщиком, чтобы позволить держателям карт Visa оплачивать свои сборы за газ напрямую. Мы считаем, что этот инновационный и адаптивный подход может помочь упростить процесс регистрации для новых пользователей криптовалюты и улучшить опыт для существующих пользователей.
(Рисунок 4: Упрощенное взаимодействие пользователя с развертыванием Paymaster)
В этом предложении решения мы снова ставим кассатора в центр процесса. Paymaster — это особый тип учетной записи смарт-контракта, который может спонсировать плату за газ для учетных записей пользовательских контрактов (его можно рассматривать как смарт-контракт, ориентированный на пользователя). Предлагаемое нами решение освобождает пользователей от необходимости хранить собственные токены блокчейна или постоянно соединять токены только для оплаты газа. С точки зрения пользователя решение привлекательно своей простотой и легкостью внедрения, как показано на рис. 4. Например, давайте снова возьмем Алекс, у нее есть самостоятельный кошелек. Согласно предложенному нами решению, Алекс может использовать свою карту Visa для оплаты газа и участия в проекте DeFi, который требует от нее чеканки новых токенов. Таким образом, Visa помогает справиться со сложным процессом за кулисами, позволяя Алекс без каких-либо хлопот оплачивать бензин с помощью своей карты Visa. Это решение обеспечивает простоту и удобство для таких пользователей, как Алекс, которые ищут более рациональный и простой в использовании способ проведения транзакций в блокчейне.
3. Наш эксперимент
Роль Paymaster состоит в том, чтобы извлечь сложность механизма платы за газ, предоставив альтернативу тарифу. Наши эксперименты делают это, принимая плату за газ, уплаченную пользователями в автономном режиме с их карт Visa, и оплачивая эквивалентную сумму в сети от имени пользователей. Плата за газ на стороне пользователя так же проста, как и обычная оплата кредитной картой. Пользователи могут использовать такого плательщика при отправке пользовательских операций. Пользовательские операции аналогичны обычным взаимодействиям с цепочкой блоков, они определяют операции, которые пользователь хочет выполнять в цепочке блоков. Но, в отличие от транзакций, пользовательские операции не должны быть подписаны внешними учетными записями и могут быть напрямую проверены и выполнены учетными записями смарт-контрактов.
Настройка, которую мы развернули, чтобы обеспечить возможность оплаты газа вне сети, сосредоточена вокруг проверяющего казначея. Verifying Paymaster — это смарт-контракт, который делегирует все необходимые проверки и источники информации внешним компонентам. Затем смарт-контракт плательщика в сети может использовать данные и подтверждения, предоставленные этим компонентом вне сети, для авторизации и оплаты комиссий за газ. Способ надежной передачи этой информации от службы вне сети к контракту казначея — это криптография с открытым ключом: веб-служба вне сети использует ключ для создания цифровой подписи и отправляет ее вместе с информацией. Смарт-контракт Paymaster, в свою очередь, может проверять подпись с помощью соответствующего открытого ключа, тем самым подтверждая подлинность сообщения. В наших экспериментах мы использовали образец смарт-контракта Verifying Paymaster, предоставленный основной командой ERC-4337.
(Рисунок 5: Технический поток транзакций с использованием карт Paymaster и Visa)
Как показано на рисунке 5, в нашей реализации, когда пользователь намеревается инициировать операцию блокчейна, кошелек сначала генерирует запрос операции пользователя, который включает в себя операцию, которую он пытается выполнить (т. е. данные вызова), и максимальную стоимость обработки операции. информация об эксплуатации (т.е. параметры, связанные с платой за газ). В частности, максимальный бюджет вычислений для операции определяется параметром, определяющим лимит газа, а стоимость каждой вычислительной единицы определяется платой за газ.
Вместо немедленной отправки запроса на операцию пользователя в блокчейн кошелек сначала отправляет операцию пользователя вместе с учетными данными карты Visa в веб-службу плательщика (шаг 2 на рис. 5). Веб-служба будет использовать информацию о плате за газ для расчета соответствующей стоимости для взимания платы с пользователя в фиатной валюте, и на основе предоставленных учетных данных карты Visa эмитент карты может выбрать авторизацию платежа с помощью карты Visa. Для решения по приему платежей для веб-сервисов мы использовали собственный Cybersource Visa. Cybersource предоставляет разработчикам необходимые SDK и API, чтобы продавцы могли получать цифровые платежи.
В нашем эксперименте после обработки платежа Cybersource веб-служба создает цифровую подпись для соответствующих данных в User Operation, включая данные о вызовах и информацию о плате за газ (шаг 3). Он также определяет период времени, в течение которого подпись действительна. Указание временного окна важно, потому что стоимость ETH и других нативных токенов колеблется в Ethereum и других цепочках EVM. Без каких-либо мер предосторожности пользователи могут воспользоваться отсутствием синхронности между двумя частями плательщика, платить вне сети в фиатной валюте, когда затраты ETH низки, затем использовать подписи, когда затраты ETH высоки, и позволить контракту плательщика покрывать расходы. разница. Веб-сервис отправляет цифровую подпись обратно в кошелек. Кроме того, любые изменения, внесенные кошельком в соответствующие параметры Операции Пользователя, приведут к несоответствию с цифровой подписью, и смарт-контракт Verifying Paymaster обнаружит это отклонение.
Кошелек получает цифровую подпись и временное окно от веб-службы и добавляет эту информацию (вместе с адресом в цепочке контракта плательщика) в качестве параметра плательщика Операции пользователя. Теперь, когда все части пользовательской операции завершены, кошелек сможет подписать ее и отправить в блокчейн (шаг 4). В блокчейне, как часть процесса обработки Операции пользователя, определенного стандартом ERC-4337, контракт казначея будет получать данные Операции пользователя, которые должны включать цифровую подпись от веб-службы казначея. Если в предоставленных данных есть какая-либо ошибка (неправильная подпись, неверный временной интервал и т. д.), казначейский договор сообщит об ошибке, и плата за газ не будет выплачена. Если проверочная подпись верна, это означает, что веб-сервис получил платеж с карты Visa, чтобы включить стоимость обработки этой Операции пользователя. Контракт Paymaster не сообщит об ошибках и обработает стоимость, Операция пользователя также будет выполнена (шаг 5).
(Рисунок 6: Фрагмент кода — Проверка цифровой подписи Paymaster)
Когда мы строили наши эксперименты, мы использовали библиотеку userop.js Stackup для создания, подписи и отправки пользовательских операций. Чтобы публиковать эти пользовательские операции в блокчейне и иметь дополнительные функции, такие как оценка платы за газ, мы используем Stackup Bundler в качестве нашего провайдера. В целях тестирования мы развернули нашего Verifying Paymaster в тестовой сети Ethereum Goerli и смогли успешно отправлять пользовательские операции с использованием оплаты газа вне сети.
4. Уменьшите трения в блокчейне
Сложность транзакций в блокчейне является значительным камнем преткновения для многих пользователей, создавая чрезвычайно сложную кривую обучения и увеличивая трения пользователей. Тем не менее, наши эксперименты направлены на то, чтобы обеспечить многообещающий подход к существенному решению этих проблем. Используя инновационную концепцию плательщика в сочетании с абстракцией счетов и стандартом ERC-4337, мы исследуем возможность процесса, который может переопределить транзакции блокчейна.
Абстракция учетной записи позволяет разработчикам разрабатывать новые процессы, которые помогают уменьшить трения при обмене ценностями всех видов. Наши эксперименты показывают, что разработчики могут реализовать это решение, используя существующую платежную инфраструктуру. Продавцы или децентрализованные приложения (dApps) могут запускать свои собственные решения для плательщиков, чтобы улучшить качество обслуживания клиентов, принимая карты Visa для оплаты газа. В качестве альтернативы существующие поставщики услуг кошельков и кассиров могут предлагать оплату газа на основе карт Visa в качестве общего варианта, а также другие варианты платежных услуг. Реализация этого потенциального решения помогает заложить основу для более доступного и удобного подхода к цифровым транзакциям.