Visa: переосмислення крипто-транзакцій із абстракції облікового запису

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

Сценарій: Мустафа Бедавала, Мерт Озбай і Кетрін Гу

Компіляція: GWEI Research

Незважаючи на постійний прогрес, блокчейн наразі намагається забезпечити такий самий рівень гнучкості та взаємодії з користувачем, як і звичайні екосистеми цифрових платежів. Однак новітні технології можуть покращити процес оплати під час транзакцій із цифровими валютами. У розділі «Автоматичні платежі для гаманців, розміщених на власному хості» ми заглиблюємось у застосування передових технологій для автоматизованих платежів, використовуючи концепцію абстракції облікового запису (AA) у загальнодоступних блокчейнах. ¹Наше дослідження АА та вдосконаленого досвіду крипто-платежів продовжується з огляду на те, як поточна парадигма АА в Ethereum пропонує креативні рішення для обробки комісій за транзакції: користувачі можуть використовувати стейблкойни, інші токени ERC-20 для оплати комісій за транзакції Ethereum або не використовувати не платити взагалі? Знахідка інноваційних рішень для безпроблемного впровадження та торгівлі криптовалютами має вирішальне значення, поки цифрові валюти не отримають широке поширення.

Технічний огляд ERC-4337, поточного стандарту для впровадження АА в Ethereum, має на меті краще зрозуміти ERC-4337. Ми обговорюємо експериментальне розгортання Visa двох наборів контрактів Paymaster, щоб продемонструвати, як можна змінити комісію за газ у блокчейні, щоб покращити зручність для користувачів.

Абстракція облікового запису та ERC-4337

Щоб краще зрозуміти цінність абстракції облікових записів, давайте коротко розглянемо два типи облікових записів, які зараз існують в Ethereum: зовнішні облікові записи (EOA) і контрактні облікові записи (CA), які зазвичай називають обліковими записами користувачів і смарт-контрактами відповідно. EOA, керована закритим ключем, дозволяє користувачам відправляти транзакції. Однак їм бракує програмованості смарт-контрактів, що робить їх ще більш негнучкими. Навпаки, ЦС мають виконуваний код, але не можуть самостійно ініціювати транзакції. Транзакції завжди мають відбуватися з облікового запису користувача та містити підпис користувача, незалежно від того, чи це проста передача токенів, чи складна операція, що виконується за допомогою багатьох смарт-контрактів.

Концепція абстракції облікового запису (AA) спрямована на використання можливостей програмування CA на користь кінцевих користувачів. Під час написання розумного контракту звичайною практикою є визначення власника для контролю поведінки контракту. Власні гаманці, створені як розумні контракти, можуть надати користувачам більше функціональних можливостей, ніж гаманці на основі EOA. Це досягається завдяки впровадженню нового стандарту Ethereum під назвою ERC-4337, запропонованого членами спільноти Ethereum, включаючи засновника Ethereum Віталіка Бутеріна. ² ERC-4337 дозволяє власнику безпосередньо володіти обліковим записом смарт-контракту без підпису EOA. Хоча власник може не підписувати EOA у традиційному розумінні, його право власності на смарт-контракт все одно вимагає безпечного процесу автентифікації, щоб переконатися, що він належним чином контролює обліковий запис смарт-контракту та керує ним. У свою чергу, цей смарт-контрактний обліковий запис може виконувати такі завдання, як багатофакторна автентифікація, регулярні платежі та спеціальні правила та політики, визначені кінцевими користувачами.

ERC-4337 — це остання розробка АА, спочатку запропонована в 2021 році як Пропозиція щодо вдосконалення Ethereum (EIP)-4337. Він пройшов процес Ethereum Request for Comments (ERC), який встановлює стандарти для додатків у мережі Ethereum. Різниця між EIP та ERC полягає в їхньому обсязі та вимогах до прийняття. ERC визначає, як смарт-контракти повинні працювати та взаємодіяти один з одним на рівні програми. Вони не вимагають прийняття всіма учасниками, як базові EIP (пропозиції щодо вдосконалення Ethereum), які розгортаються на рівні протоколу та вимагають ширшого консенсусу в спільноті. Перехід від EIP-4337 до ERC-4337 означає, що пропозиція відповідає стандартам, необхідним для програм Ethereum, і тепер офіційно є частиною екосистеми Ethereum. Станом на березень 2023 року основні компоненти ERC-4337 були розгорнуті в основній мережі Ethereum. На відміну від попередніх EIP для абстрагування облікових записів, ERC-4337 не потребує модифікації консенсусного рівня протоколу блокчейну, щоб увімкнути абстракцію облікових записів у мережі Ethereum. ² Ця розробка дозволяє учасникам блокчейн-мережі негайно досліджувати та експериментувати з новими користувачами, не чекаючи серйозних оновлень мережі. Варто зазначити, що однією з переваг ERC-4337 є те, що він сумісний з будь-яким блокчейном, що використовує віртуальну машину Ethereum, забезпечуючи АА стандартом, що перевищує сам Ethereum.

