作者:Mert Ozbay、Mustafa Bedawala 和Catherine Gu

翻譯:火火,白話區塊鏈

近年來,區塊鏈技術得到了廣泛的採用,雖然它有可能塑造貨幣流動的未來,但區塊鏈交易帶來了傳統支付方式中所沒有的高度複雜性。區塊鏈交易利用去中心化網絡,多個參與者驗證並記錄每筆交易。它們涉及自我託管錢包、私鑰、Gas費——所有這些元素不適用於傳統支付方式。要使用像以太坊這樣的區塊鏈進行交易,消費者必須保持區塊鏈原生Token(例如ETH)的餘額,以支付使用網絡的費用,即“gas”。

Visa 比較擅長促進涉及不同貨幣的交易。例如,用戶可以前往另一個國家旅行,而不必擔心提前獲得外幣,因為同一張Visa 卡可以讓您在國內和國外進行購物。然而,這種程度的簡單性和便利性在加密世界中並不存在。在以太坊上進行交易的消費者發現自己需要不斷管理自己的ETH 餘額來支付gas費,這是一個繁重的過程,會分散他們對主要區塊鏈活動的注意力。當將區塊鏈交易的複雜性與Visa 網絡支持的基於法定支付交易的簡單性進行比較時,很明顯需要改進。剩下的問題是:

圖1 - Visa 的網絡

概述Visa實驗性解決方案:如何通過Visa Card支付鏈上Gas費?

 Visa的網絡圖片說明

認識到這一挑戰,我們探索瞭如何允許用戶通過卡支付直接以法定貨幣支付鏈上Gas 費用,從而簡化區塊鏈交易。在這種情況下,用戶可能不再需要僅僅為了支付Gas 費而持有特定於區塊鏈的原生Token。這種潛在的解決方案將利用以太坊的ERC-4337 標準和付款主合同,使用戶能夠使用Visa 卡直接支付gas 費。

我們相信這種創新且靈活的方法可以幫助簡化新的加密貨幣用戶的入口點並增強現有用戶的體驗。在本文中,我們將深入研究區塊鏈交易的現有挑戰,強調對更靈活方法的需求,並逐步完成我們的實驗。

1、問題

加密世界的主要障礙之一是在區塊鏈上支付交易或操作的複雜過程。每個操作,無論是簡單的Token轉移還是與智能合約的更複雜的交互,都會產生稱為“gas”費用的成本。這表示執行該操作所需的計算量。就以太坊而言,這筆Gas費必須以區塊鏈的原生Token ETH 支付。

儘管可以使用USDC 等穩定幣進行交易,但用戶仍然需要保持單獨的ETH 餘額來支付以太坊上的Gas 費用。這通常會導致用戶採用複雜且有時比較昂貴的方法。有些人依靠入口服務將法定貨幣轉換為ETH 等原生Token,而另一些人則在集中式加密貨幣交易平台購買ETH,然後將其轉移到錢包中。然而,這兩種策略都需要額外的步驟,並且缺乏用戶在傳統金融交易中習慣的簡單性和即時性。此外,這些方法使用戶面臨加密貨幣匯率波動的風險,因為即使使用不同的加密貨幣或穩定幣進行支付交易,他們也需要持續購買ETH。

圖2 – 入口流程:獲取自我託管錢包的Token

概述Visa實驗性解決方案:如何通過Visa Card支付鏈上Gas費?

入口匝道過程圖像描述

例如,讓我們考慮一下Alex,她是一位想要參與DeFi 項目的用戶,該項目要求她鑄造新的Token。為此,她決定使用入口服務將法定貨幣轉換為ETH。 Alex 根據當前的Gas 費和鑄幣過程的預期成本,仔細計劃和購買特定數量的ETH。然而,以太坊網絡上的Gas費可能會快速波動。如果Alex 進行鑄幣時費用大幅下降,她將多付Gas 費,最終可能會得到她不打算購買的剩餘ETH。相反,如果Alex 獲得ETH 後Gas 費用意外上漲,她可能沒有足夠的資金來支付增加的費用,從而導致支付不足。圖2說明了用戶通過入口提供商購買加密貨幣時的入口過程。

圖3 – 通過中心化交易平台獲取Token

概述Visa實驗性解決方案:如何通過Visa Card支付鏈上Gas費?

