文/Jake &;《BanklessDAO》作者Stake翻译/区块链家园小邹
经过最近对OpenZeppelin的审计,ERC-4337的“入口点”合同在主在线上,所以你可以在你周围的EVM上使用帐户抽象。
但是什么是账户抽象呢?为什么帐户抽象很重要?
首先介绍一些背景知识。今天,以太坊有两种类型的账户:
外部帐户(EOA)。外部账户是以太坊用户最熟悉的账户。它们用于发送交易、与DeFi应用程序交互或买卖NFT。MetaMask、CoinBase等钱包应用等产品为用户提供了可用的EOA。这些帐户启动交易,并拥有授权交易的私钥(通过生成ECDSA签名)。
合同账户。这些是不受私钥控制的智能合约帐户。它们有一个关联的代码,当用户发送一个有效的事务时,代码将执行该事务。合约账户不能自行发起交易。为了将数据写入区块链,必须对交易进行签名,而契约帐户无法做到这一点,因为它们没有私钥。
账户抽象的目的不是使用EOA发起交易,而是允许用户使用合约账户执行交易,开放账户的设计和定制。
用户可以为他们的抽象帐户实现任何授权逻辑。
多重签名
非ECDSA验证
优化的隐私解决方案
想要提款限额吗?当然可以!
如果您丢失了私钥,想要恢复您的帐户吗?当然可以!
想使用您选择的ERC20代币支付交易吗?当然可以!
账户抽象的概念至少在2017年就已经出现,并且已经有了一些实现的尝试。
EIP-86
EIP-2938
EIP-3074
然而,上述每个协议都需要共识改变,并且一些关于可伸缩性的现有共识层更新是优先的。所以,只有沿着这个方向继续,才能看到协议层面的账户抽象。
然而,EIP-4337(现在的ERC-4337)没有共识层变化。相反,4337引入了一个智能合约系统和一个名为“UserOperations”的假交易。
用户操作用户操作由用户提交到用户操作内存池,并由“捆绑器”收集到“捆绑事务”中。这些捆绑商可以是选择处理这些交易的砌块倡议者或砌块建造者。Stackup、Alchemy、Biconomy、Blocknative、Etherspot和Candide Wallet等实体已经构建并部署了捆绑器。
捆绑的交易被发送到名为“EntryPoint”的智能合约,该智能合约通过指定的智能合约钱包验证每个用户操作。这些钱包必须满足两个功能:
验证用户操作(验证用户操作)
执行(执行)
EntryPoint契约将调用每个智能契约wallet的validateUserOps来确定交易是否有效。智能合约可以随意实现这一功能,并支持上述部分可定制性。
或者,入口点契约可以使用签名聚合器。抽象账户信任这个契约来创建一个UserOperation签名,这个签名也被Bundlers用来创建一个“aggregateSignsignature”,这是多个用户操作的签名。这将许多签名转换为一个值,并压缩验证所需的数据。这对于rollup尤其有用,因为它占用了大部分数据开销。
EntryPoint协定将使用此聚合器协定来验证“handleOps()”进程中的聚合签名。
如果UserOperation有效,EntryPoint将在抽象帐户上调用execute来执行所需的操作。请注意,这些“抽象账户”是智能合约。
切入点合约只有一个,这也是为什么Openzepplin的审计是个大新闻。该合同将作为所有这些抽象账户的中央信托锚。
入口点契约将用户操作的验证和执行过程分开。契约使用两种途径来验证用户操作。
手柄操作
handleAggregatedOps
以上两个函数都会用UserOp提供的参数创建一个账户(比如没有账户),用指定的抽象账户验证UserOp。
最后,EntryPoint契约将通过调用帐户上的“execute”来执行UserOp,并将UserOp的calldata作为参数传入。然后,该帐户使用给定的参数执行任何编程操作。
基于EntryPoint的方法明确分离了验证和执行过程,允许执行帐户处理。所有这些使用户能够以可预测和微妙的方式与帐户进行交互,而无需帐户所有者发起交易。
PaymastersERC还引入了“paymaster”的概念。这是一份通过支付ETH来支持用户交易的合同。作为交换,用户通过向Paymaster发送预先指定的ERC-20令牌来支付交易费用。
以上是ERC-4337的总结。还有很多很酷的细节我们没时间讨论,比如模拟,绑定规范,第一次创建账号。
结论对于以太坊的用户来说,这是用户体验的巨大提升。DApp可以支付用户的燃气费,这是非加密原生用户进入加密世界的好工具。交易可以批量处理(不再有“10次点击交易”)和“paymentsessions”,这样你就不再需要批准每一笔交易。
帐户抽象可以提高隐私工具的有效性,允许用户使用任何他们想要的令牌支付交易,并允许用户在不处理私钥的情况下与区块链进行交互。如果你今天丢了你的私人钥匙,那就意味着你的钱也丢了。
在帐户的抽象世界中,丢失私钥并不意味着失去一切。
请特别注意围绕Visa的兴奋。他们的团队通过使用基于拉动的交易和自我管理的钱包,发布了自动支付设计。对于那些希望利用区块链定期支付补充服务的公司来说,这一直是一个巨大的问题。
在过去,支付必须由付款人发起,但通过帐户抽象,服务提供商可以对他们的服务收费,而无需您亲自进行交易。就像自动支付信用卡账单一样。该帐户甚至可以被编程为随时接收发票,因此您可以设置订阅该服务的时间限制。
可以配置钱包,这样您就可以有一个备份帐户,并允许更改某些服务。用户甚至可以在不知情的情况下与区块链互动。帐户创建可以由帐户发起人处理,所有用户需要做的就是用web2类型的用户体验来管理他们的钱包。
简而言之,帐户抽象为以太坊的安全性和去中心化增加了实用性。这是一个大项目,我们才刚刚开始。
温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信(j7hr0a@163.com),我们会及时处理和回复。
原文地址"区块链观察 | 一文看懂ERC-4337账户抽象":http://www.guoyinggangguan.com/qkl/176708.html。
微信扫描二维码关注官方微信
▲长按图片识别二维码