以太坊、Solana、Cosmos帳戶抽象解決方案異同研究

作者:Zeqing Guo & Jinming Neo,HashKey Capital;翻譯:比特鏈視界xiaozou

1 、為什麼我們需要帳戶抽象( AA )?

目前區塊鏈領域還存在很多未解決的問題。其中,使用區塊鏈的難度,也就是與區塊鏈交互的用戶體驗(UX),肯定是公眾吐槽最多的領域。

例如,很多人認為使用密鑰比使用電子郵件管理帳戶更複雜,密鑰管理困難而且並不安全,每次轉帳(比如USDC)還需要使用原生代幣(比如Ether和Sol),這是反直覺的。

在此背景下,越來越多的人將注意力轉向帳戶抽象領域,以改善鏈上交互的用戶體驗,促進大規模採用。

在探索過程中,以太坊提出了ERC-4337、EIP-3074、EIP-7702等帳戶抽象解決方案。其他L1(如Solana)具有支持協議級帳戶抽象的功能(如程序派生地址PDA), Cosmos也有類似的設計(如x/authz和費用抽象模塊Fee Abstraction Module)。本文,我們將介紹並比較上述解決方案,了解不同解決方案設計的微妙之處,並演示不同解決方案的利弊權衡和注意事項。

2 、背景介紹

1 EOA 和合約帳戶

外部帳戶(EOS)和合約帳戶是以太坊白皮書中定義的兩種帳戶類型。EOA帳戶由私鑰控制,用戶可以通過私鑰籤署各種交易,控制帳戶中的資產。合約帳戶由合約帳戶本身的代碼控制,其他帳戶可以通過調用合約帳戶的代碼讓合約帳戶執行特定邏輯。

2 )帳戶抽象

抽象帳戶的概念可以追溯到2016年。帳戶抽象基於以太坊的當前兩類帳戶構建,即EOA帳戶和合約帳戶。這將通過以下方式改善以太坊用戶的交互體驗:

· 允許用戶使用多重籤名,如Schnorr、BLS、後量子籤名等;

· 允許用戶使用ERC20代幣或自定義支付邏輯支付gas費;

· 允許用戶使用電子郵件、社交媒體等檢索他們的帳戶;

· 允許用戶以細粒度的權限管理其帳戶中的資金,例如設置每日提款限額;

· 允許在一個原子交易中執行多個鏈上操作。例如,用戶可以使用一個籤名完成DEX交易中的批准和兌換操作。

3 )以太坊路線圖

以太坊路線圖強調了以太坊未來的升級路線。目前,以太坊社區的大多數研究都圍繞著以太坊路線圖展開。帳戶抽象是其中必不可少的一部分:

以太坊社區希望以ERC-4337為基礎,通過EIP-3074或EIP-7702等提案,在協議內實現帳戶抽象解決方案,最終實現Endgame帳戶抽象。

儘管增強了用戶體驗,但帳戶抽象終局對以太坊的反量子計算也至關重要,因為當前EOA帳戶使用的ECDSA算法在量子計算時代並不安全。採用帳戶抽象來支持後量子籤名,保護用戶帳戶免受量子計算帶來的不斷演變的威脅。

3 EIP-3074 ERC-4337

要理解帳戶抽象帳戶,我們需要理解EOA是如何運作的。下圖展示了鏈上最常見的代幣買賣過程:

一般來說,用戶在買賣代幣時需要發出兩個交易:首先授權Uniswap轉移他們的USDC進行交換,然後發送另一個交易請求Uniswap執行該操作。Uniswap轉移用戶帳戶的USDC,並根據當前價格向用戶發送相應數量的ETH。

ERC-4337將上述兩個交易合併為一個交易:

從上圖可以看出,用戶需要兩次籤名才能授權bundler操作用戶在4337帳戶中的資產,該帳戶與用戶的EOA帳戶不同。在bundler獲得授權後,將授權的內容合併到一個交易包中,並發布該交易包完成交易。同時,如果用戶沒有用於支付gas費的以太坊代幣,也可以引入paymaster角色,讓paymaster來支付gas費,並從用戶那裡獲得等值的ERC20代幣。

EIP-3074和ERC-4337有一些相似之處,但EIP-3074的實現是在以太坊協議內:

在ERC-4337中,我們授權bundler通過籤名來處理我們鏈上智能合約錢包中的資產。在EIP-3074中,則授權bundler通過籤名直接處理我們EOA錢包中的資產。為了做到這一點,以太坊社區需要向以太坊協議添加兩個新的操作碼:AUTH和AUTHCALL。

