比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > Fil > Info

以太坊:以太坊錢包的變革:賬戶抽象與ECR-4337的機遇與挑戰

Author:

Time:1900/1/1 0:00:00

SevenXVentures

投資參考。

錢包的外部賬戶方案的劣勢逐步顯露,其功能簡單而且性能一般,不支持并發交易,且存在密鑰管理的難題。智能合約錢包使用合約賬戶作為錢包地址,是一種相對來說新型的以太坊錢包解決方案,它能解決EOA錢包的短板并且帶來更強大的功能。未來,你將可以選擇不去小心翼翼保護好自己的私鑰,也能夠享受幾乎同等級別的安全性;你還可以在去中心化的交易所里享受到目前中心化交易所才有的便捷,但同時資金又是始終掌握在自己的手中,不用擔心交易所暴雷的可能……

以太坊的賬戶類型

以太坊有兩種類型的賬戶:外部賬戶和合約賬戶。外部賬戶是以太坊原生記錄用戶余額的錢包賬戶地址,合約賬戶一開始的設計目的并不是用來記錄用戶錢包地址余額的。

EOA是以太坊以及其他EVM兼容鏈才有的概念,嚴格來說包括BTC在內的主流非EVM鏈都沒有這個設定。Metamask錢包使用的就是外部賬戶,這一類的錢包也被稱為“EOA錢包”,由用戶私鑰控制,其生成規則是:

私鑰→公鑰→Keccak256哈希→最后20Bytes→十六進制字符串

這個生成規則完全由數學變換而來,該地址未對應任何一段智能合約。使用該類型地址進行交易的時候,其節點驗證規則是:

交易簽名→ec_recover→公鑰→地址→對比要操作的地址

如果驗證通過,則繼續后面的流程,不通過則拒絕交易。EOA在以太坊中的核心設定是作為交易的發起方并支付gas,即交易的觸發器,一筆交易無論后面有多少合約調用,一開始都必須由一個EOA發起并且支付足夠的gas才可以進行。一個EOA地址的交易流程如下圖所示。

目前EOA賬戶是用戶使用錢包類型的絕對主流的錢包形態。以太坊社區對EOA表達了一些擔憂,包括:

?密鑰管理:獲取資金的唯一方法是知道私鑰,最大的問題是在于單點故障,對于用戶來說,私鑰即資產。對于用戶來說,一旦私鑰丟失或者被盜,那么就意味著資產損失。

?依賴ECDSA簽名:更簡單且抗量子的數字簽名是對當前ECDSA的明顯改進。

?事務與操作是一對一的:一次不能執行多個操作會產生不必要的成本和糟糕的用戶體驗。

隨著區塊鏈應用場景的不斷擴大,用戶在區塊鏈上管理的不僅僅是自己的鏈上資產,可以還會有鏈上身份、社交關系甚至鏈上信用等等。而目前這些內容大多數都簡單地通過錢包映射到假匿名的個人,不僅是用戶掙扎在以助記詞為主的EOA錢包私鑰管理方案中,而且應用也因EOA錢包的簡單性在很多應用場景上受到限制。

某休眠8年的以太坊地址向Abyss Finance轉入640枚ETH進行質押:金色財經報道,鏈上數據顯示,5分鐘前,某于2015年7月30日從以太坊創世區塊中接收2000枚ETH的地址在休眠8年后向一個新地址轉入641枚ETH,后將640枚ETH轉入Abyss Finance中進行質押。[2023/7/31 16:08:22]

有很多錢包方案嘗試解決這些問題:

?圍繞著單點故障,MPC錢包通過使用閾值簽名方案(TSS)提供了一個更好的私鑰管理方案,而智能合約錢包則可以通過社交恢復、多重簽名等方案解決這個問題。

?諸如批量交易、自定義驗證邏輯等而更好的用戶體驗、更強大的功能和可擴展性,則主要由智能合約錢包帶來。

MPC錢包和智能合約錢包并不是完全獨立的方案,智能合約錢包也可以使用MPCTSS技術實現智能合約錢包的管理,Unipass是一個很好的例子。

