Технологія блокчейн отримала широке поширення в останні роки, і хоча вона має потенціал для формування майбутніх грошових потоків, транзакції блокчейну також створюють більш високий рівень складності, якого немає в традиційних методах оплати. Транзакції блокчейну використовують децентралізовану мережу, де кілька учасників мережі перевіряють і записують кожну транзакцію. Блокчейн-транзакції передбачають самостійні гаманці, особисті ключі, комісію за газ — усі елементи, які не застосовуються до традиційних методів оплати. Щоб здійснювати транзакції за допомогою блокчейну, такого як Ethereum, споживачі повинні підтримувати баланс певної суми рідного токена блокчейну (наприклад, ETH), щоб платити за користування мережею, відомий як «плата за газ». Що, якби відправити блокчейн-транзакцію за допомогою власного гаманця було так само просто для користувача, як оплатити чашку кави за допомогою кредитної картки? Досвід користувача в блокчейні ще не досяг такої ж простоти використання для гаманців із самоохороною. Наприклад, хоча Ethereum підтримує push-платежі, він не підтримує платежі pull, наприклад автоматичні платежі. Щоб вирішити цю проблему, у нашій минулорічній статті «Автоматичні виплати для гаманців, розміщених на власному хості», ми дослідили та продемонстрували, як використовувати абстракцію облікового запису, щоб налаштувати витягнівальні платежі для гаманців, що розміщені на власному хості.
Visa чудово полегшує операції з різними валютами. Наприклад, користувачі можуть подорожувати в іншу країну, не турбуючись про необхідність заздалегідь підготувати іноземну валюту, оскільки та сама картка Visa дозволяє робити покупки як вдома, так і за кордоном. Однак такої простоти не існує в криптосвіті. Споживачі, які здійснюють транзакції в Ethereum, змушені постійно керувати своїми балансами ETH, щоб оплачувати комісію за газ, що відволікає їх від важливої діяльності в блокчейні. Після порівняння складності блокчейн-транзакцій із простотою платіжних транзакцій, які підтримуються мережею Visa, стає зрозуміло, що блокчейн-транзакції потребують вдосконалення. Залишається питання: як ми можемо допомогти усунути цю прогалину та зробити транзакції блокчейну простішими та зручнішими?
(Малюнок 1: мережа Visa)
Розуміючи цю проблему, ми дослідили варіант спрощення транзакцій у блокчейні, дозволивши користувачам оплачувати газ у ланцюзі безпосередньо у фіатній валюті за допомогою карткової оплати. У цьому випадку користувачам може більше не знадобитися тримати нативний токен певного блокчейну лише для того, щоб сплатити комісію за газ. Це потенційне рішення буде використовувати стандарт ERC-4337 Ethereum і контракти платіжника, щоб дозволити користувачам оплачувати газ безпосередньо за допомогою картки 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. Результатом цих спільних зусиль є пропозиція щодо потоку рішень, яка демонструє, як дозволити користувачам платити за ланцюжковий газ у фіатній формі через файлову систему керування картками. Ця пропозиція рішення використовує стандарт ERC-4337 Ethereum і контракт платіжника, щоб дозволити власникам карток Visa сплачувати комісію за газ безпосередньо. Ми вважаємо, що цей інноваційний та адаптивний підхід може допомогти спростити процес адаптації для нових користувачів криптовалюти та покращити досвід для поточних користувачів.
(Малюнок 4: Спрощена взаємодія користувача з розгортанням Paymaster)
У цій пропозиції рішення ми знову ставимо платника в центр процесу. Paymaster — це спеціальний тип смарт-контрактного облікового запису, який може спонсорувати комісію за газ облікових записів користувачів (його можна розглядати як розумний контракт, орієнтований на користувача). Запропоноване нами рішення звільняє користувачів від необхідності тримати рідні токени блокчейну або постійно перемикати токени лише для оплати газу. З точки зору користувача, рішення є привабливим завдяки його простоті та легкості прийняття, як показано на малюнку 4. Для прикладу знову візьмемо Алекс, у неї є гаманець із самостійним зберіганням. Відповідно до запропонованого нами рішення, Алекс може використовувати свою картку Visa для оплати газу та участі в проекті DeFi, який вимагає від неї карбувати нові токени. Таким чином Visa допомагає впоратися зі складним процесом за лаштунками, дозволяючи Алексу без будь-яких проблем вибрати плату за бензин за допомогою своєї картки Visa. Це рішення забезпечує простоту та кращий досвід для таких користувачів, як Алекс, які шукають більш спрощений і простий у використанні спосіб проведення транзакцій блокчейну.
3. Наш експеримент
Роль Paymaster полягає в тому, щоб вилучити складність механізму плати за газ, надаючи альтернативу тарифу. Наші експерименти роблять це, приймаючи комісію за газ, сплачену користувачами в автономному режимі з їхніх карт Visa, і сплачуючи еквівалентну суму в мережі від імені користувачів. Плата за газ на стороні користувача така ж проста, як звичайна оплата кредитною карткою. Користувачі можуть вибрати використання такого платіжника під час надсилання операцій користувача. Операції користувача подібні до звичайних взаємодій у блокчейні, вони визначають операції, які користувач хоче виконати в блокчейні. Але на відміну від транзакцій, User Operations не потрібно підписувати зовнішніми обліковими записами, їх можна безпосередньо перевірити та виконати за допомогою облікових записів смарт-контрактів.
Налаштування, які ми розгорнули, щоб увімкнути можливість оплати за газ поза мережею, зосереджені навколо перевіряючого платника. 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's Bundler як нашого постачальника. Для цілей тестування ми розгорнули наш Verifying Paymaster у тестовій мережі Ethereum Goerli та змогли успішно надіслати операції користувача, використовуючи оплату газу поза мережею.
4. Зменште тертя на блокчейні
Складність блокчейн-транзакцій є значним каменем спотикання для багатьох користувачів, представляючи надзвичайно складну криву навчання та посилюючи тертя серед користувачів. Проте наші експерименти мають на меті забезпечити багатообіцяючий підхід до суттєвого вирішення цих проблем. Використовуючи інноваційну концепцію платіжника в поєднанні з абстракцією облікового запису та стандартом ERC-4337, ми досліджуємо можливість процесу, який може перевизначити транзакції блокчейну.
Абстракція облікового запису дозволяє розробникам розробляти нові процеси, які допомагають зменшити тертя в обміні цінностями всіх видів. Наші експерименти показують, що розробники можуть реалізувати це рішення, використовуючи існуючу платіжну інфраструктуру. Продавці або децентралізовані програми (dApps) можуть запускати власні рішення платіжників, щоб покращити взаємодію з клієнтами, приймаючи картки Visa для оплати газу. Крім того, існуючі постачальники послуг гаманців і платіжників можуть запропонувати оплату газу за допомогою картки Visa як загальний варіант, а також інші варіанти платіжних послуг. Реалізація цього потенційного рішення допомагає закласти основу для більш доступного та дружнього підходу до цифрових транзакцій.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Експериментальне рішення Visa: оплата газу в мережі за допомогою картки Visa
Автор: Мерт Озбай, Мустафа Бедавала та Кетрін Гу, Visa; Переклад: Jinse Finance xiaozou
Технологія блокчейн отримала широке поширення в останні роки, і хоча вона має потенціал для формування майбутніх грошових потоків, транзакції блокчейну також створюють більш високий рівень складності, якого немає в традиційних методах оплати. Транзакції блокчейну використовують децентралізовану мережу, де кілька учасників мережі перевіряють і записують кожну транзакцію. Блокчейн-транзакції передбачають самостійні гаманці, особисті ключі, комісію за газ — усі елементи, які не застосовуються до традиційних методів оплати. Щоб здійснювати транзакції за допомогою блокчейну, такого як Ethereum, споживачі повинні підтримувати баланс певної суми рідного токена блокчейну (наприклад, ETH), щоб платити за користування мережею, відомий як «плата за газ». Що, якби відправити блокчейн-транзакцію за допомогою власного гаманця було так само просто для користувача, як оплатити чашку кави за допомогою кредитної картки? Досвід користувача в блокчейні ще не досяг такої ж простоти використання для гаманців із самоохороною. Наприклад, хоча Ethereum підтримує push-платежі, він не підтримує платежі pull, наприклад автоматичні платежі. Щоб вирішити цю проблему, у нашій минулорічній статті «Автоматичні виплати для гаманців, розміщених на власному хості», ми дослідили та продемонстрували, як використовувати абстракцію облікового запису, щоб налаштувати витягнівальні платежі для гаманців, що розміщені на власному хості.
Visa чудово полегшує операції з різними валютами. Наприклад, користувачі можуть подорожувати в іншу країну, не турбуючись про необхідність заздалегідь підготувати іноземну валюту, оскільки та сама картка Visa дозволяє робити покупки як вдома, так і за кордоном. Однак такої простоти не існує в криптосвіті. Споживачі, які здійснюють транзакції в Ethereum, змушені постійно керувати своїми балансами ETH, щоб оплачувати комісію за газ, що відволікає їх від важливої діяльності в блокчейні. Після порівняння складності блокчейн-транзакцій із простотою платіжних транзакцій, які підтримуються мережею Visa, стає зрозуміло, що блокчейн-транзакції потребують вдосконалення. Залишається питання: як ми можемо допомогти усунути цю прогалину та зробити транзакції блокчейну простішими та зручнішими?
(Малюнок 1: мережа Visa)
Розуміючи цю проблему, ми дослідили варіант спрощення транзакцій у блокчейні, дозволивши користувачам оплачувати газ у ланцюзі безпосередньо у фіатній валюті за допомогою карткової оплати. У цьому випадку користувачам може більше не знадобитися тримати нативний токен певного блокчейну лише для того, щоб сплатити комісію за газ. Це потенційне рішення буде використовувати стандарт ERC-4337 Ethereum і контракти платіжника, щоб дозволити користувачам оплачувати газ безпосередньо за допомогою картки 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. Результатом цих спільних зусиль є пропозиція щодо потоку рішень, яка демонструє, як дозволити користувачам платити за ланцюжковий газ у фіатній формі через файлову систему керування картками. Ця пропозиція рішення використовує стандарт ERC-4337 Ethereum і контракт платіжника, щоб дозволити власникам карток Visa сплачувати комісію за газ безпосередньо. Ми вважаємо, що цей інноваційний та адаптивний підхід може допомогти спростити процес адаптації для нових користувачів криптовалюти та покращити досвід для поточних користувачів.
(Малюнок 4: Спрощена взаємодія користувача з розгортанням Paymaster)
У цій пропозиції рішення ми знову ставимо платника в центр процесу. Paymaster — це спеціальний тип смарт-контрактного облікового запису, який може спонсорувати комісію за газ облікових записів користувачів (його можна розглядати як розумний контракт, орієнтований на користувача). Запропоноване нами рішення звільняє користувачів від необхідності тримати рідні токени блокчейну або постійно перемикати токени лише для оплати газу. З точки зору користувача, рішення є привабливим завдяки його простоті та легкості прийняття, як показано на малюнку 4. Для прикладу знову візьмемо Алекс, у неї є гаманець із самостійним зберіганням. Відповідно до запропонованого нами рішення, Алекс може використовувати свою картку Visa для оплати газу та участі в проекті DeFi, який вимагає від неї карбувати нові токени. Таким чином Visa допомагає впоратися зі складним процесом за лаштунками, дозволяючи Алексу без будь-яких проблем вибрати плату за бензин за допомогою своєї картки Visa. Це рішення забезпечує простоту та кращий досвід для таких користувачів, як Алекс, які шукають більш спрощений і простий у використанні спосіб проведення транзакцій блокчейну.
3. Наш експеримент
Роль Paymaster полягає в тому, щоб вилучити складність механізму плати за газ, надаючи альтернативу тарифу. Наші експерименти роблять це, приймаючи комісію за газ, сплачену користувачами в автономному режимі з їхніх карт Visa, і сплачуючи еквівалентну суму в мережі від імені користувачів. Плата за газ на стороні користувача така ж проста, як звичайна оплата кредитною карткою. Користувачі можуть вибрати використання такого платіжника під час надсилання операцій користувача. Операції користувача подібні до звичайних взаємодій у блокчейні, вони визначають операції, які користувач хоче виконати в блокчейні. Але на відміну від транзакцій, User Operations не потрібно підписувати зовнішніми обліковими записами, їх можна безпосередньо перевірити та виконати за допомогою облікових записів смарт-контрактів.
Налаштування, які ми розгорнули, щоб увімкнути можливість оплати за газ поза мережею, зосереджені навколо перевіряючого платника. 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's Bundler як нашого постачальника. Для цілей тестування ми розгорнули наш Verifying Paymaster у тестовій мережі Ethereum Goerli та змогли успішно надіслати операції користувача, використовуючи оплату газу поза мережею.
4. Зменште тертя на блокчейні
Складність блокчейн-транзакцій є значним каменем спотикання для багатьох користувачів, представляючи надзвичайно складну криву навчання та посилюючи тертя серед користувачів. Проте наші експерименти мають на меті забезпечити багатообіцяючий підхід до суттєвого вирішення цих проблем. Використовуючи інноваційну концепцію платіжника в поєднанні з абстракцією облікового запису та стандартом ERC-4337, ми досліджуємо можливість процесу, який може перевизначити транзакції блокчейну.
Абстракція облікового запису дозволяє розробникам розробляти нові процеси, які допомагають зменшити тертя в обміні цінностями всіх видів. Наші експерименти показують, що розробники можуть реалізувати це рішення, використовуючи існуючу платіжну інфраструктуру. Продавці або децентралізовані програми (dApps) можуть запускати власні рішення платіжників, щоб покращити взаємодію з клієнтами, приймаючи картки Visa для оплати газу. Крім того, існуючі постачальники послуг гаманців і платіжників можуть запропонувати оплату газу за допомогою картки Visa як загальний варіант, а також інші варіанти платіжних послуг. Реалізація цього потенційного рішення допомагає закласти основу для більш доступного та дружнього підходу до цифрових транзакцій.