帳戶抽象:從混亂到清晰 更好用戶體驗的實用指南

作者:Victor-Cristian Florea,Outlier Ventures;翻譯:0xjs@比特鏈視界

引言

儘管區塊鏈技術已經存在了一段時間,並且市場在過去十年中急劇增長,但解決當前高摩擦的入門流程是將原生加密交易轉變為主流理念的市場擴張的關鍵。幸運的是,帳戶抽象等新範式可以通過簡化臨時用戶的區塊鏈技術的入門和使用流程來鼓勵加密貨幣的大規模採用。

ERC-4337帳戶抽象實現針對EVM開發人員,允許創建非託管錢包作為智能合約,解鎖錢包輕鬆恢復、無籤名交易和團隊錢包等功能。該標準的關鍵創新在於能夠獨立創建智能帳戶,無需單獨的外部擁有帳戶(EOA)或合約帳戶即可進行交易。智能帳戶使用UserOperations,它代表用戶執行的操作。這些用戶操作通過單個入口點進行捆綁、驗證和執行,從而允許在管理帳戶和資金方面進行各種自定義。

Safe、NEAR Wallet、Argent和Blocto等創新者已經在利用這種新的智能合約功能,ERC-4337是標準化的一個終點,但仍有工作要做。該領域的主要參與者設計了適合特定需求和不同區塊鏈生態系統的帳戶抽象變體,從而提供了大量可供選擇的 SDK 和庫。

帳戶抽象用例

在進入技術方面之前,讓我們先概述一下最有趣的用例,在這些用例中,帳戶抽象帶來了顯著的改進,所有這些都有助於改善 web3 的入門體驗,尤其是對於非本地用戶。

1. 錢包恢復

加密行業最大的難題之一是安全性,用戶要麼必須依賴託管人,要麼必須保護自己的密鑰。在智能帳戶領域,安全性與傳統模型不同,避免了對助記詞或私鑰的依賴。智能帳戶所有者可以指定多個實體(設備、個人或第三方服務)作為錢包監護人。

這一創新功能為面臨憑證丟失的用戶確保了強大的安全網,監護人能夠籤署交易以分配新的訪問憑證。重要的是,此恢復過程優先考慮用戶對資產的控制和所有權,在安全性和可訪問性之間取得微妙的平衡。這個複雜的框架預示著數字資產管理的新時代,彈性和用戶控制力大大增強。

2. 批量交易

在去中心化交易所中,代幣交換通常涉及兩個單獨的交易,每個交易都需要用戶通過私鑰籤名進行批准,而複雜的 Web3 交易可能需要三個或更多批准。智能帳戶引入了一種突破性的解決方案,允許用戶批量處理多個交易,降低用戶的成本,並以我們在 web2 應用程式中期望的方式簡化 DeFi 交易。此特定用例的一個很好的例子是Ambire Wallet,它利用 AA 為其用戶啟用批處理交易。儘管與使用外部擁有帳戶 (EOA) 相比,執行一項操作的成本較高,但當進行多筆交易時,每筆交易的價格會大幅降低。

3. 贊助用戶交易

帳戶抽象還引入了 Paymasters 的概念,這是專門為贊助交易的 Gas 費用而設計的智能合約。這為 dApp 帶來了新的定製水平,它們現在可以接受用戶錢包中的任何代幣作為交易費、可以使用銀行卡進行法幣支付,甚至補貼全部金額,從而為用戶創造無縫體驗,改善用戶體驗和消除不必要的摩擦點。一個很好的例子是來自 Arcana Network 的SendIt,這是一個小型協議,允許通過電子郵件向任何人發送加密貨幣,即使他們沒有錢包,並利用 ERC4337 來贊助交易費用並為他們創建一個新的智能合約帳戶。這個特定用例的另一個重要用途是 Visa 的提議,即允許用戶使用法幣卡支付鏈上 Gas 費,如下圖所示。

sOQKAkekwp3WWbhF9xbN5QwZ0xPoT6cTQg5g10lw.png 通過帳戶抽象重新思考數字交易

f3RYIbySK3TyGmqcgvgkSA03T0g2GUiaUbvuH53Q.png

通過帳戶抽象重新思考數字交易

4. 自動化交易