注:MPC錢包指的是使用多方安全計算技術的錢包,它相當于為你的資產金庫雇傭了M個管家,每個管家都不能夠獨立打開金庫,而使用閾值簽名方案(TSS)相當于給你的金庫設置了一把需要N把鑰匙才能打開的鎖,那么MPCTSS錢包方案相當于提供了一個多角色金庫管理方案,M個管家中需要有N個管家同時提供他們所管理的鑰匙才能夠打開金庫。

CA是具備內部邏輯的以太坊賬戶,里面既可以是業務邏輯,也可以是賬戶邏輯,而后者就是智能合約錢包。Argent錢包使用的就是智能合約錢包,其開創了社會恢復這種模式,合約由內部邏輯代碼控制,其生成規則有CREATE和CREATE2兩種方式,這里不展開。

與EOA不同的是,CA和公鑰沒有必然對應關系。比如gnosissafe創建的CA里可以設定任意多把公鑰來解鎖它的地址對應的資產;當然CA也可以不設定任何密鑰,而是由其他CA的邏輯決定是否可以解鎖,比如DeFi的借貸合約,只要還了錢就能取回質押的資產。

以太坊上除ETH之外的所有資產都是由CA承載,DeFi等業務邏輯就更是全都由CA來實現。然而CA無法主動進行操作和支付gas的設定也限制了它的能力,早在2016年就有提案希望能讓CA自己支付gas。

目前來說,智能合約錢包沒有運行標準,所以每個項目都必須使用像以太坊加氣站網絡這樣的元交易解決方案,或者努力創建和管理自己的中繼服務,以及管理費用機制和審計他們復雜的智能合同。

智能合約錢包

顧名思義,智能合約錢包就是用CA作為地址的錢包方案,特點是具備內部邏輯,智能合約錢包可以實現很多EOA無法實現的功能,比如gas代付、批量交易、多重簽名、權限管理、離線授權和社交恢復等等。

V神:以太坊2.0最早可能于8月進行合并:5月20日消息,以太坊創始人Vitalik Buterin在2022年5月20日舉行的ETH Shanghai會議上表示,目前以太坊2.0正在進行最后的網絡測試,如果一切問題都被解決,合并最早可能在8月進行,如果出現其他狀況,也有可能在9月或10月發生。[2022/5/20 3:29:45]

合約賬戶是與簽名者分離的智能合約,它可以有自己的簽名和恢復邏輯。這意味著,如果您失去對Signer的訪問權限,并不一定意味著您失去了對帳戶的訪問權限。同樣,這就是AccountAbstraction這個名字的由來。賬戶是從簽名者那里抽象出來的。

目前以太坊的現狀是絕大多數人都在使用EOA錢包,因為目前以太坊中的所有交易都必須從EOA開始,EOA必須有一些ETH來支付gas,這使得新用戶無法快速進入。我們需要一種方案,來允許用戶使用包含任意驗證邏輯的智能合約錢包,這種方案稱為賬戶抽象。

簡單的來說,賬戶抽象的結果是:

過去你將錢存在以太坊EOA錢包地址上,受到各種EOA地址限制的同時享受擁有私鑰就擁有資產的簡單便捷;

現在你將錢存在以太坊智能合約地址上,你可以通過不管理私鑰的方式控制你的錢包資產,簽名者和賬戶本身的分離使得你可以在一個更低安全級別進行交易的操作,而將賬戶本身放置于更高的安全級別。

“賬戶抽象”的目標是將賬戶類型的數量從2種減少到1種,并將簽名驗證、gas支付和重放攻擊保護等功能從核心協議中移到EVM。一直以來,實現賬戶抽象都是許多以太坊開發者的努力方向,這一點從EIP的歷史可以看出。

EIP歷史

賬戶抽象的概念從2016年開始最早由Vitalik提出,2017年他本人發起了第一個提案。這么多年來,賬戶抽象相關的提案有非常多,其中最主要的解決方案是EIP-3074和EIP-4337。EIP-3074的提出比EIP-4337要早一年,但EIP-4337卻被納入了以太坊的新版路線圖,其主要原因是EIP-4337的實現要更為輕量,無需修改以太坊的核心協議,同時也沒有EIP-3074那樣的安全隱患。而EIP-4337存在的用戶遷移問題、Gas過高問題以及潛在智能合約安全問題是智能合約錢包的共通問題,Vitalik認為賬戶抽象最佳現實途徑是在短期內開始大力支持ERC-4337,然后隨著時間的推移添加EIP來彌補其弱點。