通過中心化交易平台獲取Token 圖片說明

此外,對於像Alex 這樣的用戶來說,獲取ETH 等原生Token通常涉及從中心化交易平台轉移資產。這需要將法定貨幣存入交易平台,購買必要的Token,然後將其轉移到個人錢包中以獲得足夠的ETH 來支付Gas費。然而,這種方法也存在由於ETH 價值和Gas 費用波動而導致多付或少付的風險。

此外,對於技術不太精通並想要參與區塊鏈交易的個人來說,這可能是巨大且具有挑戰性的。對於那些不熟悉加密貨幣交易平台以及購買和橋接Token複雜性的人來說,這個過程會成為進入的障礙。這就好比去不同國家旅行時將現金兌換成不同貨幣的繁瑣且不友好的方法。圖3說明了用戶通過加密貨幣交易平台購買加密貨幣並將其轉移到錢包時的橋接過程。

2、解決方案

以我們之前描述的工作為基礎“通過賬戶抽象重新思考數字交易”²我們的加密協議、Visa 創新中心和Visa 研究團隊舉辦了一次內部黑客馬拉松,我們藉此機會探索了ERC-4337 下的支付大師。這項合作的結果是提出了一個解決方案流程,該流程演示瞭如何使用戶能夠通過存檔的卡以法定貨幣支付其鏈上天然氣費用。該提議的解決方案利用以太坊的ERC-4337 標準和付款主合同,允許Visa 持卡人直接支付其汽油費。我們相信,這種創新且適應性強的方法可以幫助簡化新加密貨幣用戶的入職流程並改善當前用戶的體驗。

圖4 – 簡化的用戶與Paymaster 實施的交互

概述Visa實驗性解決方案:如何通過Visa Card支付鏈上Gas費?

簡化的用戶交互圖像描述

在這個提議的解決方案中,我們再次將出納員置於流程的核心。 Paymaster 是一種特殊類型的智能合約賬戶,可以為用戶合約賬戶提供Gas費(將其視為以用戶為中心的智能合約)。我們提出的解決方案使用戶不再需要持有原生區塊鏈Token或僅僅為了支付Gas費而不斷參與橋接Token。

從用戶的角度來看,該解決方案因其簡單性和易於採用而具有吸引力,如圖4所示。例如,讓我們回到Alex,他擁有一個自我託管錢包。通過我們提出的解決方案,Alex 可以使用她的Visa 卡支付Gas費並參與需要她鑄造新Token的DeFi 項目。通過這樣做,Visa 幫助處理幕後的複雜流程,使Alex 能夠輕鬆選擇她的Visa 卡來支付汽油費。這個提議的解決方案為像Alex 這樣正在尋找更簡化和更易於訪問的方式來參與區塊鏈交易的用戶帶來了簡單性和更好的體驗。

3、我們的實驗

出納員的作用是抽像出Gas 費機制的複雜性,同時提供費用融資的替代方式。我們的實驗性實現是通過接受用戶從Visa 卡的鏈下支付的Gas 費並代表用戶在鏈上支付等值金額來實現這一點。用戶端的gas費體驗就像普通卡支付一樣簡單。用戶在發送用戶操作時可以選擇使用這樣的付款人。用戶操作就像常規的區塊鏈交互,因為它們指定用戶想要在區塊鏈上執行的操作。但與交易不同的是,用戶操作不需要由外部擁有的賬戶簽名,可以直接由智能合約賬戶驗證和執行。

我們實現的用於啟用鏈下Gas支付功能的設置以驗證Paymaster為中心。驗證付款人是一種智能合約,它將所有必要的檢查和信息來源委託給鏈下組件。然後,鏈上付款主智能合約可以使用鏈下組件提供的數據和批准來授權和支付Gas費。

將此信息從鏈下服務可靠地傳輸到付款主合同的方法是通過公鑰加密:鏈下網絡服務使用密鑰來生成數字簽名以與信息一起發送。付款人智能合約又可以使用相應的公鑰來驗證簽名,從而驗證信息的真實性。在我們的實驗中,我們使用了驗證Paymaster智能合約樣本由ERC-4337核心團隊提供。

圖5 – 使用Paymaster 和Visa 卡進行交易的技術工作流程

概述Visa實驗性解決方案:如何通過Visa Card支付鏈上Gas費?

