私鑰存儲是最常見的安全漏洞之一。
導語: EIP-4337 標準化了智慧合約錢包及其相關基礎設施,創造了一個公共標準。 在提升用戶體驗方面,帳戶抽象錢包通過引入高級偽事務和分步處理的方式,提供了更靈活和可程式設計的功能。 它允許錢包在不更新乙太坊核心協議的情況下進行升級,並提供了更多的自定義選項。 總體而言,乙太坊的帳戶抽象錢包方案在用戶體驗和功能擴展方面具備更大的潛力,但在安全性方面仍需要不斷改進。
帳戶抽象目前仍處於早期階段,採用率較低,許多 Layer 2 尚未支援帳戶抽象,這些限制增加了用戶的學習成本和使用成本。
帳戶抽象錢包通過引入一層代理機制,旨在弱化個人錢包的准入門檻,同時提供更簡單易用的賬戶體系。 它以智慧合約作為錢包的載體,並在使用者與智慧合約之間加入代理方,代理方幫助使用者完成與區塊鏈的交互過程。 這樣,使用者可以使用傳統的賬戶體系(如郵件、手機等)進行操作,無需直接接觸私鑰助記詞等複雜概念。
筆者認為,在帳戶抽象中,安全性是至關重要的。 由於區塊鏈交易不可逆和不可篡改的特性,一旦使用者的帳戶被攻擊,就可能造成不可挽回的損失。 因此,在設計帳戶抽象錢包時,必須考慮到安全性的方方面面,包括帳戶的管理和使用、私鑰的存儲和保護、交易的確認和授權等等。
本期 Bing Ventures 研究旨在通過分析帳戶抽象錢包專案的安全邏輯與漏洞,探討如何平衡用戶體驗與安全,思考錢包抽象方案的未來發展方向。
帳戶抽象錢包的安全邏輯
乙太坊的帳戶抽象領域存在著多個技術改進和標準化倡議,如 EIP-4337 等。 這些提案推動了帳戶抽象錢包專案的發展和統一,為使用者提供了更一致和可靠的使用體驗。 帳戶抽象的發展主線是通過 ERC-4337 提供一種不需要共識層協議改變的方法來實現允許頂層乙太坊交易由合約而非外部擁有帳戶(EOA)發起的功能。 它通過在更高層的系統中複製交易 mempool 的功能,實現使用者操作的驗證和打包,並作為 “bundle transaction” 包含在乙太坊區塊中。
ERC-4337 的目標是實現錢包的靈活性和可升級性,包括多簽和社交恢復等功能,以及更高效和簡化的簽名演算法和后量子安全的簽名演算法。 帳戶抽象錢包的發展主線還包括對錢包驗證邏輯的靈活性,可以添加任意簽名和 nonce 驗證邏輯,並支援錢包的升級。
具體的安全邏輯包括:
- 驗證邏輯:帳戶抽象錢包通過驗證邏輯(如簽名和非 cesium 比較演算法)確保使用者操作的合法性和安全性。
- 入口点控制:为了保护钱包免受攻击,账户抽象钱包将复杂的智能合约技巧放在入口点合约中,并通过限制只有信任的入口点才能触发钱包的操作和费用支付。
- 独立的验证和执行层:账户抽象钱包的验证和执行分为两个函数,分别处理用户操作的验证和执行步骤,从而提高安全性和灵活性。
- 模拟执行和验证:用户操作的验证可以通过模拟执行来检查其合法性,确保其在实际添加到区块中时具有相同的效果,从而防止潜在的 DoS 攻击。
账户抽象钱包对于安全性和去中心化的重视是非常值得肯定的。通过采用多重签名、私钥存储和保护等技术手段,这些钱包应用致力于保障用户的资产安全和交易的可信度。然而,这些安全措施并非完全免疫于攻击和漏洞,因此仍需要持续的研究和改进。目前市场的关注焦点仍然是技术范式本身,而非用户体验的真正需求。
抽象钱包的安全隐患
私钥存储是最常见的安全漏洞之一。账户抽象钱包需要确保用户的私钥存储在安全的地方,并采取适当的措施保护私钥不受未经授权的访问。同时,网络攻击也是钱包抽象中的另一个关键问题。攻击者可能会利用钓鱼、恶意软件或其他手段获取用户的私钥,从而窃取用户的数字资产。
钱包通过合约复制内存池对交易进行处理,用户不再直接进行交易。用户通过钱包将 UserOperations 发送到更高级别的内存池,而矿工或捆绑者负责打包并发送到 Entry Point 合约,并协调钱包 CA 的执行,确保适当的交易费用补偿。这种方案通过限制只相信特定网关(Entry Point)发起的交易来保证钱包的安全性,并通过执行合约中的指令、支付 Gas 以及递增 Nonce 等来完成钱包的操作。通过受信任的 Entry Point 发起,合约钱包可以执行各种指令动作和 Gas 支付等操作,从而提供了更高度可编程的功能。
这种方法与传统的直接交易方式相比,将交易过程分成多个步骤,引入了额外的复杂性和开销。相比于共识层协议更改的提案(如 EIP-2938、EIP-3074),EIP-4337 在不修改底层协议和事务类型的情况下实现了较大程度的账户抽象。然而,这也导致了更多的 Gas 消耗和可能的安全漏洞。此外,与现有钱包协议工作流的不兼容性也会限制采用。
针对以上安全性问题,钱包抽象方案可以采取多种措施来提高安全性,同时保持良好的用户体验。例如,一些方案采用多重签名来确保交易的安全性。多重签名意味着需要多个用户的确认才能完成交易,这大大降低了攻击者成功攻击的可能性。此外,一些方案还采用硬件钱包来存储用户的私钥,以提高安全性。硬件钱包通常采用物理隔离的方式来保护私钥,从而防止私钥被窃取。
用户体验和安全性之间的平衡
在账户抽象钱包设计中,安全性应被视为首要考虑因素。虽然提供良好的用户体验很重要,但如果安全性存在缺陷,用户的资产可能会受到威胁。因此,钱包开发者应将安全性置于高度重视位置,采取严格的加密和身份验证措施,确保用户的私钥和资产不易受到攻击。那么,如何在安全性和用户体验方面取得平衡呢?笔者认为至少要权衡以下几点:
- **私钥管理:**账户抽象钱包需要安全地管理用户的私钥,以保护用户的资产免受潜在的攻击。这可以通过使用加密算法、硬件钱包和多重身份验证等安全措施来实现。然而,过于严格的安全措施可能导致用户体验的降低,例如需要频繁的身份验证步骤。在这方面,钱包需要找到一个平衡点,以确保私钥的安全性,同时提供简便的身份验证方式,使用户能够方便地访问其资产。
- **交易确认和速度:**账户抽象钱包需要提供及时的交易确认和快速的交易处理,以提供良好的用户体验。然而,在保证交易速度的同时,必须注意防止双重支付和其他欺诈行为。钱包可以采用技术措施,例如零确认交易和 AI 自动风险评估,来平衡安全性和交易速度之间的关系,确保用户的资产安全并提供快速的交易体验。
- **多链支持:**当前的趋势是向多链发展。在考虑采用账户抽象时,需要考虑不同生态系统对 AA 的采纳情况以及可能存在的差异,这会给不同链和虚拟机的 AA 实现带来不确定性。如果你是应用程序开发者,并且考虑采用 AA,那么你需要考虑在多链之间实现互操作性所需的工作量。未来账户抽象钱包需要支持多个区块链,以满足用户在不同链上的需求。然而,每个区块链都有其独特的安全性特点和用户体验要求。在平衡安全性和用户体验方面,钱包需要确保对每个链的安全性要求进行适当的满足,同时提供一致且直观的用户界面,以便用户可以轻松管理和交互不同链上的资产。
- **成本:**链上交易的成本是限制应用开发的重要因素。即使我们假设大多数交易将在二层发生且费用将得到补贴,规模化部署和升级可能仍然是昂贵的。特别是,升级钱包现在需要升级底层智能合约,这可能引入新的漏洞并带来高昂的费用。
账户抽象方案的未来
综合考虑用户体验和安全性因素,以太坊的账户抽象钱包方案在目前的发展和趋势上更具潜力。以太坊生态系统中的账户抽象方案,如 zkSync、Fuse Network 和 zkSafe 等,通过灵活、安全和易用的设计和实现,提供了更优质的用户体验。然而,对于以太坊账户抽象钱包方案也存在安全挑战和扩展性问题,包括智能合约的安全性风险和面对高交易负载时的扩展性挑战。需要注意的是,账户抽象市场仍处于早期阶段,采用率较低,因此需要创新和发展来推动市场的成熟和普及。
從短中期來看,帳戶抽象錢包通過引入無需許可的 Bundler、Paymaster 和 Signature Aggregator 公共端點,建立開放市場,讓使用者以最低費用獲取高品質的服務。 能否快速、定製化地部署 Bundler、Paymaster 和 Signature Aggregator 將考驗錢包基礎設施服務商的能力。 這些競爭將推動創新,提高安全性和用戶體驗。
同時,第三方基礎設施供應商(如 Stackup)將開發模組化的 Bundler 和 Paymaster,並逐步實現無需許可性。 另外,開發用於快速前端部署的腳手架工具迫在眉睫,讓開發人員能夠專注於業務邏輯的開發,如創建支持帳戶抽象功能的類似於 ether.js 的 dApp 開發標準庫,封裝諸如 Web2 社交媒體帳戶和電子郵件創建錢包、UserOperations 的創建、簽名、發送和事件監聽、快速部署 Paymaster 和 Signature Aggregator 等功能。 這些工具可以簡化開發者與不同錢包的集成過程。
從中長期來看,新的帳戶標準必然會出現,甚至有望將帳戶與智慧合約錢包分離。 這也意味著未來,帳戶抽象錢包市場中的競爭會更加激烈,功能同質化會越來越嚴重且技術壁壘會越來越低。 未來的帳戶抽象錢包需要更激進的創新,包括無需許可的模組化基礎設施、與現有服務的集成、dApp SDK 和獨立帳戶層等,從而實現更大的靈活性和使用者便利性。
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 本文內容僅用於資訊分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。