AA 智慧合約帳戶(帳戶抽象)把現行的合約帳戶、外部帳戶(EOA)兩種帳戶類型的優勢合二為一,讓帳戶本身「可程式設計」。
作者:Ebunker
封面:Photo by Shubham’s Web3 on Unsplash
眾所周知,Web3 錢包是區塊鏈用戶的關鍵,但目前大多數錢包的用戶體驗並不是很好,這也是它獲得大規模採用的最大障礙之一。 新使用者要在區塊鏈上交互,必須熟悉以下操作:創建錢包,保存好私鑰,購買和轉移資金,支付 gas 費,並在各種 DAPP 上進行繁瑣的操作。 因此,降低新使用者的進入門檻和改善用戶體驗是加密貨幣得到大規模採用的前提。
ERC-4337 是一種新的「帳戶抽象(Account Abstraction,縮寫為 AA)」標準,它可以在乙太坊區塊鏈及相容 EVM 的網路上解鎖智慧合約錢包的功能。 ERC-4337 是 Web3 錢包工作方式的最關鍵的升級之一,它可以通過智慧帳戶為用戶創造絲滑的用戶體驗。
本文將介紹什麼是 AA 智慧合約帳戶(帳戶抽象),其工作原理,為什麼 ERC-4337 是 Web3 錢包用戶體驗的重要升級,以及如何在 Web3 應用程式中實現「智慧帳戶」。。
AA 智慧合約賬戶簡介
AA 智慧合約帳戶(帳戶抽象)把現行的合約帳戶、外部帳戶(EOA)兩種帳戶類型的優勢合二為一,讓帳戶本身「可程式設計」。 在確保資產僅由智慧合約持有的同時,可以擁有批量交易、代付 gas、私鑰恢復等更多自定義和擴展功能。 既簡化了鏈上交互的流程,又可以自動化實現 gas 補貼。
帳戶抽象這(ERC-4337)將是一次乙太坊更新,可讓用戶創建非託管錢包作為可程式設計的智能合約。 它可以解鎖許多可能性,例如錢包恢復,無痕交易和團隊錢包,從而使 Web3 體驗更安全、便捷、靈活。 AA 智慧合約錢包(帳戶抽象)又被稱為「智慧帳戶」,「智慧錢包」和「帳戶抽象錢包」等。
乙太坊賬戶類型
乙太坊帳戶是以太坊區塊鏈上存儲 ETH 並可以啟動和執行交易的獨特數字位址。 乙太坊帳戶可以分為外部帳戶(EOA)和合約帳戶這兩種類型。
外部帳戶(EOA):
EOA 是由用戶擁有的錢包,從區塊鏈生態系統外手動操作。 他們使用公鑰和私鑰對進行管理,只要擁有私鑰,就可以使用存儲在 EOA 中的資產。 EOA 最關鍵的部分是助記詞,即設置錢包時產生的 12 個隨機單詞(通常為 12,有時候也會使用其他數量的單詞)。
EOA 使用助記詞生成私鑰,然後用私鑰來簽署交易。 因此,帳戶擁有者必須離線存儲助記詞才能免受駭客攻擊和盜竊。 如果使用者丟失私鑰,則助記詞是重新獲取私鑰並找回資產的唯一方法。
目前流行的加密錢包大多數都是 EOA,例如 Coinbase 錢包和 Metamask。 EOA 是以太坊生態系統的關鍵部分,但它們在功能和靈活性方面受到限制,通常只能執行兩個動作:將 token 轉移到其他 EOA 或啟動觸發另一項智能合約的交易。
這些設計局限性提出了許多挑戰:
1. 安全性弱:EOA 的安全性與助記詞直接相關。 如果使用者丟失私鑰和助記詞,則可能會丟失所有資產。 而且沒有社會性的恢復選項。 此外,用戶無法進行支出限制、雙重認證等安全設置。
2. 缺乏自定義功能:EOA 發起的交易無法自定義或自動化。 用戶必須手動簽署每筆交易。
3. Gas 支付:用戶必須先有 ETH 才能為交易支付 gas,而新註冊的使用者卻通常沒有 ETH。
因此,儘管 EOA 在 Web3 旅程中扮演了重要角色,但用戶體驗不佳,特別是對大多數新使用者並不友好,因此 EOA 並非區塊鏈得以大量採用的理想方式。 吸引大量新使用者需要更簡單的用戶介面,更好的安全性和更高的靈活性。
合約帳號:
合約帳戶使用智慧合約形式作為加密錢包。 各種邏輯都可以被編碼到智慧合約中,以自定義交易並在合同帳戶中添加其他功能。 但是,合約帳戶沒有私鑰或助記詞,無法主動啟動交易。 當來自 EOA 的交易觸發智慧合約代碼時,它們只能執行某個操作。 這意味著使用者需要維持具有 ETH 餘額的 EOA 才能操作合約帳戶。 這使合約帳戶操作比操作獨立 EOA 更加不便,但帳戶抽象可以改變這一點。
帳戶抽象的工作原理
帳戶抽象和 ERC-4337 最重要的創新並非基於合約的錢包,而是抽象(分開)單獨的 EOA 或合約帳戶的能力。 帳戶抽象能夠創建可執行交易的,無需 EOA 的獨立智慧合約帳戶。 任何可用智慧合約代碼形式定義的自定義操作,都可以在智慧賬戶中實現。
智慧帳戶的操作很簡單,它不需要像 EOA 一樣發送常規交易,而是使用「使用者操作物件」(UserOperation)代表用戶進行操作。 使用者操作物件具有多個數據元素,描述了交易類型、token、交易各個步驟的 gas 價格、驗證交易的簽名以及其他數據。
基于 “账户抽象” 的智能账户,在每次发送用户操作时,交易都先会进入用户操作的通用等待区域 “内存池”(Mempool)中。然后,这些请求被类似于验证常规交易的节点打包者(Bundler)打包在一起,它们使用与验证器节点相同的逻辑来确定可以提取最大价值的交易。被打包的用户操作通过单个白名单的入口发送,在该白名单中,通过调用不同的功能来验证和执行每个单独的用户操作。
用通俗的话来说,这其实不是一个钱包,而是一个智能合约,但是,你可以把它当作钱包来用,所以叫 “抽象” 的账户。这样的做的好处是,它可以实现一些全新的,更好体验的功能。那么,到底是哪些功能呢?
以太坊智能账户功能
由于用户操作可以包含任何类型的逻辑,因此它允许用户实现各种自定义操作,以如何管理其账户和资金。以下是 5 个账户抽象的用例:
1. 钱包恢复
与 EOA 不同,智能账户的安全性不依赖助记词或私钥。智能账户所有者可以将多个设备、人员或第三方服务设置为钱包监护人。如果账户所有者失去了账户凭据,可由监护人签署一项交易以分配新的凭据以访问智能账户。这一过程不会损害账户所有者对资产的控制或所有权。
2. 合并交易
在 DEX 中將一種 token 兌換為另一種 token 需要兩項單獨的交易。 首先,使用者需要使用其私鑰簽署批准 DAPP 使用其想要交換的 token。 然後,需要簽署交易以執行兌換。 其他更複雜的 Web3 交易可能需要三次或更多的簽名批准。 智慧帳戶則可以將多個交易匯總在一起,並一次性批准所有交易,這會使 DeFi 交易與傳統的金融交易一樣簡單。
3. 共用帳戶和團隊錢包
EOA 帳戶擁有者通過助記詞可以控制對 EOA 的完全訪問,如果他想要與他人共享許可權,只能給出完整訪問許可權,或者自己保管全部許可權,並沒有中間路線可選。 而帳戶抽象可以讓帳戶擁有者與多個用戶共用對錢包的不同級別的許可權。 例如,帳戶擁有者可以創建一個多簽,需要其中兩個或多個用戶簽署交易才能執行交易。 此外,還可以添加只能在特定時間內為一組特定錢包支付限額資金的使用者。
4. 自動交易
使用 EOA 時,用戶必須手動啟動或簽署 DAPP 上的每筆交易。 無法將此過程自動化以進行信任的交易。 在智慧帳戶中,使用者可以定義一系列參數,例如訪問特定 token、花費限制、持續時間、gas 限制、基於預設的觸發條件的特定操作等等。
5. 使用 Token 作為手續費代幣
使用抽象的帳戶,即便你的帳戶里沒有乙太坊,當必要第三方服務商支援其他 Token 時,例如 USDT,你同樣可以使用 USDT 作為手續費完成帳戶操作。
綜上,AA 智慧帳戶的功能包括多重身份驗證和賬戶恢復; 將原來普通帳戶需要多個步驟的交互(例如在 DEX 中兌換 token)合併為一鍵完成; 解除了 gas 對主鏈幣的依賴,可以使用任何代幣包括穩定幣支付 gas,並實現第三方代付 gas; 以及更多可能性,因為智慧帳戶的錢包本身即是合約,安全性與非託管錢包相同,可以實現更多自定義的功能。
AA 智慧帳戶的挑戰與前景
目前,ERC-4337 仍存在相容性問題,因為目前並非所有 DAPP 都可以驗證合約帳戶簽名的有效性。 但實施 EIP-1217 之後將解決這一問題。 另外,由於乙太坊區塊鏈使用費用仍然昂貴,因此 AA 智慧帳戶也同樣面臨 gas 成本問題。 在短期內,可以預見的是,ERC-4337 將在 L2 中得到更多的採用。
總體來說,AA 智慧帳戶為 Web3 應用程式和錢包帶來了各種新的可能性。 借助智慧帳戶,用戶不僅可以更輕鬆地管理錢包,而且還可以優化錢包運行方式的靈活性。 智慧帳戶將是 Web3 交互的未來,它們將為 Web3 的可能性設定新的標準。
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 本文內容僅用於資訊分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。