作者:@ipor_intern
本篇文章是关于账户抽象的介绍,包括所需步骤,未来计划,以及执行顺序的重要性。最终目标:帮助实现更加灵活和无缝地与以太坊进行交互的方式。
有三种方法可以实现这一点:
1)升级外部拥有的账户(EOAS),使其可以由智能合约控制。
2)升级智能合约,使其能够发起交易。
但是这两种方法都需要对以太坊进行修改...
...因此引入了第三种解决方案。
3)添加一个独立的交易系统,与现有协议并行运行。
无论选择哪条路径,结果都是智能合约钱包将负责与以太坊进行交互。
- 前两个选项需要本地支持。
- 第三个选项需要一个附加的交易网络。
好处显而易见:
- 定义自己的安全规则(账户恢复、在设备或个人之间建立可信的安全模型等)
- gas补贴
- 交易批量处理(例如一次性批准和交换)
那么为什么你还没有看到这些好处呢?
因为1)和2)目前还没有实现,它们的功能还没有本地支持 —— 只有外部拥有的账户(公钥/私钥对)可以发起交易。
- 你有一个私钥吗?你可以做任何事情
- 你没有私钥吗?你什么也做不了
EIP-4337是路线图上我们所处的位置 —— 在不改变以太坊协议的情况下实现账户抽象。
- 无需改变共识层
- 新的层与标准的传播协议并行运行
- 这个更高级的系统围绕着一个称为“UserOperation”的新对象构建,该对象负责打包属于用户的操作以及相关的签名。
然后,这些“UserOperation”对象被广播到专用的内存池,验证者可以将它们收集到一个捆绑交易中(一系列可以包含在区块中的“UserOperation”序列)。
实际上,这种工作方式是这样的:每个钱包不再需要重新实现常见但复杂的安全逻辑,而是将这些功能外包给一个全局钱包合约,称为入口点。
然后,入口点支付燃气费用并执行EVM代码。
现在这已经实际运行了,下一步是EIP-2938 —— 改变以太坊协议以支持账户抽象。
由于这需要对以太坊进行修改,目标是允许合约成为顶级账户,可以:
- 支付费用
- 开始交易执行
这一功能尚未实际投入使用。
EIP-2938引入了一个名为“AA_TX_TYPE”的新交易类型,包括3个字段:
- Nonce -> 交易计数器
- Target -> 入口点合约的地址
- Data -> EVM字节码
为了执行这种新类型的交易,必须向EVM添加两个新的指令(操作码):
- NONCE -> 用于跟踪交易序列
- PAYGAS -> 用于从合约余额中计算并提取执行交易平台需的燃气费用
这将使智能合约钱包能够接受用户的免费元交易,并在不依赖中继网络的情况下为其支付燃气费用。
你可能会认为这不是什么大不了的事情,因为现在智能合约钱包的功能已经非常先进了,但是...
...先进的钱包功能需要使用复杂的智能合约。
a)要么您需要具备燃气的EOA来与其交互
b)要么您依赖于提供者通过提供者的中继来支持元交易
而基于中继的架构有三个主要缺点:
1)它们可能被视为可以审查交易的中心化方
2)它们需要额外的21000基本燃气费用,以便在燃气费用之上获利
3)它们迫使应用依赖于非基础层以太坊基础设施
现在到了第三步 -> 使用EIP-3074升级外部拥有的账户(EOAs)以支持AA。
这将允许燃气赞助和批处理交易,因为智能合约现在将能够批准和执行源自EOAs的交易逻辑。
这项改进的要求包括向EVM添加两个新的操作码:
- AUTH -> 基于ECDSA签名设置一个授权的上下文变量
- AUTHCALL -> 以授权账户的身份发送调用,即将对外部拥有的账户(EOA)的控制权委托给智能合约。
本文链接:https://www.hellobtc.com/kp/du/08/4600.html
来源:https://twitter.com/ipor_intern/status/1688497725103624193