使用Paymaster 和Visa 卡進行交易圖片說明

如圖5所示,在我們的實現中,當用戶打算通過區塊鏈發起操作時,錢包首先生成一個用戶操作請求,其中包含有關他們嘗試執行的操作的信息(即呼叫數據)和最大處理成本操作的(即與Gas費相關的參數)。更具體地說,指定Gas 限制的參數決定了該操作應預算的最大計算量,而Gas 費用則決定了每個計算單元的成本。

錢包不會立即將用戶操作請求發送到區塊鏈,而是首先將用戶操作連同Visa 卡憑證一起發送到Paymaster Web 服務(圖5 中的步驟2)。網絡服務將使用Gas費信息來計算以法定貨幣向用戶收取的適當費用,並且根據提供的卡憑證,發卡機構可以選擇授權卡支付。對於網絡服務的支付接受解決方案,我們使用了Visa 自己的網絡資源。 Cyber​​source 為開發者提供必要的SDK 和API,使商家能夠接受數字支付。

在我們的實驗中,通過Cyber​​source 處理付款後,網絡服務會對用戶操作中的相關數據(包括通話數據)生成數字簽名和Gas 費信息(步驟3)。它還確定該簽名有效的時間範圍。指定時間窗口很重要,因為ETH 和其他原生Token的價值在以太坊和其他EVM 鏈上是動態的。如果不採取預防措施,用戶可以利用付款人兩個部分之間缺乏同步的情況,在ETH 成本較低時以法定貨幣進行鏈下支付,然後在價格較高時使用簽名,並讓付款人合約承擔成本差額。網絡服務將數字簽名發送回錢包。除此之外,錢包對用戶操作的相關參數進行的任何更改都將導致與數字簽名不匹配,並且驗證Paymaster智能合約將檢測到差異。

錢包從網絡服務接收數字簽名和時間窗口,並附加此信息以及付款主合同的鏈上地址,作為用戶操作的付款主參數。現在,當用戶操作的所有部分都完成後,錢包將能夠簽名並將其發送到區塊鏈(步驟4)。在區塊鏈上,作為ERC-4337 標准定義的用戶操作處理流程的一部分,付款主合約將接收用戶操作數據,其中應包括來自付款主Web 服務的數字簽名。如果提供的數據有任何問題(簽名不正確、時間窗口無效等),付款主合同旨在引發錯誤,並且不會支付Gas費用。如果驗證簽名正確,這意味著網絡服務收到了卡付款以啟用此用戶操作的處理成本。付款主合同不會引發任何錯誤,並將處理成本,並且將執行用戶操作(步驟5)。

圖6 – 代碼片段– 驗證Paymaster 數字簽名驗證

概述Visa實驗性解決方案:如何通過Visa Card支付鏈上Gas費?

代碼片段圖像描述

在構建我們的實驗時,我們使用了Stackup 的userop.js 庫使用我們的錢包構建、簽名和發送用戶操作。為了將這些用戶操作發佈到區塊鏈,以及估計汽油費等補充功能,我們使用Stackup 的捆綁器作為我們的提供商。出於測試目的,我們部署了驗證出納員通過以太坊Goerli 測試網並成功發送用戶操作通過鏈下Gas 費用支付。

4、減少區塊鏈上的摩擦

基於區塊鏈的交易的錯綜複雜性一直是許多用戶的重大障礙,造成了具有挑戰性的學習曲線並增加了用戶摩擦。然而,我們的實驗旨在提供一種有前途的方法來實質性解決這些挑戰。通過利用付款人的創新概念,結合賬戶抽象和ERC-4337 標準,我們探索了重新定義基於區塊鏈的交易的流程的潛力。

帳戶抽象允許開發人員設計新的流程,有助於減少各種資產交換的摩擦。我們的實驗表明,開發人員可以利用現有的支付基礎設施實施該解決方案。商家或去中心化應用程序(dApp) 可以運行自己的Paymaster 解決方案,通過使用Visa 卡接受Gas費支付來幫助改善客戶體驗。或者,現有的錢包和付款大師服務提供商可以提供基於卡的Gas費支付選擇,以供一般使用以及其他付款大師產品。

這種潛在解決方案的實現有助於為更易於訪問和用戶友好的數字交易方法奠定基礎。