來源:登鏈社區
了解帳戶抽象化如何使加密貨幣更安全、更易於使用。它增加了安全功能,並消除了區塊鏈採用的技術障礙。
介紹
區塊鏈技術承諾金融創新,但它過於複雜。使用者必須管理私鑰,了解gas 費用,並保留ETH 以支付費用。交易簽名複雜,一次錯誤可能導致資金的永久損失。
這些技術障礙阻礙了加密貨幣的廣泛採用。目前,以太坊大約有2.9 億個唯一地址。然而, 不到十分之一的地址是活躍的。為什麼會這樣呢?有沒有解決方案?
Vitalik稱帳戶抽象化(AA)為「 十年旅程的頂點。」它使加密貨幣的使用變得像PayPal 一樣簡單,但又具有區塊鏈的去中心化特性。帳戶抽象化允許用戶透過可自訂的智慧合約管理他們的區塊鏈帳戶,同時增強安全性和靈活性。儘管帳戶抽象的概念適用於大多數區塊鏈生態系統,但本文將主要關注以太坊。
要理解其重要性,我們先來探討目前的限制和變革的必要性。
理解以太坊帳戶
以太坊有兩種類型的帳戶:
外部擁有帳戶(EOA)
大多數用戶透過外部擁有帳戶(EOA)與主要區塊鏈進行互動。 MetaMask、Trust Wallet 和Coinbase Wallet 就是很好的例子。
EOA 是由一對加密金鑰組成的帳戶:公鑰和私鑰。公鑰用於驗證EOA 交易是否由發送者簽名,私鑰用於簽署交易。存取私鑰意味著可以存取和控制該帳戶,因此也可以控制與該帳戶相關的資金和資產。
要進行區塊鏈交易,用戶必須:
-
擁有足夠的本地代幣以支付gas 費用
-
用私鑰簽署交易
-
等待區塊鏈確認
然而,EOA 的功能有限,且容易遺失私鑰。此外,它們無法大量處理交易、客製化安全規則或將gas 費用支付委託給他人。這就是為什麼會有替代方案。
智能合約帳戶(CA)
智慧合約帳戶,也稱為智慧合約錢包,是區塊鏈上的可編程帳戶。它們作為智能合約部署。流行的例子包括Safe 和Argent。
智能合約帳戶在接收交易時執行功能。它們的執行方式和復原機制由智慧合約程式碼的邏輯控制。
這些錢包可以:
-
自動化質押
-
安排支付
-
設定每日支出限額
-
在群體之間分賬
-
對大額轉帳要求多個簽名
然而,智能合約錢包仍然依賴EOA 來發起交易。這意味著用戶面臨相同的挑戰,但技術複雜性更高。因此,儘管有進展,仍然存在幾個問題。
EOA 和CA 的局限性
上述帳戶的最大問題分為三個類別:
-
複雜的金鑰管理: 對於EOA,遺失一個私鑰或助記詞可能意味著資金的全部損失。一旦被盜,無法恢復帳戶,用戶錯誤的風險很高。
-
交易限制: 在大多數情況下,用戶必須用本地代幣支付gas 費用,這意味著他們必須始終保留一些代幣。此外,EOA 不允許使用者大量處理多個交易,每次與dApp 的互動都需要單獨的核准交易。
-
糟糕的使用者體驗: 新使用者面臨的技術障礙阻礙了常規使用和大規模採用。即使是簡單的操作也需要多個步驟,沒有清晰的文件解釋過程或不同術語的含義。使用者常常面臨充滿混淆術語的介面和沒有解釋的交易細節。有限的恢復選項使大多數錯誤無法逆轉。
Cyfrin Updraft 的課程列出了帳戶抽象化旨在解決的問題,並明確了更優雅解決方案的必要性。
什麼是帳戶抽象?
以太坊帳戶抽像在以太坊改進提案EIP-4337 中進行了描述,使智慧合約成為主要帳戶類型。這增強了安全性和靈活性,具有多重簽章批准和社交恢復機制等功能。結果是能夠創建具有高級功能的用戶友好帳戶。
ERC-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 的願景,了解如何將帳戶抽象化建構到你的專案中。