深入探讨账户抽象及其对以太坊交互方式的革新,介绍其实现步骤、前景以及执行次序的重要性
原文作者:ipor_intern
原文来源:Twitter@ipor_intern
编译:MarsBit,MK
关于账户抽象的快速概述,所需步骤,前进之路以及执行顺序的重要性。
终极目标:为与以太坊的互动提供更加灵活和无缝的方式
有三种方法可以实现这一目标:
1)升级EOAS,使其可以由智能合约控制。
2)升级智能合约,使其能够发起交易。
但这两种方法都需要对以太坊进行更改
因此引入了第三种解决方案。
3)添加一个与现有协议并行运行的独立交易系统。
不管选择哪条道路,结果都是智能合约钱包将负责与以太坊进行互动。
- 前两种选项需要本地支持
- 第三种选项需要附加的交易网络
其优势明显:
- 定义自己的安全规则(账户恢复,设备或个人之间的受信任安全模型...)
- 气体补贴
- 交易批处理(例如,一次批准和交换)
那么,为什么您还没有看到这些好处呢?
因为1)和2)尚未到来,它们的功能尚未得到本地支持 - 只有EOAS(公共/私有密钥对)可以发起交易。
- 你有一个私钥吗?你可以做任何事情
- 你没有私钥吗?你什么都做不了
EIP-4337是我们在路线图上的位置 - 无需改变以太坊协议的账户抽象。
- 无需更改共识层
- 一个新层与标准流言协议并行运行
这个更高级的系统建立在一个名为UserOperation的新对象周围,它负责将属于用户的操作与相关的签名一起打包。
然后,这些UserOperation对象被广播到一个专用的内存池中,验证者可以将它们收集到一个捆绑交易中(一系列可以包含在一个区块中的UserOperation)
在实际操作中,这项工作的方式是,与其每个钱包都重新实现常见但复杂的安全逻辑,不如将这些功能外包给一个名为入口点的全局钱包合约
然后,入口点支付燃气费用并执行EVM代码
既然这已经实施,下一步就是EIP-2938 - 改变以太坊协议以支持账户抽象
由于这需要对以太坊进行更改,目标是允许合约成为顶层账户
- 支付费用
- 开始交易执行
但尚未实施
EIP-2938引入了一个名为AA_TX_TYPE的新交易类型,其中包括3个字段
- 随机数 -> 交易计数器
- 目标 -> 入口点合约的地址
- 数据 -> EVM字节码
为了执行这种新类型的交易,必须向EVM添加两个新指令(操作码)
- 随机数 -> 跟踪交易序列
- PAYGAS -> 计算并从合约余额中提取执行交易所需的燃气
这将使智能合约钱包能够接受用户的无燃气元交易,并在不依赖中继网络的情况下支付燃气费用。
您可能会认为这是一个无足轻重的事情,因为智能合约钱包的先进性,但是先进的钱包功能需要使用非平凡的智能合约。
a)您需要一个带有燃气的EOA与其互动
b)或者您依赖于提供商通过提供商的中继器来支持元交易
而基于中继器的架构有三个主要缺点:
1)它们可能被视为可以审查交易的中央方
2)它们需要额外的21000基本燃气费用,以从燃气费用中获利
3)它们迫使应用程序依赖于非基础层以太坊基础设施
现在到第三步 -> 使用EIP-3074升级EOA以支持AA
这将允许智能合约批准并执行源自EOA的交易逻辑,从而实现燃气赞助和批量交易。
要求包括向EVM添加两个新的操作码:
- AUTH -> 基于ECDSA签名设置一个上下文变量授权。
- AUTHCALL -> 以授权帐户的身份发送调用,即将对外部拥有的帐户(EOA)的控制委托给智能合约。