作者:@菠菜菠菜
錢包作為進入加密世界的入口以及通行證在整個加密行業中有著不可替代的地位,使用錢包也是每一個想進入加密世界的人不可避免的一環,錢包的功能也從最初的純記賬功能演化至如今的多鏈多場景使用功能。但目前錢包的使用門檻對于新用戶來說學習成本過高,這道門檻將許多想進入加密世界的人拒之門外,而錢包門檻的降低才可以為整個加密世界帶來更多的新鮮血液以及生態的爆發,隨著 EIP-4337 賬戶抽象提案的到來,賬戶抽象錢包帶來的降低門檻是否會讓錢包進入下一個時代引爆加密世界的用戶爆發潮?
加密世界的知識門檻較高,人們普遍缺乏對區塊鏈以及錢包知識的認知,錢包現階段使用體驗復雜,存在著許多因素阻礙著新用戶的加入
現階段小白用戶使用錢包時會遇到一些痛點:使用錢包必須先有 Gas 費、需要尋找加密資產購買渠道、眼花繚亂的主網選擇以及錢包安全問題
以太坊上的錢包存在兩種不同類型的賬戶即 EOA 外部擁有賬戶(Externally Owned Accounts)和 CA 合約賬戶(Contract Account),EOA 外部擁有賬戶類型的錢包指由私鑰以及公鑰的密鑰對控制的錢包,不具備可編程功能。CA 合約賬戶類型的錢包指以智能合約形式存在的錢包,合約賬戶類型的錢包本身不是由私鑰控制也不存在私鑰,而是通過編寫代碼實現各種功能,但不能主動發起交易
兩種錢包賬戶類型各有利弊以及局限性,EOA 外部擁有賬戶只能按照以太坊規定的生成密鑰對的方法來生成,不具備可編程性,需要擁有 Gas 費才可以操作,私鑰丟失就無法找回,但相比 CA 合約賬戶類型而言,雖然 CA 合約賬戶類型可以自定義邏輯來實現更多功能的可能性,但是 CA 合約賬戶類型無法主動發起交易需要由 EOA 外部擁有賬戶來進行調用,并且生成 CA 合約賬戶類型的錢包需要額外的成本,這兩種錢包賬戶類型目前都無法解決錢包使用體驗復雜的問題
賬戶抽象(Account Abstraction)是以太坊上一種待實現的錢包技術方案,其最終愿景是讓AA賬戶抽象錢包結合 EOA 外部擁有賬戶和 CA 合約賬戶兩種賬戶類型的特征,使其合二為一替代 EOA 來作為主賬戶存在,除了擁有 CA 的可編程性外還可以擺脫 EOA 的依賴主動發起交易
EIP-4337 提案將原本以太坊錢包交易流程中寫死在共識層中的[驗證交易機制]抽離出來交給 EIP-4337 的新機制處理,新機制的出現使得賬戶抽象錢包實現了簽名方式的可自定義,并且帶來了更多應用場景
實現了賬戶抽象的錢包應用可以讓用戶無需擁有 EOA 也可以使用特定的簽名方式發起交易來作為主賬戶使用,使得賬戶抽象錢包的所有權以及簽名權解耦,賬戶抽象錢包的 EOA 所有者賬戶也僅僅是作為所有者存在,不影響實際賬戶抽象錢包的使用
數據:以太坊實施EIP-1559以來,新出產ETH總量的56%通過基礎費用被銷毀:11月19日消息,以太坊自實施EIP-1559以來,截止11月4日,共節省用戶8.44億美元的交易費用(通過base fee refunds)。以太坊平均交易費用在實施EIP-1559之后有所上升,截止10月26日,該費用以美元計算為實施之前的3倍,但礦工的總收入卻增長了33%。此外,自EIP-1559之后,代幣通脹有所降低,新出產ETH總量的56%被銷毀(通過基礎費用)。[2021/11/19 6:59:49]
EIP-4337 之所以能被以太坊選擇為最終方案,首先是因為 EIP-4337 不需要進行共識協議層的修改就可以實現賬戶抽象,這就避免了不亞于類似從 POW 工作量證明機制轉換至 POS 權益證明機制這種龐大的共識層修改
在 EIP-4337 中賬戶抽象錢包將[簽名驗證機制]交給了入口點合約來進行,這就使得賬戶抽象錢包可以使用任意簽名形式的簽名機制,錢包開發者可以選擇相應場景的簽名形式去開發錢包產品
目前的賬戶抽象錢包更像是一種智能合約錢包的新標準,還無法擺脫對于需要 EOA 作為錢包擁有者的依賴。并且目前賬戶抽象提案仍存在一些不足以及風險:智能合約風險、更高的 GAS、技術實現問題
文章速覽:
01/ 現階段小白用戶使用錢包的痛點是什么?
02/ 以太坊現有的錢包類型有哪些?
03/ 賬戶抽象是什么?EIP-4337賬戶抽象有哪些優點?
04/ 為什么以太坊選擇了EIP-4337賬戶抽象提案?
05/ EIP-4337賬戶抽象錢包如何運作?與其他錢包賬戶類型有什么不同?
06/ EIP-4337賬戶抽象存在著哪些不足和風險?
現階段小白用戶
使用錢包的痛點是什么?
由于加密世界的知識門檻較高,人們普遍缺乏對區塊鏈以及錢包知識的認知,錢包現階段使用體驗復雜,并存在著許多因素阻礙著新用戶的加入。
痛點一:使用錢包必須先有 Gas 費
當一個小白用戶滿懷期待想體驗加密世界并下載了錢包準備大干一番的時候,小白驚奇的發現錢包居然不能使用,因為錢包里面沒有公鏈原生通證(如以太坊的ETH)作為 Gas 費,錢包無法進行任何操作,因為錢包的每一次鏈上操作都需要礦工來打包操作并支付 Gas 費給礦工作為辛苦費,這時小白就要開始尋找購買加密資產的渠道,而許多錢包產品并沒有提供出入金渠道,大多數小白的選擇可能就會是中心化交易所。
以太坊JavaScript庫Ethers.js發布v5.4.0 添加EIP-1559支持:官方消息,以太坊JavaScript庫Ethers.js發布v5.4.0,添加EIP-1559支持。TransactionResponse.gasPrice現在可以為空,因此某些應用程序可能需要添加空檢查。
據悉,以太坊兩個最常用JavaScript庫是Ethers.js和Web3.js。[2021/6/27 0:09:59]
痛點二:加密資產購買渠道以及眼花繚亂的主網選擇
當小白用戶想購入加密資產時,他們可能會選擇有出入金渠道的錢包產品、中心化交易所、場外交易等渠道購入加密資產,但對于選擇中心化交易所和場外交易渠道的小白用戶來說,在中心化交易所購入資產后想要轉入錢包中的話小白用戶又會被選擇轉賬的各種各樣的主網給搞暈了,學會選擇主網就需要一定的學習成本,稍不小心轉錯網絡處理起來極其繁瑣,如果是場外交易的話則十分具有風險,小白用戶極容易成為騙子的詐騙對象。
痛點三:錢包安全問題
對于小白用戶來說,即便好不容易搞定了 Gas 費可以使用錢包進行交互了,但整個加密世界對于小白來說就是一片黑暗森林。小白用戶需要學習關于錢包的密碼學知識如私鑰公鑰等,還需要理解私鑰是什么并思考怎么確保私鑰的安全以及防范加密黑暗森林中的騙局,這些對于小白用戶來說學習成本大且很容易上當受騙,最重要的是私鑰一旦丟失或忘記就無法找回,不能像 Web2 應用找回密碼那樣重新找回,對于 Web2 用戶來說這是他們很難習慣的。
以太坊現有的錢包類型有哪些?
目前以太坊上的錢包存在兩種不同類型的賬戶即 EOA 外部擁有賬戶(Externally Owned Accounts)和 CA 合約賬戶(Contract Account)。
EOA外部擁有賬戶(Externally Owned Accounts)
EOA 外部擁有賬戶類型的錢包指由私鑰以及公鑰的密鑰對控制的錢包,外部擁有錢包的作用基本只有接收、持有、發送 Token 和與智能合約進行交互的功能,不具備可編程功能,并且執行每一筆交易都需要支付 Gas 費。創建一個外部擁有賬戶類型的錢包是無需成本的,但只能通過生成私鑰的方式創建。
CA 合約賬戶(Contract Account)
CA 合約賬戶類型的錢包指以智能合約形式存在的錢包,合約賬戶類型的錢包本身不是由私鑰控制也不存在私鑰,而是通過編寫代碼實現各種功能,如 DeFi 協議、多簽錢包、保險柜、水龍頭等等功能,常見的用處有多簽錢包,即需要多個外部擁有賬戶錢包授權才可以進行交易的錢包,通常用于企業錢包管理。創建一個合約賬戶錢包是需要消耗Gas費創建的,合約賬戶錢包本身不能主動發起交易,而是需要外部擁有賬戶錢包調用并支付 Gas 費而被動發起交易。
AC:EIP-1559和ETH2對經濟政策的影響被嚴重低估:Andre Cronje發推表示,認為EIP-1559和ETH2對經濟政策的影響被嚴重低估了。不知道是好是壞,但無論哪種方式,都會發生重大變化。[2021/6/26 0:07:54]
這兩種錢包賬戶類型各有利弊以及局限性,EOA 外部擁有賬戶只能按照以太坊規定的生成密鑰對的方法來生成,不具備可編程性,需要擁有 Gas 費才可以操作,私鑰丟失就無法找回,但相比 CA 合約賬戶類型而言,雖然 CA 合約賬戶類型可以自定義邏輯來實現更多功能的可能性,但是 CA 合約賬戶類型無法主動發起交易需要由 EOA 外部擁有賬戶來進行調用,并且生成 CA 合約賬戶類型的錢包需要額外的成本,這兩種錢包賬戶類型目前都無法解決錢包使用體驗復雜的問題。
賬戶抽象是什么?
EIP-4337賬戶抽象有哪些優點?
賬戶抽象(Account Abstraction)是以太坊上一種待實現的錢包技術方案,其最終愿景是讓 AA 賬戶抽象錢包結合 EOA 外部擁有賬戶和 CA 合約賬戶兩種賬戶類型的特征,使其合二為一替代 EOA 來作為主賬戶存在,除了擁有 CA 的可編程性外還可以擺脫 EOA 的依賴主動發起交易。
本處討論的賬戶抽象(Account Abstraction)指由 Vitalik 提出的以太坊 EIP-4337 提案,該提案將原本以太坊錢包交易流程中寫死在共識層中的[驗證交易機制]抽離出來交給 EIP-4337 的新機制處理,新機制的出現使得賬戶抽象錢包實現了簽名方式的可自定義,并且帶來了更多應用場景如:代付 Gas、聚合簽名、隱私保護等。
EIP-4337 提案實現后的賬戶抽象錢包可以不局限于 EOA 外部擁有賬戶類型錢包使用的以太坊橢圓曲線數字簽名算法(ECDSA)密鑰對的簽名方式,錢包應用的開發者們可以將任意類型的簽名方案應用在賬戶抽象錢包應用上使得用戶可以使用其他簽名方式發起交易,從而可以降低用戶的使用門檻。
實現了賬戶抽象的錢包應用可以讓用戶無需擁有 EOA 也可以使用特定的簽名方式發起交易來作為主賬戶使用,使得賬戶抽象錢包的所有權以及簽名權解耦,賬戶抽象錢包的 EOA 所有者賬戶也僅僅是作為所有者存在,不影響實際賬戶抽象錢包的使用。而所有權和簽名權的解耦使得錢包產品可以為用戶提供社交恢復等手段,人們即便丟失了私鑰也不用擔心無法找回了。
由于賬戶抽象錢包新機制帶來的可擴展性,先有 Gas 才能使用錢包的痛點也可以得到解決,賬戶抽象錢包不僅可以允許第三方代付 Gas,還可以實現除原生代幣以外的資產支付 Gas 費,這將極大的降低小白用戶對于 Gas 費的使用門檻,在不久的將來似乎可以預見,賬戶抽象帶來的更低門檻以及更多的自定義功能可能會引領錢包的一個新時代。
EIP-1559已在以太坊Nethermind客戶端合并至master:1月17日消息,以太坊客戶端Nethermind官方發推稱,EIP-1559已在Nethermind節點上合并至master。期待與BeSu和Geth客戶端團隊在本周進行進一步測試。[2021/1/17 16:22:18]
為什么以太坊選擇了
EIP-4337 賬戶抽象提案?
賬戶抽象的討論自以太坊上線之時討論就沒有停止過,從最早的 EIP-101 到 EIP-3074 再到現在最新的EIP-4337,賬戶抽象的方案已經迭代過好幾個版本,但由于大部分方案不成熟以及涉及到共識協議層的修改太復雜最終被擱置了。
從2015年至今經過了漫長的討論和迭代后,最終以太坊在 EIP-3074 和 EIP-4337 這兩個方案之間進行抉擇,如果說 EIP-4337 是讓 CA 智能合約賬戶錢包可以像 EOA 那樣使用,那么 EIP-3074 就是讓 EOA 外部擁有賬戶錢包可以擁有智能合約賬戶的可編程功能,最終隨著以太坊創始人 Vitalik 公布的以太坊最新路線圖中,EIP-4337 被正式納入在 The Splurge(狂歡)階段中實施,這也讓 EIP-4337 成為了賬戶抽象的最終方案。
EIP-4337 之所以能被以太坊選擇為最終方案,首先是因為 EIP-4337 不需要進行共識協議層的修改就可以實現賬戶抽象,這就避免了不亞于類似從 POW 工作量證明機制轉換至 POS 權益證明機制這種龐大的共識層修改,而 EIP-3074 涉及到共識層的改動,一旦出問題就需要使用硬分叉(hard fork)來解決問題,其次由于 EIP-3074 是讓 EOA 外部擁有賬戶擁有智能合約賬戶的特性,在簽名機制上依舊使用固定的 ECDSA 簽名,無法像 EIP-4337 那樣可以使用任意簽名方式,所以相比于 EIP-3074 來說,EIP-4337 似乎在錢包門檻的降低上更有優勢。
圖片來源:ethereum.cn翻譯
EIP-4337 賬戶抽象錢包如何運作?
與其他錢包賬戶類型有什么不同?
賬戶抽象相比于之前的賬戶類型引入了一些新角色以及機制:
錢包合約 (Wallet Contract):賬戶抽象后的錢包智能合約,可以實現自定義的錢包邏輯。
以太坊2.0測試網頻現存款失敗現象 EIP-2537或成解決方案:據ConsenSys研究員Ben Edgington最新透露,以太坊2.0的0階段測試工作目前正進入高峰時期,開發者們在測試網上觀察到了很多存款失敗的情況,導致存入的32 ETH永久丟失。由于存款合約已經過形式化驗證,開發者們并不想重新設計該合約,因此提出的解決方案是在以太坊1.0中引入EIP-2537,此外還會涉及到一個代理合約,它可以收取存款人的存款,在檢查無誤的情況下,再轉發給存款合約。最終這一方案取決于參與者是否愿意接受。[2020/6/15]
入口點合約 (Entry Point Contract):與錢包合約進行溝通協調并負責處理驗證和執行用戶操作的合約。
用戶操作(UserOperations,uo):用戶發起的新鏈下交易形式,區別于以前的[交易事務Transaction, tx]。
捆綁者(Bundler):負責將用戶操作打包并傳遞給入口點合約的鏈下計算節點。
用戶操作內存池(UserOperation Mempool):一個專門用于堆積待執行用戶操作的內存池,獨立于交易事務內存池。
代付人(Paymaster):可選擇的第三方支付 Gas 的代付人合約賬戶。
如果你不明白這些新名詞是什么,接下來我會用簡化版的流程圖來進行展示,首先我們先了解 EOA 外部擁有賬戶類型的錢包的交易機制,EOA 外部擁有錢包需要簽署一個 ECDSA 簽名才可以發起交易。
圖片來源:https://medium.com/nethermind-eth/ethereum-wallets-today-and-tomorrow-eip-3074-vs-erc-4337-a7732b81efc8
從圖中可以看到 EOA 賬戶類型的錢包發起一個交易的步驟為:
用戶使用私鑰對交易信息進行 ECDSA 簽名產生一個帶有簽名的交易事務(Transaction, tx)
帶有簽名的交易事務會被發送到處理待執行事務的內存池中等待處理
礦工會在交易事務內存池中處理事務并驗證有效性
當驗證有效性為有效時,交易事務會被納入區塊中,反正則廢棄交易事務
由于 CA 合約賬戶類型沒有統一的交易流程標準,下圖為某種依賴 Relayer 的智能合約錢包的交易流程,我們可以看到 CA 合約類型賬戶的需要依靠一個 EOA 外部擁有賬戶類型的錢包簽署 ECDSA 簽名來執行交易,并且 Relayer 這個角色可能會伴隨著中心化的風險。
從圖中可以看到某種 CA 合約賬戶類型的錢包發起一個交易的步驟為:
用戶使用私鑰對交易信息進行任意形式的簽名產生一個帶有簽名的交易信息(signed message)
帶有簽名的交易信息會被發送給負責傳達消息的節點 Relayer
Relayer 使用私鑰對帶有用戶簽名的交易信息進行 ECDSA 簽名形成一個交易事務
Relayer 將包含用戶交易信息的交易事務通過 Relayer 的 EOA 外部擁有賬戶錢包發送給用戶的錢包智能合約進行執行
用戶的智能合約錢包執行操作并通過礦工驗證后上鏈納入區塊
接下來我們再來看 EIP-4337 賬戶抽象后的錢包交易機制
從圖中可以看到賬戶抽象后發起一個交易的步驟為:
用戶發起一個錢包用戶操作,使用任意形式的私鑰對用戶操作進行簽名產生一個帶有簽名的用戶操作(UserOperations,uo)
帶有簽名的用戶操作會被發送到待執行用戶操作內存池等待處理
Bundler 將用戶操作內存池中的用戶操作進行打包處理成一個事務并提交給入口點合約
入口點合約處理所有用戶操作:驗證錢包是否存在-要求錢包驗證用戶操作-將用戶操作發送至智能合約錢包進行執行
智能合約錢包將用戶操作執行并納入區塊
通過對比下來我們可以發現,EOA 外部擁有賬戶發起交易需要依靠以太坊固定的 ECDSA 簽名算法來進行簽名,而 CA 合約賬戶最終也需要依靠 EOA 外部擁有賬戶的 ECDSA 簽名算法來簽署交易,而在 EIP-4337 中賬戶抽象錢包將[簽名驗證機制]交給了入口點合約來進行,這就使得賬戶抽象錢包可以使用任意簽名形式的簽名機制,錢包開發者可以選擇相應場景的簽名形式去開發錢包產品,用戶可以直接通過錢包應用特定的簽名方式操控賬戶抽象錢包進行操作,而這種簽名方式可以是 Web2 用戶也能輕松使用的方式或是專用場景下的定制方式。
并且由于任何礦工都可以充當 Bundler 這個角色,這就避免了 Bundler 這個角色的中心化風險,同時 Bundler 通過捆綁交易還可以預防 Flashbot 監聽內存池進行 MEV 套利,并且這些新機制的出現還帶來了更多的應用場景想象空間,例如第三方代付 Gas 費的 Paymaster。
從圖中可以看到,交易事務(tx)與用戶操作(uo)是兩個獨立的內存池,由于賬戶抽象的入口點合約的存在,代付人(Paymaster)合約便可以像樂高積木一樣與入口點合約組合在一起,當入口點合約對用戶操作(uo)進行驗證之前先對代付人進行驗證確認:是否同意代付?是否有足夠支付 Gas 費的 ETH 進行質押?
除了代付人完全補貼之外,如果用戶的賬戶合約中只有類似于 USDT、USDC 等非 Gas 費代幣,用戶也可以通過將 Gas 等值的其他代幣轉給代付人合約以達到無 ETH 支付 Gas 費的作用。
除了代付 Gas 之外,入口點合約還可以結合聚合簽名驗證合約實現聚合簽名功能,通過多人簽名的方式來控制錢包。
以上案例我們可以看到 EIP-4337 方案中的入口點合約模塊化的可組合性帶來的更多應用場景想象空間,似乎賬戶抽象錢包可以給整個加密世界帶來非常多的好處,但現實真的會如此美好嗎?
EIP-4337 賬戶抽象
存在著哪些不足和風險?
雖然賬戶抽象的愿景十分美好,但現實卻往往卻很骨感,目前的賬戶抽象錢包更像是一種智能合約錢包的新標準,還無法擺脫對于需要EOA作為錢包擁有者的依賴。并且我們都明白一個道理:越是復雜的事物越容易出問題,目前的賬戶抽象提案仍存在一些不足以及風險:
智能合約安全問題
智能合約安全問題一直是困擾加密世界的一個難題,我們甚至可以看到許多通過了“智能合約審計”的合約往往也會出現安全漏洞,而每次出現合約安全問題往往都會伴隨著巨大的財產損失,而對于 EIP-4337 賬戶抽象方案來說,賬戶抽象錢包的功能模塊化堆積以及新機制的加入就會使得其代碼執行邏輯更加復雜,而往往更復雜的代碼執行邏輯可能就會伴隨著潛在的安全風險。由于賬戶抽象錢包和入口點合約本身都是智能合約,一旦入口點合約或者錢包合約出現問題則有可能會釀成一場損失慘重的黑客事件,人們對使用賬戶抽象錢包的信任也會大打折扣。
更高的 Gas 費
除了潛在的合約安全風險之外,賬戶抽象錢包使得用戶需要支付的 Gas 費更高了,因為賬戶抽象錢包相比于 EOA 外部擁有賬戶和 CA 合約賬戶來說處理交易的操作步驟變多了以及處理邏輯更復雜了,需要處理的操作變多也就意味著需要的 Gas 費更多,雖然 Vitalik 也提出可以通過 Layer2 來處理賬戶抽象的數據來降低 Gas 消耗的解決方案,但這也需要一段漫長的時間。
技術實現問題
目前距離 EIP-4337 的落地還有很長的一段時間要走,許多理論上可以實現的技術往往在實踐中會困難重重遇到許多問題如:兼容問題,復雜的節點驗證過程,如何防止 Bundler 作惡、技術邏輯無法實現等等,要解決這些技術問題需要進行長時間的嘗試和討論,這也是為什么 EIP-4337 被放在了以太坊升級的第六個階段 Splurge(狂歡)中的原因。
道阻且長,加密世界需要更低門檻且安全的錢包來吸引更多新用戶以突破用戶量的瓶頸,相信隨著賬戶抽象的實現會給加密世界帶來一個全新的想象空間,甚至可能在不久的將來會有一個意想不到更好的替代方案來取代賬戶抽象,加密行業迭代更新的速度遠超我們想象,這也是這個行業的魅力所在。
金色財經 善歐巴
金色早8點
Arcane Labs
MarsBit
Odaily星球日報
歐科云鏈
深潮TechFlow
BTCStudy
澎湃新聞
作者:Yiping, IOSG VenturesZK 為跨鏈通信提供了一種安全,低成本的方式跨鏈通信協議仍處于早期階段,但有望允許 DApp 訪問不同鏈上的數據DeFi.
1900/1/1 0:00:00據市場行情,截至 2 月 23 日,超過 73.52% 的加密友好銀行 Silvergate Capital (SI)股票被借走賣空,在美國被做空最多的股票中排名第二.
1900/1/1 0:00:003月2日,據ERC4337核心團隊官方推特賬戶消息,ERC-4337核心合約EntryPoint已經通過Open Zeppelin審計,并已上線主網.
1900/1/1 0:00:00作者:Yuanshan@Web3CN.Pro3月5日消息,NFT領域知名的“無聊猿(BAYC)”IP背后團隊Yuga Labs在社交媒體上發文表示.
1900/1/1 0:00:00但見一三尺小兒,紅口白牙,腳踩風火輪,手持紅纓槍,刷刷刷舞一套槍法,竟自朝向人高馬大的Opensea心口窩刺來。這小兒,便是Blur的創始人,匿名而神秘的Pacman(吃豆人).
1900/1/1 0:00:00作者:Sally, IOSG VenturesNFT金融化迎來系統性機會?一圖概覽賽道152個項目 前言 隨著NFT市場逐漸回暖,交易市場上對用戶的爭奪逐漸發展進入到白熱化階段.
1900/1/1 0:00:00