AUTH用於驗證bundler處理用戶EOA帳戶資產的行為是否得到授權,AUTHCALL用於「欺騙」用戶交互的智能合約(在我們的示例中為USDC和Uniswap),使智能合約認為交易來自用戶的EOA帳戶。這樣做的好處是,Uniswap和USDC的維護人員不需要升級部署的智能合約,同時EOA帳戶還可擁有帳戶抽象的功能。

1 EIP-3074 ERC-4337 的比較

在以太坊社區中,EIP通常指的是需要以太坊升級來支持的提案,而ERC指的是不需要以太坊升級就可以支持的規範。

因此,從兩種帳戶抽象方案的命名可以看出,ERC-4337比EIP-3074更容易實現,因為ERC-4337不需要以太坊網絡進行硬分叉。這也是ERC-4337已經發布並越來越多地應用於polygon和base的原因之一,但EIP-3074剛剛被第183屆以太坊全核心開發者執行會議(ACDE)接受。

此外,ERC-4337要求用戶將其當前帳戶遷移到新的合約帳戶,並要求DApp支持EIP-1271的功能。EIP-3074則不需要這些額外的支持。這是ERC-4337採用率低的主要原因。同時,ERC-4337不能在不引入一個中間多調用合約的情況下支持一個籤名授權多個鏈上操作,而EIP-3074卻可以,這也導致了ERC-4337的局限性。

然而,EIP-3074也有自己的問題。最重要的問題就是操作碼AUTH的權限太高,可能會讓攻擊者完全控制用戶的EOA帳號。畢竟,只要黑客欺騙了你進行AUTH籤名,就可以處理你的EOA錢包中的資產。考慮到目前網絡釣魚攻擊十分猖獗,而且大多數攻擊都是通過欺騙用戶籤名,一旦實施了EIP-3074,這將成為一個更加嚴重的問題。

對此,EIP-3074的作者之一lightclient提出了一種在錢包級別攔截惡意籤名的緩解方法。ERC-4337沒有這個問題,雖然黑客仍然可以欺騙用戶籤署惡意UserOps。這是因為UserOp很難獲得對用戶帳戶中所有資產的處置權限。在撰寫本文時,ACDE的開發人員已一致同意從Pectra Devnet 0中刪除EIP-3704,並在接下來的Pectra Devnet 1中包含EIP-7702。

2 EIP-7702 有什麼變化?

EIP-7702試圖整合EIP-3074和ERC-4337的優點,走一條中間道路。用戶將所籤署的操作發送給bundler。當bundler將交易發送到鏈上時,用戶的EOA帳戶將暫時成為像4337帳戶一樣的智能合約帳戶。接下來,類似於EIP-3074中的AUTH進程,智能合約帳戶將驗證用戶授權的bundler操作。然後,像AUTHCALL一樣,執行用戶授權的操作。執行交易後,用戶帳戶將回滾到普通的EOA帳戶。

EIP-7702的優點如下:

· 繼承了EIP-3074的所有優點:不要求用戶從EOA帳戶切換到帶有新地址的智能合約帳戶,可以在一個原子交易中執行多個操作;

· ERC-4337的智能合約帳戶代碼和基礎設施可以再次使用;

· 以ERC-4337為代表的智能合約帳戶抽象和以EIP-3074為代表的EOA帳戶抽象解決方案可以合併,防止以太坊分裂為兩個不同的帳戶抽象系統,為以太坊路線圖中的抽象帳戶終局鋪平道路;

· AUTH和AUTHCALL這兩個操作碼不會被添加到以太坊的EVM中:鑑於以太坊路線圖,未來EOA帳戶將轉換為帳戶抽象帳戶,屆時這兩個操作碼將變為冗餘。

除此之外,EIP-7702也繼承了EIP-3074的所有安全風險。

社區決定在2025年的Pectra升級中包含EIP-7702。如果實現,將極大地改變以太坊生態系統,並逐漸改進當前的ERC-4337版本的帳戶抽象基礎設施。

4 Solana 的程序派生地址( PDA

1 Solana 的帳戶抽象

Solana的帳戶抽象類似於以太坊的ERC-4337。它們是從原始帳戶派生的帳戶(類似於EOA帳戶),類似於4337合約帳戶。在理解Solana的帳戶抽象之前,有必要先來了解Solana使用的帳戶模型。

從廣義上講,帳戶可以分為可以執行代碼的可執行帳戶和不能執行代碼的不可執行帳戶。進一步來看,Solana上有三種類型的帳戶:原生程序(Native Program)、程序帳戶(Program Account)和數據帳戶(Data Account)。

原生程序是驗證器實現的一部分,為Solana網絡提供核心功能,例如創建新的數據帳戶和自定義程序。程序帳戶是包含可執行代碼的自定義程序。數據帳戶可以按照其所有者程序帳戶的定義存儲數據並管理程序狀態。

這個帳戶模型使程序帳戶能夠創建並管理特定的帳戶,為開發人員提供了定義自定義規則和邏輯來管理帳戶的能力。在此帳戶模型的支持下,程序派生地址(PDA)(一種數據帳戶)擴展了Solana上帳戶抽象功能的可能性,從通過多重籤名錢包和雙因素認證增強用戶安全性到啟用社交恢復機制等。

2 )程序派生地址