與 EOA 不同,dApp 上的每筆交易都需要手動啟動或籤名,智能帳戶引入了自動化的可能性。通過智能帳戶,用戶可以設置各種參數,包括對特定代幣的訪問、支出限制、持續時間、Gas限制以及特定操作的預定義觸發器。舉例來說,用戶希望允許 DEX 在接下來的一小時內每 15 分鐘代表其執行一次交換:籤名一次,交易將在之後自動發生。這種執行可以在 CowSwap 上看到,CowSwap 是一個提供TWAP交易的去中心化交易所,將所需的用戶操作分散到在一段時間內執行的部分。智能帳戶自動化的潛力幾乎是無限的,為用戶提供超出傳統 EOA 限制的定製和效率水平。

技術組件

利用該技術的方法有多種,可以通過啟動你自己的內部組件(圖1),也可以使用 SDK 或庫並利用該領域其他參與者維護的現有基礎設施。我們列出了各種入門選項,我們將進一步探索使用特定解決方案的用例和優勢。

無論你在利用帳戶抽象時選擇哪種實現方法,了解其關鍵要素都很重要。 UserOperations 是類似交易的對象,代表用戶對智能合約帳戶的交易意圖。與傳統交易不同,UserOperations 引入了額外的欄位,如 EntryPoint、Bundler、Paymaster 和 Aggregator,並定向到單獨的內存池。值得注意的是,UserOperations 是基於意圖的,允許用戶包含以結果為中心的交易的元數據,這偏離了傳統輸入的特殊性。

下面的關鍵組件稱為 Bundler,是一種特殊類型的以太坊節點,在支持 UserOperations 方面發揮著關鍵作用。用戶操作被定向到Bundler網絡,該網絡主動監視替代內存池。這些Bundler將多個 UserOperations 合併為一個交易,隨後代表用戶將它們打包並提交到區塊鏈。作為這項服務的回報,他們獲得補償。它們的意義在於抽象了 web3 中每個參與者擁有自己的外部擁有帳戶(EOA)的必要性,這是實現 ERC-4337 功能的關鍵組成部分。

然後,UserOperations 被發送到 EntryPoint Contract,這是一個singleton智能合約,用於執行 UserOperations 的驗證和執行。驗證過程涉及評估錢包是否擁有足夠的資金來支付潛在的最大 Gas 使用量,該最大 Gas 使用量由 UserOp 中的 Gas 欄位決定。缺乏足夠資金的交易將被拒絕。為了執行,智能合約執行交易,從智能合約帳戶 (SCA) 中扣除資金,用適當的原生代幣金額償還 Bundler 的 Gas 費用。

在某些情況下,開發人員希望代表用戶贊助gas費,或者允許他們使用除原生代幣之外的各種代幣來支付這些費用。為此,他們可以利用名為 Paymaster 的合約,該合約旨在管理gas支付政策。這有效地消除了用戶擁有原生區塊鏈代幣與區塊鏈交互的要求。

u2hTSecXrh9teSTma8BJuk1KkJ3TfYXpgkNkAmR4.png

不同 AA 工具的演練

1. 無SDK解決方案

如上所述,利用帳戶抽象功能需要一些關鍵元素,而其他一些元素仍然是可選的。如果你不想依賴第三方 AA 解決方案,則可以運行自己的設置並完全控制和託管所涉及的智能合約和流程。對於以太坊,有多種提議的解決方案,其中eth-infinitism在智能帳戶合約、Entry Point合約和 Paymasters 方面擁有最流行的解決方案。除了部署這些合約並正確資助之外,還需要運行一個 Bundler,它將接收用戶操作並將其重定向到Entry Point合約。為了幫助開發人員,社區成員開發了解決方案,只需利用簡單的npm包即可在 Hardhat 環境中本地設置帳戶抽象。

由於自行設置所有基礎設施所需的繁重工作,大多數人選擇依賴各種庫和公司,它們提供現成的解決方案,並從開發人員手中抽象出所有複雜性。

2.Pimlico和permissionless.js

如果你希望利用 JavaScript 庫向應用程式添加帳戶抽象功能,最有效的解決方案是permissionless.js。它建立在 viem 之上,允許開發人員利用 Pimlico 提供的 AA 套件、Bundler 和 Paymaster API 來構建高度可定製和模塊化的應用程式,所有這些都支持 20 多個 EVM 兼容鏈。假設智能帳戶和交易數據已創建,以下是如何使用 Permissionless.js 和 Pimlico 的帳戶抽象 SDK 發送交易的方法:

const txHash = await smartAccountClient.sendTransaction({

to: “0xd8da6bf26964af9d7eed9e03e53415d37aa96045”,

value: parseEther(“0.1”),

maxFeePerGas: gasPrices.fast.maxFeePerGas,

maxPriorityFeePerGas: gasPrices.fast.maxPriorityFeePerGas,

});

