风险提示:防范以虚拟货币/区块链名义进行的非法集资风险。 ——银保监会等五部门

一文解读帐户抽象:允许以更灵活、无缝的方式与以太坊交互

白话区块链 2023-08-09 14:36:05
微信分享

扫码分享

本文介绍了账户抽象的重要性与实现方法,强调了智能合约钱包在与以太坊交互中的关键作用。通过改进与升级,以太坊交互将变得更加灵活与高效。

作者:@ipor_intern / 来源:https://twitter.com/ipor_intern/status/1688497725103624193

翻译:火火/白话区块链
 

本篇文章是关于账户抽象的介绍,包括所需步骤,未来计划,以及执行顺序的重要性。最终目标:帮助实现更加灵活和无缝地与以太坊进行交互的方式。

 

 

 

有三种方法可以实现这一点:

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)的控制权委托给智能合约。

 

 

 

 

白话区块链

区块链世界入口第一站,人人都能看懂的区块链;24 小时热点实时追踪。