對於上下文,所有帳戶都位於Ed25519曲線上,並具有公私密鑰對。PDA位於Ed25519曲線之外,是一個確定性派生的32位元組字符串,看起來像公鑰,但沒有相應的私鑰。PDA允許開發人員創建自定義規則和交易籤名機制,允許PDA的程序帳戶所有者代表PDA自主執行交易,完全由Solana網絡認可和支持。

3 PDA 和帳戶抽象

現在我們了解了PDA是如何派生的,你可能還想知道這些概念是如何與帳戶抽象聯繫在一起的。帳戶抽象是通過一個名為跨程序調用(CPI)的函數的性能在底層實現的。

CPI是一種函數,它使一個程序能夠調用另一個程序的指令,從而實現Solana程序的可組合性。當程序通過invoke_signed啟動CPI時,程序就能夠代表派生PDA進行籤名。

為了驗證PDA相關交易的合法性,Solana runtime(運行時)在內部使用調用程序的signers_seeds和program_id調用create_program_address。如果發現有效的PDA,runtime將把PDA與調用程序關聯起來,並將該程序識別為授權的籤名者。

目前,Squads正在開發一個基於PDA的Solana帳戶抽象解決方案。然而,Squads提供的產品目前更類似於Gnosis Safe的智能合約帳戶解決方案,尚未完全開發其帳戶抽象功能。

4 PDA 的優點

· 自動執行智能合約:PDA支持更複雜的智能合約設計,可以通過跨程序調用代表用戶自主執行多個操作。

· 增強的用戶體驗:用戶不需要管理多個交易或面對技術複雜性。

· 增強的安全性和靈活性:沒有私鑰,這降低了密鑰洩露的風險。PDA可以用於多籤錢包或其他靈活的治理模型,這些模型可以減少單點風險,並且對於管理大型共享資源的組織尤其好用。

5 PDA 的局限性

PDA雖然有助於為帳戶抽象功能奠定基礎,但與密鑰對帳戶相比,實現起來可能比較複雜。

與ERC-4337一樣,它要求用戶執行帳戶遷移到新帳戶,這可能會抑制Solana帳戶抽象的採用率。