3. Alchemy 帳戶套件

Alchemy 的帳戶工具包是對開發人員最友好的帳戶抽象工具之一。與其他解決方案類似,除了 aa-sdk 之外,Alchemy 還提供了 Light Account 解決方案,這是一個簡單的智能帳戶界面、一個 Bundler API、一個利用自己的 Paymaster 智能合約的 Gas Manager 解決方案,允許開發人員贊助用戶操作或允許用戶在支付 Gas 費用時使用 ERC-20 代幣。假設智能帳戶和交易數據已創建,以下是你如何使用 Achemy 的帳戶工具包發送交易並檢索交易哈希:

const userOperation = await smartAccountClient.sendUserOperation({

uo: {

target: “0xTARGET_ADDRESS”,

data: uoCallData,

},

});

const txHash = await smartAccountClient.waitForUserOperationTransaction(uo);

4.Biconomy SDK

在使用帳戶抽象進行構建時,Biconomy SDK 提供了最多的功能。它們允許開發人員定製各種功能,為智能合約帳戶設置多重籤名配置,並提供 Bundler 和 Paymaster 服務。其功能高度模塊化,與競爭對手相比具有獨特的功能。它允許開發人員創建由一組約束支持的網關,從而使特定的 SCA 交易能夠發生,而籤名者無需對每個交易進行籤名。這種特殊的功能增強了用戶體驗,並為在後臺進行區塊鏈操作的應用程式奠定了基礎,同時用戶正在經歷完全的 web2 之旅。 Biconomy 的 AA 解決方案是該領域最受歡迎的解決方案之一,其 SDK 處理了 2500 萬筆元交易,幫助 Web3 領域吸引了 280 萬用戶。假設智能帳戶和交易數據已經創建,以下是你如何使用 Biconomy SDK 發送交易並檢索交易哈希:

const userOpResponse = await smartWallet.sendTransaction({

to: toAddress,

data: transactionData,

});

const { transactionHash } = await userOpResponse.waitForTxHash();

結論

總而言之,儘管帳戶抽象的想法已經存在了一段時間,但幫助開發人員大規模採用它的文檔和工具仍然有限。儘管如此,它仍然是 Web3 開發中最大的裡程碑之一,並為新的、令人興奮的用例提供了基礎。

儘管目前主要需要依賴第三方來使用帳戶抽象功能,但模塊化範式和生態系統的去中心化鼓勵越來越多的開發人員將其中一些工具集成到他們的應用程式中,甚至構建自己的工具——建立智能合約和鏈下實用程序來利用這項令人興奮的新技術。仍然非常需要簡化用戶入門並為加密貨幣的大規模採用做出貢獻,而帳戶抽象是目前滿足這一需求的最佳工具,允許項目在用戶不知情的情況下利用區塊鏈技術。

  • Related Posts

    幣安推出Alpha積分 規則一文全讀懂

    Jessy,比特鏈視界 參與幣安錢包TGE的要求越來越高了!…

    Bankless:有哪些值得關注的去中心化內容創作平臺?

    作者:William M. Peaster,Bankless…

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    You Missed

    Grayscale:以太坊如何通過執行擴容策略保持定價權

    • By jakiro
    • 30 4 月, 2025
    • 3 views
    Grayscale:以太坊如何通過執行擴容策略保持定價權

    Grayscale:看懂質押獎勵 如何從加密資產中賺取收入

    • By jakiro
    • 30 4 月, 2025
    • 3 views
    Grayscale:看懂質押獎勵 如何從加密資產中賺取收入

    以太坊基金會新紀元:雙重領導與戰略轉型

    • By jakiro
    • 29 4 月, 2025
    • 6 views
    以太坊基金會新紀元:雙重領導與戰略轉型

    三上悠亞發幣:一場頂級流量的加密妖風

    • By jakiro
    • 29 4 月, 2025
    • 7 views
    三上悠亞發幣:一場頂級流量的加密妖風

    Pectra主網確定將在5月7日激活 有哪些更新?

    • By jakiro
    • 29 4 月, 2025
    • 7 views
    Pectra主網確定將在5月7日激活 有哪些更新?

    以太坊基金會再出發:新管理層、願景和未來一年重點

    • By jakiro
    • 29 4 月, 2025
    • 7 views
    以太坊基金會再出發:新管理層、願景和未來一年重點
    Home
    News
    School
    Search