Перегляд транзакцій ERC-4337

У типовій транзакції EOA користувачі взаємодіють зі своїми гаманцями, які розміщені на власному хості, щоб створювати, підписувати та надсилати транзакції до публічного mempool. Корисне навантаження транзакції, створене та підписане закритим ключем користувача, потім поширюється через вузли до однорангового (P2P) mempool. Валідатори або спеціалізовані організації (так звані конструктори) вибирають відповідні та прибуткові транзакції з публічного mempool для виконання та включення їх у блокчейн.

Малюнок 1. Типовий процес транзакцій Ethereum

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

Ми крок за кроком представляємо наскрізний процес транзакції ERC-4337, від створення UserOperation до виконання. Перш ніж занурюватися, необхідно визначити поняття касира, який відіграє важливу роль у цьому процесі та лежить в основі нашого власного дослідження. Paymaster — це додатковий смарт-контрактний обліковий запис, який може спонсорувати комісію за транзакції для контрактних рахунків (розумні контракти, орієнтовані на користувача). Paymasters оцінює, чи приймається UserOperation на етапі перевірки, і реалізує будь-яку необхідну логіку комісії на етапі виконання. Роблячи це, вони можуть спонсорувати комісію за транзакції для користувачів і дозволяти користувачам оплачувати газ за допомогою токенів ERC-20, таких як стейблкойни в доларах США.

Малюнок 2: Процес транзакції ERC-4337

  1. Користувач генерує UserOperations через гаманець смарт-контракту, який відповідає стандарту ERC-4337. UserOperations інкапсулюють намір користувача взаємодіяти з блокчейном, який користувач підписує для автентифікації. Після створення UserOperations закріплюються в спеціальному UserOperation Mempool, сховищі, призначеному для UserOperations, окремому від стандартного mempool транзакцій Ethereum.

  2. Bundlers — це спеціалізований клас акторів, які контролюють UserOperation Mempool, запускають симуляції та збирають серію UserOperations в єдиний пакет транзакцій. Пакетувальники відповідають за збір UserOperations і подання їх до контракту EntryPoint, оптимізуючи використання газу та максимізуючи прибуток, використовуючи логіку «спершу плата».

  3. Контракт EntryPoint отримує пакет UserOperations. Він діє як центральний координатор для керування UserOperations у потоці транзакцій ERC-4337.

  4. Якщо вказано UserOperation, контракт EntryPoint взаємодіятиме з контрактом Paymaster. Як згадувалося раніше, Paymasters може спонсорувати комісію за транзакції контрактного рахунку. EntryPoint перевіряє, чи є у платника достатні депозити, чи на рахунку договору достатньо коштів для оплати газу. Під час виконання, якщо Paymaster бере участь, він може реалізувати спеціальну логіку комісії, яку ми продемонструємо в наступному розділі.

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

Абстракція облікового запису та практичне застосування

У міру того як технологія блокчейн продовжує досліджувати реальні додатки, гаманці з самостійним зберіганням стають популярним варіантом для зберігання та транзакцій у цифрових валютах користувачів. З моменту появи Ethereum було здійснено транзакції приблизно за 180 мільйонами унікальних адрес, включаючи облікові записи всіх типів і кілька облікових записів, що належать одній особі чи групі осіб. ³Однак щомісяця ми бачимо лише мільйони взаємодій у ланцюжку, ініційованих реальними людьми, із щоденною активністю в ланцюзі в основній мережі Ethereum близько 1 мільйона транзакцій на день. ⁴ Для порівняння, Visa обробила 258 мільярдів транзакцій у 2022 році, в середньому 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 надає рішення, яке дозволяє користувачам обійти ці комісії, якщо третя сторона (наприклад, постачальник фінтех-гаманців) бажає їх покрити. У цьому випадку постачальник гаманця або dApp може діяти як касир, сплачуючи плату за газ за користувача та значно зменшуючи тертя. Концепція 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 та основною командою ERC-4337. ⁷ Щоб надсилати дії наших користувачів у Goerli Testnet, ми використали загальнодоступний Bundler Blocknative. ⁸ Для успішної UserOperation контракт Visa Paymaster спочатку повинен перевірити, чи достатньо у користувача коштів у ERC-20 для оплати плати за газ. Після підтвердження користувачі сплачують комісію за транзакцію за допомогою цього загального токена ERC-20. Ви можете знайти наш розгорнутий контракт, ⁹ і UserOperation, які обробляються тут.

Спонсорські комісії за транзакції для користувачів, які використовують ERC-4337 Paymaster

Рисунок 6. Paymaster спонсорує комісії за транзакції для користувачів (фрагмент коду)

Відповідно до другого випадку використання, який ми згадали, наш інший контракт Visa Paymaster повністю фінансує комісію за транзакції. Знову ж таки, наша реалізація базується на початковому коді¹¹, наданому Ethereum Foundation і основною командою ERC-4337. Origination Code безкоштовно спонсорує кожну транзакцію. Ми додали білий список, щоб дозволити лише авторизованим користувачам взаємодіяти з контрактом Visa Paymaster. Ви можете знайти наш розгорнутий договір тут. ¹² Наша тестова реалізація змогла успішно фінансувати комісію за транзакції користувачів із білого списку. Ви можете побачити успішну UserOperation тут. ¹³

Випадок використання Paymaster виходить далеко за рамки того, що ми виділили в цій статті. Якщо абстрагуватися від основної логіки обробки блокчейну, можна отримати багато інноваційних користувальницьких функцій. Для розробки ERC-4337, яка зараз триває, ми бачимо кілька можливих підходів, які могли б спиратися на наші експерименти, описані вище. Наприклад, замість того, щоб вимагати спеціального нового токена ERC-20, вбудованого в смарт-контракт Paymaster, було б простіше інтегрувати Paymaster з існуючим токеном ERC-20, таким як USDC. Цей підхід вимагає використання зовнішнього джерела для визначення ціни токена та перевірки того, що контракт Paymaster схвалив стягнення плати з користувача за вказаний токен. Одним із підходів є розгортання служби оракула поза мережею, яка може надавати необхідну інформацію, таку як ціни на токени та підписи, які може перевірити контракт Paymaster.

Крім того, весь процес можна обробити в мережі за допомогою контракту оракула для необхідних даних. Хоча цей підхід забезпечує кращу впевненість у тому, що касири отримують належну компенсацію, його також складніше реалізувати. Деякі обмеження ERC-4337 ускладнюють запити Paymasters у оракули в ланцюжку під час перевірки Paymaster, і Bundlerи часто відхиляють UserOperations, які повинні це зробити. Щоб увімкнути цей процес, необхідно створити альтернативний пул зі списком довірених платіжників, до якого може підключитися Bundler. Ці надійні розпорядники платежів можуть викликати контракти оракула, а UserOperations, які використовують ці розпорядники платежів, будуть взяті з пулу резервної пам’яті.

Погляд у майбутнє

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

Спільнота Ethereum знаходиться на початку цієї нової подорожі, коли мова йде про ERC-4337. Існує багато планів щодо створення інфраструктури, на якій можна створювати потоки, керовані АА, деякі з яких ми використовували в нашому тестуванні та згадували в цій статті, але все ще є значний простір для розвитку. Як і в будь-якому відкритому полі, існують конкуруючі підходи та компроміси, такі як варіанти децентралізації, які пропонують публічні Bundlers, проти настроюваності приватних Bundlers; надійна безпека Paymaster повністю в ланцюжку проти розгортання деяких компонентів порівняно з економічною ефективністю; і безліч альтернативних схем підпису, які можуть використовувати гаманці, серед іншого. Ці різні варіанти дизайну можуть призвести до багатого набору опцій, щоб краще надати користувачам майбутні цифрові платежі.

Платіжні інновації для всіх і всюди

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

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

Зв’яжіться з Visa Crypto за адресою [email protected], щоб дізнатися більше про наші дослідницькі інтереси та діяльність у криптоекосистемі.

*Цей документ лише для ілюстрації. Він містить опис продукту, що розробляється, і його слід розуміти як представлення потенційних можливостей повністю розгорнутого продукту. Остаточна версія цього продукту може не містити всіх функцій, описаних у цій презентації. У своїй статті ми наполягаємо на чіткому розмежуванні концептуальних термінів «точка входу», «платник» і «операція користувача», а також їхні відповідні сутності в ланцюзі «Точка входу», «операція користувача» та «платник». Цей підхід відповідає умовам, викладеним у оригінальній пропозиції ERC-4337. *

*Дякуємо Кую Шеффілду, Ендрю Бімсу, Махді Замані, Мохсену Мінаеї, Аарону Салоту та співзасновнику Stackup Джону Райзингу за огляд. *

Переглянути оригінал
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
Немає коментарів