涉3074、4337、5003这三个账户抽象的提案可能会彻底改变人们与Web3的互动方式。最新提出的EIP-7702提案可能是以太坊历史上最重要的变化之一。这篇文章将介绍这个新提案的工作原理和需要了解的内容。
首先,EIP-7702提案非常简短,这让一些人感到困惑,不知道它是如何运作的。为了理解7702,我们首先要了解其中提到的另外三个提案:EIP-4337、EIP-3074和EIP-5003。这些提案的共同目标是“账户抽象”,即解决以太坊上普通账户的风险和功能有限的问题,允许用户使用智能合约作为账户,以添加更多功能和安全性。
EIP-4337在2023年3月上线,它允许像账户一样编写智能合约,以便它们可以验证和执行交易,从而改善用户体验。这个提案得到了广泛的采用,主要由Polygon主导,相关活动也在增多。最新的创新来自Coinbase生态和Coinbase智能钱包,它基于生物识别技术,用户体验非常棒。
然而,EIP-4337存在一些问题。因为无法将用户的普通账户转换为智能合约账户,所以需要一种奇怪的中间步骤解决方案。大多数人仍然使用普通账户,通过MetaMask等插件钱包连接智能合约账户。
接下来是EIP-3074提案,它试图赋予普通账户更多权力,允许它们将控制权委托给智能合约。该提案添加了两个新的操作码:AUTH和AUTHCALL。这实现了与EIP-4337相同的用例,而无需每个用户部署新的智能合约。
然而,对于EIP-3074的一个常见反应是担心用户可能会将控制权委托给恶意合约,导致资产被盗。为了解决这个问题,钱包服务提供商可以限制用户只能授权给白名单中的智能合约。
另一个提案是EIP-5003,它添加了一个名为AUTHUSURP的操作码,将代码部署在EIP-3074授权地址上。EIP-5003与EIP-3074的区别在于它实现了从普通账户永久迁移到智能合约账户的功能。
最后,Vitalik Buterin提出了EIP-7702提案,修改EIP-3074使其更精简并与EIP-4337更兼容。这个提案引入了一种新的交易类型,同时接受contract_code和签名字段,在交易执行期间临时将合约代码设置为签名者账户的合约代码。这个提案与EIP-4337的工作高度兼容,可以让现有的普通账户执行任何智能合约代码。
总之,这些提案的目标是改变人们与Web3应用的互动方式,为普通账户添加更多功能和安全性。EIP-7702提案可能是以太坊历史上最重要的变化之一。