转发原文标题:EIP-3074: Risks/Opportunities for Smart Account Adoption (and why we need EIP-5003)
以太坊的账户抽象之路正迎来关键转折点。随着ERC-4337的部署完成,EIP-3074的出现为全面实现账户抽象开辟了新路径。但我们也面临着将外部账户(EOA)过度神化的风险。为了确保以太坊朝着智能账户的正确方向发展,在即将到来的Prague/Electra硬分叉中同时引入EIP-3074和EIP-5003显得尤为重要。这将为完整的账户抽象搭建稳固的过渡桥梁,避免生态碎片化,引领以太坊安全地迈向智能账户的未来。
文章摘要
以太坊核心开发者已确定将在2024年第四季度至2025年初的Prague/Electra硬分叉中整合EIP-3074。该提案允许外部账户(EOA)将其交易权限委托给智能合约,从而支持交易赞助和批量处理等功能。虽然EIP-3074是提升EOA用户体验的短期解决方案,但社区普遍认同最终目标是将所有用户迁移到智能账户。EIP-3074为智能账户带来了一些改进,但要实现完整的账户抽象,必须配合EIP-5003共同实施。否则,我们可能会进一步强化EOA的主导地位。
EIP-3074的核心机制
EIP-3074通过修改以太坊协议,允许EOA将其交易权限委托给智能合约(称为”调用者”),从而实现了多项新功能:
交易赞助功能让dapp或其他方能够为用户支付gas费用;批量交易允许在同一笔交易中执行多个合约调用,比如同时完成approve和transferFrom操作;访问委托功能使用户可以将账户控制权委托给具有不同安全属性的密钥,例如添加一个带有每日限额的手机热钱包密钥。
这些原本只有智能账户才能实现的功能,现在通过EIP-3074也能让EOA用户享受到。这意味着开发者不再需要为EOA和智能账户设计两套不同的用户体验。
智能账户的新机遇
虽然EIP-3074主要增强EOA功能,但它也为智能账户带来了显著的附带优势:
迁移过程变得更加简单。过去用户转向智能账户面临的主要障碍是资产迁移的工作量和gas成本,现在通过EIP-3074可以在单笔赞助交易中完成批量迁移。同时,dapp开发者能够打造更统一的使用体验,无需将EOA用户排除在外。这大大提升了采用赞助交易和批量处理等功能的积极性,也使会话密钥或多重签名等智能账户功能更容易融入现有开发框架。
更有趣的是,EOA现在可以将智能账户设为调用者。例如,一个Safe智能账户可以控制EOA,同时保留EOA私钥的最高权限,随时可以撤销Safe的控制权。这种混合托管模式创造了新的应用场景,也让EOA用户可以在完全迁移资产前先”试用”智能账户。
EIP-5003:弥合与智能账户的差距
虽然EIP-3074允许将EOA控制权委托给智能账户,但原始私钥仍保留全部操作权限。这导致EIP-3074无法实现某些关键安全功能:
多重签名验证和链上多因素认证仍需依赖智能账户;账户恢复方案受到限制,因为无法通过EIP-3074轮换控制EOA的主私钥;量子抗性问题最终仍需通过智能账户来解决,无论是自然演进还是通过紧急硬分叉实现;其他如黑名单、联合签名者/守卫、回退处理等需要灵活签名方案的用例也无法实现。
为此,我们提出了EIP-5003作为可行的迁移路径。该升级扩展了EIP-3074,允许在EOA地址上部署智能合约代码,同时撤销原始私钥的访问权限。这使得EOA能完全转换为智能账户,保留原有地址、绑定代币和不可转移的声誉,并确保与未来账户抽象路线图的兼容性。
不过,这一升级路径也存在一些值得关注的问题:
跨链场景中,被撤销的EOA密钥在其他网络(包括未来可能出现的新网络)上仍然有效。这意味着持有原始私钥的人可能在别的网络上控制同一账户并转移资产。如果EOA在特定网络迁移为智能账户,不应假设它会自动在新网络完成迁移。类似keystore rollups的跨链方案可能部分缓解这一问题。
在链下签名场景中,被泄露的密钥仍可能被滥用,比如用于dapp登录过程或permit2代币授权。虽然这些系统可能支持智能合约签名标准如EIP-1271,但它们通常默认在标准ecrecover失败时才使用,为被撤销密钥的滥用留下了空间。作为EIP-5003的一部分,对于已迁移的EOA,ecrecover应始终失效,确保迁移到智能账户是彻底且不可逆的身份验证逻辑变更。
EIP-3074对账户抽象的影响
过去几个月,社区逐渐将ERC-4337视为实现完整账户抽象的第一步。它帮助建立了开发者生态,稳定了捆绑器规范和相关工具,积累了宝贵经验。后续计划在L2实施原生账户抽象(RIP-7560),最终将类似提案引入L1。
ERC-4337初期存在预期过高的问题,但这有助于凝聚社区力量并吸引开发者。现在有积极迹象表明我们正接近转折点,主流交易所如OKX、Coinbase和钱包如Trust、Metamask都已开始支持ERC-4337。但过高的期望也意味着我们需要面对现实:通过RIP-7560等方式实现完整账户抽象所需的时间可能比最初预期的更长,因为目前L2对RIP-7560的需求和紧迫性仍然有限。
与账户抽象相关的以太坊标准/升级各自处于不同的发展阶段
这也是社区开始关注EIP-3074的原因之一。由于用户向智能账户迁移的过程看起来遥遥无期,部分声音主张至少在此期间先改善EOA的体验。EIP-3074并非要取代ERC-4337,实际上它们是<a href="https://notes.ethereum.org/@yoav/eip-3074-erc-4337-synergy”>互补关系,但它确实可能分散社区对ERC-4337/RIP-7560的关注度。
要实现完整账户抽象,我们需要找到将现有EOA迁移到智能账户的方法。考虑到EOA仍占以太坊用户的绝大多数,这直接影响着开发者和团队的优先级。迁移路径主要有两种:(1)用户主动切换到智能账户,或(2)提供将EOA转换为智能账户的技术方案。
引入EIP-3074的风险在于,它可能使我们离完整账户抽象更远。它增强了EOA的功能,对第一种迁移路径产生负面影响,同时并未真正解决第二种方案。
如果没有EIP-5003,EIP-3074缺乏通向完整账户抽象的明确路径,总体上对账户抽象的采用可能产生负面影响。更值得警惕的是,在Prague/Electra硬分叉后,开发重点将转向verkle树,未来两年可能都不会再有涉及账户抽象的升级窗口。因此,我们必须在Prague/Electra硬分叉中同时引入EIP-5003,防止EOA被进一步固化。
EIP-3074对账户抽象路线图的影响,比较有/无EIP-5003的情况
总结与展望
关于EIP-3074的讨论标志着以太坊账户抽象发展历程中的关键时刻。
原始账户抽象路线图设想通过ERC-4337进行应用层实验,通过L2的RIP-7560展示原生实现,最终将原生账户抽象引入L1。同时通过迁移方案(EIP-5003、EIP-7377或强制迁移)解决遗留EOA问题。这条路径可能耗时远超预期,且受到EOA主导地位的阻碍。
理想方案是在实施EIP-3074的同时,在Prague/Electra硬分叉中包含EIP-5003,为完全迁移到智能账户提供途径。这样既不会抛弃传统用户,又能确保他们不会阻碍账户抽象的进程。
最坏情况是仅实施EIP-3074,冒着进一步神化EOA的风险,至少会严重延缓智能账户的普及。
以太坊账户抽象发展路线的关键抉择(感谢Vitalik的改进建议)
声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/13506.html