5 Cosmos 上的帳戶抽象( Authz Fee Grant

1 Cosmos x/authz

隨著帳戶抽象越來越多地佔據了開發人員的注意力,authz(核心Cosmos SDK的一部分)推出,允許一個帳戶通過授權來代表另一個帳戶執行某些操作,這與EIP-3074和EIP-7702類似。

Authz有幾種預定義授權類型,這些授權類型將某些操作(如質押)的性能委託給被授權者,從而增強了用戶體驗。

通過authz,可以給出3種類型的授權:

· GenericAuthorization :此授權給予被授權者代表授權者執行消息的無限制權限。

· SendAuthorization :與ERC20中的批准一樣,該授權旨在為被授權者提供一個積極的支出限制,該限制定義可以代表授權者花費的最大金額。

· StakeAuthorization :此授權允許被授權者管理質押操作,例如代表授權者委託質押、撤銷委託或重新委託。

授權由授權者的地址字節、被授權者的地址字節和授權類型組成。還可以定義時間段,限制特定時間段內的權限。在每個區塊末端,該網絡將通過一個名為pruning的過程刪除過期授權。

了解運營框架

Authz可用於為各種操作提供授權,但為了簡單起見,我們將研究Authz如何運作以啟用通用一般的投票交易。

· 在執行任何授權之前實現授權接口。這個階段還將定義消息類型,在本例中為MsgVote。在這裡,我們看到了Alice對治理投票操作進行的授予。

· Bob生成一個未籤名的投票交易。

· Bob生成一個已籤名且已執行的來自被授權人的投票交易。交易完成,過期交易將被刪除。

authz 帶來的好處有什麼?

· 操作安全性:驗證者和其他用戶可以向獨立帳戶授權,以便對治理建議進行投票或執行某些操作,從而增強帳戶安全性並減少安全負擔。

· 簡化操作:交易可以在需要訪問驗證者密鑰的情況下執行,多籤錢包交易也可以通過使用單個交易為被授權帳戶進行Authz授權來簡化操作。

· 無需遷移:與EIP-3074和EIP-7702類似,授權操作在用戶的原始帳戶中進行。用戶不需要將其資產從原始帳戶轉移到新帳戶來啟用帳戶抽象。

· DAO 操作效率和靈活性:可以將一部分執行權賦予各DAO成員以執行特定操作。

· 質押獎勵合成:Authz促進了再質押和同等服務的使用,以自動合成質押獎勵。

Authz 的局限和風險:

要注意通過Authz授權的交易類型。惡意授權可以執行可能對用戶有害的各種類型的授權。

· GenericAuthorization :授予不受限制的權限,以代表授權者執行所多重籤名。除非完全了解要籤署的內容,否則強烈建議避免籤署此類授權類型。一些錢包在籤署Authz交易時也可能不提供警告。

· SendAuthorization :允許被授權者發送被授權者可以花費的最大數量代幣,如果授權者沒有指定具體額度的話。驗證AllowList也很重要,它指定了可以接收被授權者所發送代幣的具體地址。

2 Fee Grant Module (費用授權模塊)

用戶體驗存在的另一個障礙是,區塊鏈用戶需要持有各種原生代幣,才能與不同的生態系統進行交互。這損害了整體用戶體驗,特別是對於那些第一次接觸到Cosmos生態系統中存在的無數鏈的非加密原生用戶來說更是如此。

然而,隨著Fee Grant模塊的整合,這一問題已經有所突破。與在以太坊上實現帳戶抽象的paymaster合約類似,Cosmos上的Fee Grant模塊允許授權者向被授權者授予費用津貼,支付部分或全部交易費。資金仍在授權者的控制之下,可以隨時撤銷授權津貼。

費用授權分類

費用津貼可分為兩類: BasicAllowance (基本津貼)和 PeriodicAllowance (定期津貼)。

BasicAllowance允許被授權者使用授權者帳戶中的費用,直到達到支出限額或到期時間,然後該授權在狀態中終止。需要注意的是,BasicAllowance實行的是一次性費用授權。如果支出限額和時間設置為空,則費用津貼沒有有效期和消費上限。

PeriodicAllowance允許在每個指定的時間段後定期更新費用授權。Period_spend_limit指定在某時間段內可以花費的最大代幣數量。Period_reset跟蹤下一個時間段的時間,period_can_spend跟蹤新時間段開始前剩餘的代幣數量。

了解運營框架

使用AllowedMsgAllowance為指定的消息類型創建一個Allowance津貼。津貼可以是BasicAllowance基本津貼或PeriodicAllowance定期津貼。如果設置了expiration到期時間,FeeAllowance將以expiration前綴在狀態中排隊,Endblocker將查驗FeeAllowanceQueue狀態檢查到期授權,並刪除任何發現的到期授權。除了MsgGrantAllowance之外,還可以使用MsgRevokeAllowance來撤銷費用津貼。

總之,Authz和Fee Grant模塊解鎖了各種各樣的創新用例,這些用例最終將在Cosmos生態系統上建設更好的用戶體驗。

6 、結語

截至2024年5月27日的帳戶抽象預估數據如下:

隨著現貨BTC ETF和ETH ETF獲得批准,機構和零售需求大幅增加,有望迎來新一波希望接觸加密行業的用戶的加入。隨著各協議和dApp尋求創建無縫體驗來擴展其社區規模,帳戶抽象將成為今年的重要敘事。

  • Related Posts

    一場事先張揚的死亡:Jeffy假死背後的金錢和人性

    Jessy,比特鏈視界 幣圈Meme又出新敘事:死亡賽道。 …

    被幣安下架卻暴漲 羊駝幣莊家的極限操盤

    Jessy,比特鏈視界 按照常理,一個代幣被交易所下架,是一…

    發佈留言

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

    You Missed

    Fartcoin的屁聲響徹華爾街

    • By jakiro
    • 14 5 月, 2025
    • 0 views
    Fartcoin的屁聲響徹華爾街

    值得關注的八大敘事方向及相關項目

    • By jakiro
    • 14 5 月, 2025
    • 1 views
    值得關注的八大敘事方向及相關項目

    比特幣和加密貨幣正在佔領華爾街

    • By jakiro
    • 14 5 月, 2025
    • 2 views
    比特幣和加密貨幣正在佔領華爾街

    以太坊這輪上漲的真正推手是什麼?

    • By jakiro
    • 14 5 月, 2025
    • 1 views
    以太坊這輪上漲的真正推手是什麼?

    MEV的必然性:你看不見的鏈上博弈

    • By jakiro
    • 14 5 月, 2025
    • 1 views
    MEV的必然性:你看不見的鏈上博弈

    SOL 的交易價格是否應該比 ETH 低 68%?

    • By jakiro
    • 14 5 月, 2025
    • 3 views
    SOL 的交易價格是否應該比 ETH 低 68%?
    Home
    News
    School
    Search