EIP-1014:這些轉發合約將根據它們的代碼被部署到一個特定的地址,引入了后來演變成EIP-1014的想法,提出了CREATE2操作碼。由于EIP-86需要對協議進行重大更改,最終沒有被合并,而EIP-1014于2018年合并。

2020年前5月以太坊上前七大DEX交易量已達25億美元:6月10日,Dappradar發布的最新報告顯示,在2020年的前5個月內,以太坊上排名前7位的去中心化交易所(DEX)交易總額已經到達25億美元。這一數字已實現了2019年一年的交易量。此外報告還指出:1.到2020年5月,交易者數量平均增加了38%;2.交易所中Uniswap占據領導地位,占有30%的市場份額;3.盡管IDEX的交易量在2020年的前幾個月內有所下降,但IDEX在5月以2億美元的交易量再次排名第二;3.HEX仍是Uniswap上交易量最大的代幣,占過去30天總交易量的40%;4.USDC是Kyber上的交易量最高的代幣,在過去30天內,USDC交易量占交易所總交易量的20%;5.最近30天內交易量占總交易量29%的UBT代幣在IDEX上排名第一。[2020/6/10]

EIP-2938:2020年9月,VitalikButerin、AnsgarDietrichs和MattGarnett提出了EIP-2938,該協議要求被識別為智能合約錢包的特殊智能合約將只接受賬戶抽象交易,這一新型交易由EIP-2718引入。他們將以編程方式設置交易的最大gas并實施任意驗證方法。EIP-2938需要在EVM中添加兩個新的操作碼才能使交易可行。這些操作碼顯著改變了核心協議,包含此類更改的過程可能會拖很長時間。

EIP-3074:2020年10月,AnsgarDietrichs和MattGarnett等人提出了EIP-3074,引入了兩個新的操作碼:AUTH和AUTHCALL。當一起使用時,它們允許智能合約代表EOA發送交易,這使得例如多重簽名、批量和贊助交易、密鑰恢復以及更易于訪問的CeFi交易所存款變得可能。但該EIP存在一些安全風險,受到了一些批評,新的操作碼還會修改核心協議,研究人員開始思考一個更好的解決方案,最終被提議為EIP-4337。

Optimism和Starknet都有自己的賬戶抽象實現,ArgentX是Argent在Starknet上的錢包版本,使用受EIP-4337啟發的自定義帳戶抽象實現。最近的例子是VisaCryptoAutoPaymentsonStarkNet,Visa的以太坊自動支付解決方案是利用賬戶抽象概念并創建一種新型賬戶合約——可委托賬戶,其主要想法是擴展交易的可編程有效性規則以包括預先批準的允許列表。簡單來說,賬戶抽象可以將用戶賬戶發起的自動支付操作委托給預先批準的自動支付智能合約。StarkNet的賬戶模型就是Visa目前所說的賬戶抽象,其實現受ERC-4337的啟發,抽象賬戶則會檢查交易是否來自給定地址。

聲音 | 以太坊開發者:可能還需很多年才能全面推出以太坊2.0:金色財經報道,根據最近的一篇官方博客文章,可能還需要很多年才能全面推出以太坊2.0,至少還需3-5年。以太坊開發者表示,實現以太坊 2.0還有很長的路要走。該團隊目前正專注于對Ethereum 1.x進行更多的增量升級,相關研究正在被分解成更小的更新,以確保原鏈在這個過渡時期仍然可操作。這篇文章寫道,現在的任務是“在升級到ETH 2.0之前,將原鏈的壽命至少再延長3-5年。”這種“延遲”的原因是多方面的,而且很復雜。此前有報道稱,以太坊2.0的“零階段”將于2020年第一季度推出。[2019/12/14]

Visa在StarkNet上實施賬戶抽象

EIP-4337:2021年9月,VitalikButerin與來自OpenGSN和Nethermind的以太坊研究人員吸取了以往努力的經驗教訓,提出了EIP-4337。EIP-4337添加了新的UserOperation內存池希望完全取代當前的交易內存池,從而實現賬戶抽象。用戶將UserOperation對象發送到以太坊節點,而不是交易,他們將一組這些對象打包成一個包含在以太坊鏈中的交易。這種打包交易稱為“入口點”智能合約,它處理UserOperation對象并為其部署智能合約錢包。

