EIP-2938引入了一个名为“AA_TX_TYPE”的新交易类型。
本篇文章是关于账户抽象的介绍,包括所需步骤,未来计划,以及执行顺序的重要性。最终目标:帮助实现更加灵活和无缝地与以太坊进行交互的方式。
有三种方法可以实现这一点:
1)升级外部拥有的账户(EOAS),使其可以由智能合约控制。
2)升级智能合约,使其能够发起交易。
但是这两种方法都需要对以太坊进行修改...
...因此引入了第三种解决方案。
3)添加一个独立的交易系统,与现有协议并行运行。
无论选择哪条路径,结果都是智能合约钱包将负责与以太坊进行交互。
好处显而易见:
那么为什么你还没有看到这些好处呢?
因为1)和2)目前还没有实现,它们的功能还没有本地支持 —— 只有外部拥有的账户(公钥/私钥对)可以发起交易。
EIP-4337是路线图上我们所处的位置 —— 在不改变以太坊协议的情况下实现账户抽象。
然后,这些“UserOperation”对象被广播到专用的内存池,验证者可以将它们收集到一个捆绑交易中(一系列可以包含在区块中的“UserOperation”序列)。
实际上,这种工作方式是这样的:每个钱包不再需要重新实现常见但复杂的安全逻辑,而是将这些功能外包给一个全局钱包合约,称为入口点。
然后,入口点支付燃气费用并执行EVM代码。
现在这已经实际运行了,下一步是EIP-2938 —— 改变以太坊协议以支持账户抽象。
由于这需要对以太坊进行修改,目标是允许合约成为顶级账户,可以:
这一功能尚未实际投入使用。
EIP-2938引入了一个名为“AA_TX_TYPE”的新交易类型,包括3个字段:
为了执行这种新类型的交易,必须向EVM添加两个新的指令(操作码):
这将使智能合约钱包能够接受用户的免费元交易,并在不依赖中继网络的情况下为其支付燃气费用。
你可能会认为这不是什么大不了的事情,因为现在智能合约钱包的功能已经非常先进了,但是...
...先进的钱包功能需要使用复杂的智能合约。
a)要么您需要具备燃气的EOA来与其交互
b)要么您依赖于提供者通过提供者的中继来支持元交易
而基于中继的架构有三个主要缺点:
1)它们可能被视为可以审查交易的中心化方
2)它们需要额外的21000基本燃气费用,以便在燃气费用之上获利
3)它们迫使应用依赖于非基础层以太坊基础设施
现在到了第三步 -> 使用EIP-3074升级外部拥有的账户(EOAs)以支持AA。
这将允许燃气赞助和批处理交易,因为智能合约现在将能够批准和执行源自EOAs的交易逻辑。
这项改进的要求包括向EVM添加两个新的操作码: