盡管不斷取得進步,但區塊鏈目前難以提供與主流數字支付生態系統相同水平的靈活性和用戶體驗。然而,新興技術可以增強使用數字貨幣進行交易時的支付體驗。在“自托管錢包的自動支付”中,我們通過利用公共區塊鏈上的账戶抽象 (AA) 概念,深入研究了尖端技術在自動支付方面的應用。¹我們對 AA 和改進的加密支付體驗的探索繼續看看當前以太坊上的 AA 範式如何提供創造性的解決方案來處理交易費用:用戶可以使用穩定幣、其他 ERC-20 代幣支付以太坊交易費用,還是根本不支付?在數字貨幣獲得主流採用之前,尋找創新解決方案以實現無摩擦的加密入職和交易體驗至關重要。
ERC-4337 的技術概述是以太坊上 AA 實施的當前標准,旨在更好地了解 ERC-4337。我們討論了 Visa 對兩組 Paymaster 合約的實驗性部署,以展示如何重新設計區塊鏈上的Gas費以提高用戶便利性。
账戶抽象和 ERC-4337
爲了更好地理解账戶抽象的價值主張,讓我們簡要回顧一下以太坊上目前存在的兩種類型的账戶:外部擁有账戶(EOAs)和合約账戶(CAs),通常分別稱爲用戶账戶和智能合約。由私鑰控制的 EOA 允許用戶發送交易。然而,它們缺乏智能合約的可編程性,使它們更加僵化。相反,CA 擁有可執行代碼,但無法獨立發起交易。交易必須始終來自用戶的账戶並包含用戶的籤名,無論是簡單的代幣轉移還是通過許多智能合約執行的復雜操作。
帳戶抽象 (AA) 的概念旨在利用 CA 的可編程性來造福最終用戶。在編寫智能合約時,通常的做法是定義一個擁有者來控制合約的行爲。作爲智能合約構建的自托管錢包可以爲用戶提供比基於 EOA 的錢包更多的功能。這是通過引入稱爲 ERC-4337 的新以太坊標准來實現的,該標准由以太坊社區成員(包括以太坊創始人 Vitalik Buterin)提出。² ERC-4337 使所有者可以直接擁有智能合約账戶,而無需EOA 籤名。雖然所有者可能不會使用傳統意義上的 EOA 籤名,但他們對智能合約的所有權仍然需要一個安全的身份驗證過程,以確保他們正確地控制和管理智能合約账戶。反過來,這個智能合約帳戶可以處理諸如多因素身份驗證、定期付款以及最終用戶定義的自定義規則和策略等任務。
ERC-4337 是 AA 的最新進展,最初於 2021 年作爲以太坊改進提案 (EIP)-4337 提出。它經歷了以太坊徵求意見 (ERC) 流程,該流程爲以太坊網絡上的應用程序建立了標准。 EIP 和 ERC 之間的區別在於它們的範圍和採用要求。 ERC 定義智能合約應如何在應用程序級別運行和相互交互。它們不需要像核心 EIP(以太坊改進提案)這樣的所有參與者都採用,這些 EIP 在協議級別部署並且需要在社區內達成更廣泛的共識。從 EIP-4337 到 ERC-4337 的過渡標志着該提案已經滿足以太坊應用所需的標准,現已正式成爲以太坊生態系統的一部分。截至2023年3月,ERC-4337的核心組件已經部署在以太坊主網上。與之前的账戶抽象 EIP 不同,ERC-4337 無需對區塊鏈協議的共識層進行修改即可在以太坊網絡上啓用账戶抽象。² 這種开發允許區塊鏈網絡參與者立即探索和試驗新的用戶體驗,而無需等待重大網絡升級。值得注意的是,ERC-4337 的優勢之一是它與任何使用以太坊虛擬機的區塊鏈兼容,爲 AA 提供了一個超越以太坊本身的標准。
遍歷 ERC-4337 交易
在典型的 EOA 交易中,用戶與他們的自托管錢包交互以創建、籤署交易並將交易提交到公共內存池。生成並使用用戶私鑰籤名的交易有效負載隨後通過節點傳播到點對點 (P2P) 內存池。驗證者或專門實體(稱爲構建者)從公共內存池中選擇合適且有利可圖的交易來執行並將其合並到區塊鏈中。
圖 1:典型的以太坊交易流程
ERC-4337 引入了一種不同於傳統 EOA 方法的替代交易流程,它在交易到達代理 EOA 地址之前添加了新步驟。用戶將他們的意圖作爲 UserOperations 發送,然後通過專用的 UserOperations 內存池傳播。這個獨特的內存池由捆綁器監控,捆綁器充當代理 EOA,以網絡可以處理的典型 EOA 交易的形式將 UserOperations 發送到公共內存池。然後,這些交易遵循與常規交易相同的流程,要么加入公共內存池,要么直接進入建設者。
我們逐步介紹了 ERC-4337 交易的端到端流程,從 UserOperation 生成到執行。在深入研究之前,必須定義出納員的概念,它在這個過程中起着至關重要的作用,並且是我們自己探索的核心。 Paymaster 是一個可選的智能合約账戶,能夠贊助合約账戶(以用戶爲中心的智能合約)的交易費用。 Paymasters 評估是否在驗證階段接受 UserOperation,並在執行階段實施任何所需的費用邏輯。通過這樣做,他們可以爲用戶贊助交易費用,並使用戶能夠使用 ERC-20 代幣(如美元穩定幣)支付燃料費。
圖 2:ERC-4337 交易流程
1.用戶通過符合 ERC-4337 標准的智能合約錢包生成 UserOperations。 UserOperations 封裝了用戶與區塊鏈交互的意圖,用戶對其進行籤名以進行身份驗證。一旦生成,UserOperation 將被提交到專用的 UserOperation Mempool,這是一個專門用於 UserOperations 的存儲,與標准的 Ethereum 交易 mempool 分开。
2.Bundlers 是一類專門的參與者,它監控 UserOperation Mempool,運行模擬並將一系列 UserOperations 組裝成一個單一的交易包。 Bundlers 負責收集 UserOperations 並將它們提交給 EntryPoint 合約,優化 gas 使用並通過利用費用優先邏輯來最大化利潤。
3.EntryPoint 合約接收捆綁的一批 UserOperations。它充當中央協調員,用於管理 ERC-4337 交易流程中的 UserOperations。
4.如果 UserOperation 指定,EntryPoint 合約將與 Paymaster 合約交互。如前所述,Paymasters 可以贊助合約账戶的交易費用。 EntryPoint 驗證付款人是否有足夠的存款,或者合約账戶是否有足夠的資金來支付汽油費。在執行過程中,如果涉及到 Paymaster,它可以實現自定義費用邏輯,我們將在下一節中進行演示。
5.然後 EntryPoint 合約調用合約账戶,必要時調用出納員,以驗證 UserOperation 中的籤名。合約账戶是與 EntryPoint 合約無縫交互以促進交易執行的用戶账戶。驗證成功後,EntryPoint 將每個 UserOperation 的相關數據傳輸到 Contract Account,啓動執行過程。
帳戶抽象和實際應用
隨着區塊鏈技術不斷探索現實世界的應用,自托管錢包正成爲用戶持有和使用其數字貨幣進行交易的熱門選擇。自以太坊成立以來,已經有大約 1.8 億個唯一地址進行了交易,包括所有類型的账戶和屬於同一個人或一組個人的多個账戶。³但是,每月,我們只看到發起了數百萬次鏈上交互由真人進行,以太坊主網每天的鏈上活動約爲每天 100 萬筆交易。⁴ 相比之下,Visa 在 2022 年處理了 2580 億筆交易,平均每天處理 7.07 億筆交易,目前有 41 億張 Visa 關聯卡在流通全球範圍內。⁵ 如果區塊鏈支持同等廣度的支付體驗並具有相同的易用性,它們能否享有可比的採用水平?朝這個方向可能採取的步驟包括爲用戶提取汽油費或允許他們用 ERC-20 代幣支付交易費。
使用 ERC-4337 Paymaster 使用 ERC-20 代幣支付
圖 3:Paymaster 促進使用 ERC-20 代幣支付交易費用
今天要在以太坊區塊鏈上進行交易,用戶需要獲取 ETH 來支付 gas 費用;同樣,要在 Polygon 區塊鏈上進行交易,用戶需要獲取原生代幣 MATIC。是否有一種解決方案可以消除僅出於支付 gas 的目的而積累不同範圍的本地區塊鏈代幣的需要?這種情況類似於 Visa 的跨境支付核心網絡的價值,旅行者可以在其中以當地貨幣消費,而無需先獲取當地貨幣。在這個版本的 Paymaster 合約中,合約可以充當中介貨幣轉換服務。該服務可以從用戶那裏收取數字貨幣,然後根據當前匯率將其轉換爲原生代幣,以代表用戶支付汽油費。此外,這可以通過即時融資來完成,這意味着用戶只需要在交易時爲天然氣成本提供資金,而無需任何預先融資要求,以優化他們的現金流管理。
使用 ERC-4337 Paymaster 爲用戶贊助交易費用
圖 4:Paymaster 爲用戶贊助交易費用
當今 Web 2.0 中的 P2P 交易在許多國家對消費者都是免費的,這就提出了一個直接的問題:爲什么消費者要爲區塊鏈上的 P2P 交易付費? Account Abstraction 提供了一種解決方案,如果第三方(例如金融科技錢包提供商)愿意承擔這些費用,則允許用戶繞過這些費用。在這種情況下,錢包提供商或 dApp 可以充當出納員,爲用戶支付汽油費並顯着減少摩擦。 ERC-4337 Paymaster 概念可以通過讓用戶免費通過他們的錢包平台進行交易來激勵用戶採用。
除此之外,智能合約账戶可以簡化錢包管理並提供籤名驗證的替代方法,從而實現多因素身份驗證,以提高自我保管錢包的安全性和資金回收。此外,它們通過允許具有可自定義限制的特定任務的臨時權限來簡化 dApps 的使用,例如授權 dApps 處理來自用戶帳戶的重復拉取付款,最高可達一定金額。這些示例只是說明智能合約如何幫助非加密本機用戶更輕松地與區塊鏈技術交互,同時確保其帳戶安全。
我們對 ERC-4337 Paymaster 實施的實驗
使用 ERC-4337 Paymaster 使用 ERC-20 代幣支付
圖 5:Paymaster 促進使用 ERC-20 代幣支付交易費用(代碼片段)
通過我們的第一個 Visa Paymaster 合約,我們正在探索用戶是否可以使用替代代幣支付交易費用,例如美元穩定幣,甚至在未來甚至是中央銀行數字貨幣。在這種情況下,Paymaster 通過接收用戶支付的等值通用 ERC-20 代幣來支付 ETH 交易費用。對於實施,我們使用了以太坊基金會和 ERC-4337 核心團隊提供的起始代碼 ⁶。此示例合約包含 Paymaster 及其自定義 ERC-20 令牌的管理邏輯。對於這個合約,我們引入了一個白名單和一個更新代幣到 ETH 轉換率的函數。這使我們能夠更好地模擬 ETH 和代幣之間的匯率是動態的現實生活條件。我們的測試設置涉及部署智能合約錢包和發送用戶操作。目前,兼容 ERC-4337 的錢包選項有限,我們決定使用以太坊基金會和 ERC-4337 核心團隊打造的 Trampoline 錢包。⁷ 爲了將我們的用戶操作發送到 Goerli Testnet,我們使用了 Blocknative 的公共 Bundler。⁸ 對於一個成功的 UserOperation,Visa Paymaster 合約首先需要檢查用戶在 ERC-20 中是否有足夠的資金來支付汽油費。確認後,用戶使用此通用 ERC-20 令牌支付交易費用。您可以在此處找到我們已部署的合約,⁹ 以及已處理的 UserOperation。
使用 ERC-4337 Paymaster 爲用戶贊助交易費用
圖 6:Paymaster 爲用戶贊助交易費用(代碼片段)
根據我們提到的第二個用例,我們的另一個 Visa Paymaster 合約完全贊助交易費用。同樣,我們的實施基於以太坊基金會和 ERC-4337 核心團隊提供的起始代碼¹¹。起始代碼無償贊助每筆交易。我們添加了一個白名單,只允許授權用戶與 Visa Paymaster 合約進行交互。您可以在此處找到我們已部署的合同。 ¹² 我們的測試實施能夠成功贊助白名單用戶的用戶操作交易費用。您可以在此處查看成功的 UserOperation。¹³
Paymaster 用例遠遠超出了我們在本文中強調的範圍。通過抽象出基本的區塊鏈處理邏輯,可以有許多創新的用戶體驗。對於目前正在進行的 ERC-4337 开發,我們看到了幾種可能的方法,可以在我們上述實驗的基礎上進行構建。例如,與其要求在 Paymaster 智能合約中內置自定義的新 ERC-20 代幣,不如輕松地將 Paymaster 與現有的 ERC-20 代幣(例如 USDC)集成。這種方法需要使用外部來源來確定代幣價格,並檢查 Paymaster 合約是否已批准向用戶收取指定代幣的費用。一種方法是部署一個鏈下預言機服務,該服務可以提供代幣價格等必要信息,以及 Paymaster 合約可以驗證的籤名。
或者,整個流程可以在必要數據的預言機合約的幫助下在鏈上處理。雖然這種方法可以更好地保證出納員得到適當的補償,但實施起來也更具挑战性。一些 ERC-4337 限制使得 Paymaster 很難在 Paymaster 驗證期間查詢鏈上預言機,並且 Bundlers 通常會拒絕需要這樣做的 UserOperations。爲了啓用此流程,有必要使用受信任的 Paymaster 列表建立替代內存池,Bundler 可以選擇加入。這些受信任的 Paymaster 可以調用 oracle 合約,而使用這些 Paymaster 的 UserOperations 將從備用內存池。
展望未來
使用數字錢包與區塊鏈交互可能是一種具有挑战性的體驗,許多人認爲確保易用性是推動更廣泛採用的關鍵步驟。 ERC-4337 爲通過自我托管的智能合約錢包改善鏈上用戶支付體驗奠定了有趣的未來可能性,這反過來又可以改變用戶使用數字貨幣和數字資產的方式。
當談到 ERC-4337 時,以太坊社區正處於這一新旅程的开始。有許多計劃提供可以構建 AA 驅動流的基礎設施,其中一些我們在測試中使用並在本文中提到,但仍有相當大的增長空間。與任何开放領域一樣,存在相互競爭的方法和權衡,例如公共 Bundler 提供的去中心化選項與私有 Bundler 的可定制性;完全在鏈上的 Paymaster 的無需信任的安全性與在鏈下部署某些組件的成本效益相比;以及錢包可能使用的衆多替代籤名方案,等等。這些不同的設計選擇可以產生一組豐富的選項,從而更好地爲用戶提供未來的數字支付體驗。
無處不在的每個人的支付創新
作爲支付解決方案的全球領導者,Visa 始終致力於探索滿足現實世界需求的創新。我們將繼續研究智能合約的潛力以及可編程貨幣和可編程支付可能帶來的未來。在本文中,我們深入研究了由 ERC-4337 執行的以太坊上的 AA 如何支持區塊鏈上有趣的新用例。我們提供了 ERC-4337 交易的端到端演練,並解釋了它與標准以太坊交易的區別,以突出底層機制。
我們對 ERC-4337 的實驗通過部署 Paymaster 合約來學習和評估它們在解決現實世界問題和通過鏈上交互顯着增強客戶體驗方面的潛在效用,從而側重於兩個不同的用例。對於在這一前沿工作的公司,我們的產品、研究和工程團隊將很樂意討論可編程支付方面的想法。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。