EIP-5792:2022年10月,MoodySalem提出了EIP-5792,該EIP添加JSON-RPC方法,用于從用戶錢包發送多個函數調用,并檢查其狀態。新方法在底層交易方面比現有交易發送API更抽象,以允許錢包實現之間存在差異,例如使用EIP-4337的智能合約錢包或支持通過EIP-3074捆綁交易的EOA錢包。Dapps可以使用這個更抽象的接口來支持不同類型的錢包而無需額外的工作量,并提供更好的用戶體驗來發送函數調用包。

EIP-4337詳解

在EIP-4337中,一共有6個組件:入口點合約、出納合約、用戶操作、打包器、發送人合約和聚合器。

EntryPoint:入口點合約處理傳遞給它的交易操作的執行和驗證。全局入口點合約接收來自各個Bundler的打包交易,并通過每個UserOperations來運行驗證和執行循環。

Paymaster:這是可選合約,可以代表用戶為交易支付gas。用戶可以不依賴他們的錢包,而是獲得由出納員贊助的交易費用。

UserOperations:這些是為代表用戶執行交易而創建的交易對象。執行發生在SenderContract確認之后。這些操作由Dapp生成。

聲音 | 以太坊聯合創始人:Facebook不應帶頭推動Libra加密貨幣項目:以太坊聯合創始人、Consensys創始人Joseph Lubin表示,Facebook不應帶頭推動Libra加密貨幣項目。“我非常喜歡Libra這樣的項目。(但)考慮到我們對Facebook的信任和個人身份數據的擔憂,我不認為Facebook應該推動這一項目。”不過,Lubin對穩定幣的前景仍然保持樂觀。(CNBC)[2019/11/5]

Bundlers:Bundler從內存池中獲取UserOperations,并將它們打包在一起以將它們發送到EntryPointcontract以供執行。

SenderContract:這些是智能合約形式的用戶錢包賬戶。

Aggregator:聚合器是錢包信任的輔助合約,用于驗證聚合簽名。

整個ERC-4337標準的運行邏輯包括兩個循環:驗證循環的執行循環,它們組合在一起完成了賬戶抽象的邏輯。

驗證循環:入口點合約通過每個UserOperation并調用SenderContract中的“檢查功能”。SenderContract運行此功能以檢查UserOperation的簽名并補償打包這些交易的Bunder。

執行循環:將每個UserOperation中的調用數據發送到SenderContract。錢包運行執行操作以執行操作中指定的交易。然后SenderContract將在操作執行后退還剩余的氣體。

在執行循環中,入口點合約必須在主執行調用后調用paymaster上的Post-op。它必須通過在內部調用環境中進行主要執行來保證Post-op的執行,并且如果內部調用環境回撤,則嘗試在外部調用環境中再次調用Post-op。

Vitalik總結認為,ERC-4337作為一個純自愿的ERC可以做很多事情。然而,在一些關鍵領域,它比真正的協議內解決方案更弱:

用戶遷移問題,現有用戶如果不將其所有資產和活動移動到新帳戶,則無法升級;

額外的gas開銷;

智能合約安全問題,它較少受益于協議內抗審查技術,該技術以交易為目標而會忽略用戶操作

而實現最佳效果的一條現實途徑,是在短期內開始大力支持ERC-4337,然后隨著時間的推移添加EIP來彌補其弱點。這并不一定需要大家專門承諾遵守ERC-4337。相反,可以將協議內支持設計為更通用,并支持ERC-4337及其替代方案和改進。目前ERC-4337的實現方案有Biconomy、SoulWallet和eth-infinitism,他們都編寫了自己的入口點合約實現方案,而入口點合約是該標準下智能合約安全的核心所在。

Vitalik提出了賬戶抽象的可能路線圖。

短期

將ERC-4337全面投入生產。理想情況下,可以使用簽名聚合功能對其進行擴展,以實現rollup友好性。

應該有接入ERC-4337的易于使用的瀏覽器錢包。

考慮實現簽名聚合和壓縮,以使ERC-4337對L2更加友好;

