來源:登鏈社區
了解賬戶抽象如何使加密貨幣更安全、更易于使用。它增加了安全功能,并消除了區塊鏈采用的技術障礙。
區塊鏈技術承諾金融創新,但它過于復雜。用戶必須管理私鑰,了解 gas 費用,并保留 ETH 以支付費用。交易簽名復雜,一次錯誤可能導致資金的永久損失。
這些技術障礙阻礙了加密貨幣的廣泛采用。目前,以太坊大約有 2.9 億個唯一地址。然而, 不到十分之一 的地址是活躍的。為什么會這樣?有沒有解決方案?
Vitalik稱賬戶抽象(AA)為“ 十年旅程的頂點 。”它使加密貨幣的使用變得像 PayPal 一樣簡單,但又具備區塊鏈的去中心化特性。賬戶抽象允許用戶通過可定制的 智能合約 管理他們的區塊鏈賬戶,同時增強安全性和靈活性。盡管賬戶抽象的概念適用于大多數區塊鏈生態系統,但本文將主要關注以太坊。
要理解其重要性,我們先來探討當前的局限性和變革的必要性。
以太坊有兩種類型的賬戶:
大多數用戶通過外部擁有賬戶(EOA)與主要區塊鏈進行交互。MetaMask、Trust Wallet 和 Coinbase Wallet 是很好的例子。
EOA 是由一對加密密鑰組成的賬戶:公鑰和私鑰。公鑰用于驗證 EOA 交易是否由發送者簽名,私鑰用于簽署交易。訪問私鑰意味著可以訪問和控制該賬戶,因此也可以控制與該賬戶相關的資金和資產。
要進行區塊鏈交易,用戶必須:
擁有足夠的本地代幣以支付 gas 費用
用私鑰簽署交易
等待區塊鏈確認
然而,EOA 的功能有限,且容易丟失私鑰。此外,它們無法批量處理交易、定制安全規則或將 gas 費用支付委托給他人。這就是為什么會有替代方案。
智能合約賬戶,也稱為智能合約錢包,是區塊鏈上的可編程賬戶。它們作為智能合約部署。流行的例子包括 Safe 和 Argent。
智能合約賬戶在接收交易時執行功能。它們的執行方式和恢復機制由智能合約代碼的邏輯控制。
這些錢包可以:
自動化質押
安排支付
設置每日支出限額
在群體之間分賬
對大額轉賬要求多個簽名
然而,智能合約錢包仍然依賴于 EOA 來發起 交易。這意味著用戶面臨相同的挑戰,但技術復雜性更高。因此,盡管有進展,仍然存在幾個問題。
上述賬戶的最大問題分為三個類別:
復雜的密鑰管理: 對于 EOA,丟失一個私鑰或助記詞可能意味著資金的全部損失。一旦被盜,無法恢復賬戶,用戶錯誤的風險很高。
交易限制: 在大多數情況下,用戶必須用本地代幣支付 gas 費用,這意味著他們必須始終保留一些代幣。此外,EOA 不允許用戶批量處理多個交易,每次與 dApp 的交互都需要單獨的批準交易。
糟糕的用戶體驗: 新用戶面臨的技術障礙阻礙了常規使用和大規模采用。即使是簡單的操作也需要多個步驟,沒有清晰的文檔解釋過程或不同術語的含義。用戶常常面臨充滿混淆術語的界面和沒有解釋的交易細節。有限的恢復選項使大多數錯誤無法逆轉。
Cyfrin Updraft 的 課程 列出了賬戶抽象旨在解決的問題,并明確了更優雅解決方案的必要性。
以太坊賬戶抽象在 以太坊改進提案 EIP-4337 中進行了描述,使 智能合約 成為主要賬戶類型。這增強了安全性和靈活性,具有多重簽名批準和社交恢復機制等功能。結果是能夠創建具有高級功能的用戶友好賬戶。
ERC-4337 是一個賬戶抽象提案,它在不改變以太坊核心協議的情況下工作。相反,ERC-4337 創建了一個額外的基礎設施層,圍繞替代內存池進行中心化。該層允許智能合約驗證、執行和與 UserOperations 交互。這些特殊的類似交易的對象使智能合約能夠成為主要賬戶。同時,Bundlers 處理它們的收集、聚合和提交到區塊鏈。
讓我們詳細探討這個解決方案的 五個組成部分:
UserOperation 是一個結構,代表代表用戶發起的交易。為了減少混淆,它不被稱為“交易”。它包括熟悉的字段,如發送者、目標地址、數據負載、gas 費用參數、簽名和 nonce。然而,它還引入了特定于其功能的附加字段,如下所示。簽名字段的使用由每個賬戶實現決定,而不是由協議決定。這些操作進入一個“ 替代內存池 ”,與常規以太坊交易分開。
UserOperation 字段(來源:ERC-4337)?
Bundlers 是專門的以太坊 節點。它們監控一個叫做 alt-mempool 的獨立內存池,并將多個 UserOperations 組合成一個交易。然后,它們將其提交到區塊鏈并支付交易費用。作為回報,它們通過處理這些任務賺取費用。
EntryPoint 是一個 單例 智能合約,它驗證并將指令轉發給智能賬戶以執行 UserOperations。它檢查每個 CA 是否有足夠的資金來支付 gas 費用。在驗證后,它執行交易,并從用戶賬戶中扣除資金。然后,它向 Bundler 退款以支付 gas 費用。不過,EntryPoint 合約邏輯還支持 Paymasters。
Paymaster 合約負責支付交易的 gas 費用,而不是發起人。這種設計允許在沒有 gas 費用的情況下進行靈活的支付政策交互。它還支持使用 ERC-20 代幣進行支付和由第三方贊助的交易。因此,Paymaster 消除了用戶持有本地區塊鏈代幣以使用網絡的必要性。
可選的 Aggregator 將所有用戶簽名合并為一個。這使得一組 UserOperations 的驗證可以更高效地作為一個整體進行,而不是逐個驗證。使用 Aggregator 有助于降低交易成本并提高處理速度。
以下工作流程展示了這五個組件如何交互:
用戶創建 UserOperations 對象。
Bundlers 將多個 UserOperations 組合成一個交易并發送到 EntryPoint 合約。?
EntryPoint 啟動驗證,該驗證在 CA 上實現。然后,它通過調用在 CA 上實現的 `execute()` 函數來處理交易。
UserOperations 被執行,觸發狀態變化。
可選地,Aggregator 聚合簽名驗證,并由 Paymaster 處理交易費用。
在解釋了賬戶抽象之后,接下來看看它為什么至關重要。
區塊鏈賬戶抽象在三個主要領域帶來了重大改進。
賬戶抽象通過以下方式提高了安全性:?
多重簽名支持: 用戶可以創建規則,要求多個人在交易執行之前進行批準。每個簽名者擁有不同的權限,賬戶所有者控制支出限額和條件。這防止了未經授權的支出,并保護免受黑客攻擊。
社交恢復: 賬戶持有人選擇可信賴的個人(稱為“守護者”),如果訪問丟失,他們可以共同批準賬戶恢復。例如,5 位指定守護者中的 3 位可能需要批準恢復。時間鎖實現額外保護,通過延遲大額轉賬消除了因遺忘密碼或丟失密鑰而造成永久性損失的風險。
更好的密鑰管理: 用戶可以通過硬件密鑰或生物識別技術訪問他們的賬戶。由于使用了多因素認證,即使一種方法被破壞,賬戶也依然安全。這增強了安全性而不會增加復雜性。
Web3 賬戶抽象在三個方面改變了用戶與加密貨幣的交互方式:
簡單的入門: 新用戶可以使用基本的電子郵件或社交登錄開始,系統在后臺處理復雜的錢包創建。這使得加密貨幣的使用與任何移動應用一樣簡單。沒有人需要理解私鑰或助記詞。?
靈活的支付: 用戶不再需要持有 ETH 來支付 gas 費用,并且可以用任何 ERC-20 代幣 來覆蓋 gas 成本。應用程序可以通過贊助交易為其用戶支付費用。企業可以為其團隊管理費用。?
智能交易: 用戶可以將多個操作組合成一個批量交易。一個批準覆蓋整個操作集,系統找到最佳 gas 價格。這節省了每次交互的時間和金錢。
賬戶抽象通過兩個主要升級實現了尖端功能:
可編程規則: 用戶可以設置每日支出限額,安排未來的支付,并為不同類型的交易配置規則。例如,小額支付可能只需要一個簽名,而大額轉賬則需要多個批準。?
自動化操作: 智能合約功能無需用戶輸入處理定期支付,復雜交易按照精確順序執行。用戶還可以為特殊情況創建自己的規則。?
那么,讓我們看看這些理論優勢是如何在現實世界中顯現的。
賬戶抽象增加價值的顯著領域包括:?
智能合約錢包:Argent 具有社交恢復、gas 抽象和其他智能功能。Safe 提供多重簽名支持、交易批處理和高級控制。
企業:Visa 利用賬戶抽象改善以太坊上的加密支付。Paymaster 合約覆蓋費用,使交易對用戶免費,類似于一些借記卡的工作方式。
Web3 游戲:賬戶抽象消除了加密復雜性,使游戲內購買成為可能,同時管理玩家的 gas 成本。
去中心化金融(DeFi): 平臺利用賬戶抽象啟動一鍵交易和批量批準,同時優化交易成本。
那么,你如何獲取更多信息?
一個好的起點是 EIP-4337 在以太坊官網的條目。它涵蓋了使用替代內存池進行賬戶抽象的動機、規范和基本原理。在那里,你還可以找到參考實現和安全考慮。
接下來,探索 Cyfrin 的全面 賬戶抽象庫 在 GitHub 上。它包含快速入門指南、示例部署和常見問題解答。除此之外,通過我們在 Cyfrin Updraft 上的 全面課程部分 深入了解賬戶抽象。
但你可能仍然想知道如何構建和部署可編程賬戶功能。
賬戶抽象實施的兩種主要方法:
以太坊使用外部捆綁器和入口合約
ZKsync 將賬戶抽象直接構建到鏈中
如前所述,在以太坊上,用戶將操作發送給捆綁器,捆綁器再將其轉發給入口合約。入口合約驗證并執行交易。而在 ZKsync 上,用戶直接將交易發送到鏈上,由系統合約處理驗證和執行。
這兩種方法都允許錢包定義交易批準的自定義規則,例如要求多個簽名或使用社交登錄。
賬戶抽象改變了用戶與區塊鏈的互動方式。它為加密錢包增加了現代金融管理功能,允許用戶恢復丟失的賬戶、設置消費限額,并使用任何代幣支付費用。
像 Visa 這樣的主要公司今天正在使用賬戶抽象。游戲使用它來簡化復雜性。DeFi 應用使交易變得更加簡單。
工具已經存在。標準有效。現在,開發者可以為每個人構建更好的加密應用。實現 web3 的愿景,了解如何將 賬戶抽象 構建到你的項目中。