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