在L2協議中引導ERC-4337生態,其中gas成本問題會較少;

中期

實施Verkle樹,添加EIP以降低gas成本;

添加可選的EOA-to-ERC-4337轉換;

在提議者/建設者分離推出的同時或不久之后添加crList邏輯;

長期

考慮強制轉換,執行不規則的狀態轉換,將字節碼部署到每個可能是EOA的帳戶中,但這種方法的缺點是需要修改核心協議以及對于礦工/驗證者來說成本很高。

SevenXVentures對市場上的智能合約錢包進行了簡單掃描,收集整理了一些市場上比較主流的智能合約錢包項目,其綜合情況如下:

Unipass

UniPassWallet是一個支持郵件社交恢復的智能合約錢包解決方案。通過UniPassWallet,開發者可以在產品內提供流暢的免私鑰、免gas的用戶體驗,從而快速地吸引海量的Web2用戶。其特點是:免私鑰、抗審查、免gas、郵件恢復、隱私保護、多平臺和支持多鏈。

免私鑰、抗審查、郵件恢復和隱私保護的特性主要是由Unipass的秘鑰管理方案帶來的。UniPassWallet的合約賬戶中支持用戶設置多種類型的密鑰。已經支持的密鑰類型包括:

我們經常使用的外部地址,支持EIP-1271協議的合約賬戶。

UniPass的用戶還可以使用郵箱來作為密鑰。我們在鏈上部署的智能合約,可以通過DKIM來以密碼學的手段驗證用戶對于一個互聯網郵箱的所有權

在驗證過程中,UniPass采用了零知識證明技術,確保用戶郵件信息的隱私安全。

在未來,UniPassWallet還將考慮支持相比于secp256k1更高效更簡潔的簽名算法,后量子安全簽名算法等等。

秘鑰主要有三種角色:

Owner是賬戶的所有者。Owner控制賬戶的部署、升級、銷毀等核心功能,是賬戶的最高權限控制者。

Operator是賬戶資產的執行者。Operator負責賬戶的資產轉賬、合約調用、授權許可等功能,是用戶日常使用的密鑰。

Guardian是賬戶的守護者。當賬戶內的密鑰損毀或丟失,用戶失去賬戶控制時,可以通過guardian來恢復賬戶。UniPass提供的一大特色功能就是:鏈上郵件社交恢復。

在UniPassWallet的智能合約中,用戶是通過一系列具有角色權重的密鑰來管理賬戶的。除了以安全多方計算方案實現的Masterkey外,用戶還可以設置多種其他類型的密鑰。每一個密鑰都有一個對應的角色及權重。用戶只有在集齊了總角色權重門限超過要求的密鑰后,才可以獲得該角色的授權。

一個密鑰允許被賦予單個或多種角色。密鑰在被賦予某個角色的時候,會同時被設定對應的權重。而用戶要開始執行某身份的相關操作時,需要用該角色總權重達到100及以上的單把或多把密鑰進行簽名。例如在初始注冊賬戶時,用戶可以跳過守護者設置。相關參數可以設置如下:

免gas的特性是通過一個第三方relayer實現的,用戶發起交易時需要relayer幫助用戶發起交易。在這個過程中,relayer可以支持用戶使用任意代幣支付gas,甚至可以完全幫助用戶代付gas,實現免gas的體驗。Relayer是個開源的服務端程序,UniPass會運行默認的relayer,合作方或者任意第三方也都可以運行relayer。

Candide

CANDIDE是一群貢獻者,他們公開合作構建的公共產品,沒有單一的實體或公司控制其發展。CandideWalletBeta是一款自托管移動智能合同錢包。它目前部署在Goerli測試網上。它現在可以在AndroidTest和IOSTestflight上使用。

CandideBeta其技術基礎是Stackup分叉的ERC-4337實現和GnosisSafe的開源框架,其特性包括無助記詞、社會恢復、批量交易、免Gas費等。

其中,無助記詞、批量交易、免Gas費等特性其實現邏輯與ERC-4337的邏輯相同,采用eth-infinitism開發的入口點合約完成。Candide運行自己的打包器,將UserOperation打包為自己錢包的服務。該方案中,大部分的安全取決于入口點合約,而非錢包本身的構建。

此外,社會恢復的特性來源于Candide將Safe用于其基礎錢包合約。這讓Candide可以利用最受信任的DAO合約來管理數字代幣。Candide將使用GnosisSafe模塊化設計來交付其核心功能,包括社交恢復,以及未來的功能,如時間鎖定和取款限制。該社交恢復模塊與Unipass的邏輯相同,不同的是Unipass主要是郵件恢復,但Candide的守護人可以是任何具有公共地址的簽名者,如家人朋友、機構和硬件錢包。

早期的智能合約錢包都是根據非常具體的問題進行合約開發,如GnosisSafe的多簽以及Argent的社會恢復功能。早期的這些產品設計復雜,很多時候也不公開透明,且沒有形成統一的標準,很難作為中間件插入到其他的應用當中。對于這一類型的產品,其判斷標準更多需要從使用場景出發,有沒有抓住用戶的核心需求,如Safe的多簽功能就抓住了用戶的核心需求之一。

隨著ERC-4337的誕生,快速構建一個擁有無助記詞、批量交易、免Gas費的錢包變得非常方便,統一的標準也讓基于該標準構建的開發套件具有可組合性,能夠作為中間件插入不同的應用,并且保持互操作性。

因此,在考量早期的智能錢包方案的時候,能夠ERC-4337兼容是非常重要的一點。而對于基于ERC-4337的解決方案,由于技術大多是開源的,其考量方案建議圍繞以下幾點:

技術:入口點合約、打包器和聚合器的構建方案,以及除了ERC-4337帶來的功能以外的功能構建方案,如社會恢復功能

運營:如何構建社區、推向市場和贏得用戶

體驗:錢包使用用戶體驗是否足夠好,如流暢、穩定等

以及一些其他toC產品的主要考察邏輯

未來錢包的模式更有可能是類似B2B2C的模式。錢包作為一個C端產品存在的同時,更重要的是提供一套成熟的SDK方案用于其他應用集成為應用內錢包,再面向C端用戶。其中,打包器和聚合器在早期主要是中心化的構建方式,后面有可能形成模塊化的網絡,但由于這一塊是價值捕獲的核心,錢包采用他人構建的打包器網絡需要經過經濟收益的博弈。

Tags:以太坊GASUNIASSada幣和以太坊幣誰有價值點UGAS-JUN21幣unisat錢包怎么充值手續費Marvellex Classic

Fil
BAN:Bankless:加密貨幣空投的下一階段

原文作者:NathanSnell,Raleon聯合創始人兼首席執行官原文來源:Bankless 原文編譯:DeFi之道 每個人都喜歡空投,畢竟誰不喜歡免費的贈品呢?但從項目的角度來看.

1900/1/1 0:00:00
COIN:Coinw關于修復商戶掛單價格問題公告

親愛的CoinW商戶: 由于APP、H5掛單價格問題,目前正在加急修復中,暫時麻煩使用Web端進行掛單,給您帶來的不便敬請諒解。升級維護完成后,會第一時間告知大家.

1900/1/1 0:00:00
OIN:關于部分ETF產品合股的公告

尊敬的CoinW用戶: 幣贏CoinW將于2023年1月17日15:00(UTC8)進行YFII3S、AGIX4S、YGG4S、DYDX4S、STG4S、PSTAKE4S、GMT6S、APT6S.

1900/1/1 0:00:00
USD:迎新春,送好禮

春節將至,與BitVenus一起共賀佳節,領取專屬迎新福利!參與即可獲得獎品,總獎池高達53,000USDT!活動時間:2023年1月21日00:00-2023年1月27日23:59活動一:新用.

1900/1/1 0:00:00
VIP:VIP特權公告

尊敬的唯客用戶您好! 感謝您長期以來對WEEX唯客的支持,為提升服務質量,限時開放窗口,我們將為您配置24小時大客戶經理1V1服務,通過VIP通道解決您任何賬號問題.

1900/1/1 0:00:00
TAL:知情人士:Alameda曾對礦企Genesis Digital投資超5億美元用于購買股份

1月12日,據消息人士透露,AlamedaResearch對比特幣礦企GenesisDigital投資的11.5億美元資金中,只有大約一半用于該公司的運營.

1900/1/1 0:00:00
ads