找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4016

积分

1

好友

548

主题
发表于 15 小时前 | 查看: 4| 回复: 0

现在,我们终于可以深入聊聊账户抽象(Account Abstraction, AA)这个话题了。自2016年提出最初的 EIP-86 以来,社区历经多年探索,如今迎来了一个集大成的综合性提案——EIP-8141 提案。它不仅总结了AA旨在解决的所有遗留问题,甚至走得更远。

那么,EIP-8141究竟做了什么?核心在于一个叫做“帧交易”(Frame Transaction)的概念。这个设计在保持高度通用性的同时,又追求极致的简单性。一个交易就是 N 个“帧”(Frame),即一连串的调用。这些调用能够互相读取 calldata,并且能够分别指定交易发送者Gas费用支付者。在协议层面,这就是它的全部。接下来,我们看看如何用它来解决实际问题。

从普通账户到合约账户

首先,看一个最常见的场景:一个“来自普通账户的普通交易”。例如,一个多重签名账户、一个可以轮换密钥的账户,或者一个采用抗量子计算签名方案的账户。这样的交易将由两个帧构成:

  • 验证帧:负责检查签名,并使用 ACCEPT 操作码返回结果,其中设置的标志位会表明是否批准该发送者以及是否愿意支付 Gas。
  • 执行帧:执行用户想要的实际操作。你甚至可以拥有多个执行帧,这使得像“先授权后消费”这样的原子操作变得轻而易举。

如果目标账户在链上还不存在呢?那么你只需在最前面再添加一个“部署帧”。这个帧会调用一个代理合约来创建账户。这里,EIP-7997(确定性工厂预部署合约)会很有用,因为它能确保合约地址在不同的区块链网络间保持一致。

用任意代币支付 Gas(无中介版)

现在,假设你想用 RAI(一种稳定币)而不是 ETH 来支付 Gas 费用。你需要使用一个 Paymaster 合约,它本质上是一个专用的链上去中心化交易所(DEX),可以实时将 RAI 兑换成 ETH。此时,交易的帧结构如下:

  1. 部署帧(如果需要)
  2. 验证帧ACCEPT 仅批准发送者身份,但不批准支付 Gas)
  3. Paymaster 验证帧(Paymaster 合约检查紧随其后的操作是否向自己发送了足额的 RAI,并且确保最终的 ACCEPT 操作确实存在)
  4. 向 Paymaster 发送 RAI 帧
  5. 执行帧(可以是一个或多个)
  6. Paymaster 退款帧(Paymaster 将未使用的 RAI 退回,并完成向 ETH 的兑换,用于支付链上 Gas)

这与现有的“赞助交易”机制实现的效果相同,但关键区别在于无需任何链下中介!最小化中介是构建一个“不那么丑陋的赛博朋克以太坊”的核心原则:即使全球所有除以太坊本身之外的基础设施都崩溃了,你依然能最大程度地进行操作。

实现链上隐私支付

对于隐私协议,EIP-8141 提供了两种策略。第一种,可以设计一个特殊的 Paymaster 合约,它负责验证一个有效的零知识简洁非交互式论证(ZK-SNARK)证明,如果验证通过,就代为支付 Gas。第二种,可以引入二维 nonce(参见 RIP-7712),这允许单个账户作为隐私协议的入口,并行接收和处理来自多个用户的交易。

本质上,帧交易机制极其灵活,几乎能够满足所有你能想到的用例。

安全性与内存池规则

那么,它安全吗?在链上执行层面,答案是肯定的,规则很明确:一个交易必须包含一个返回带有支付 Gas 标志的 ACCEPT 的验证帧,才是有效且可被区块包含的。

更具挑战性的问题在于交易内存池层面。如果一个交易的帧首先调用了 10,000 个外部账户,并在任何一个账户状态不符时就拒绝,那么这种交易是无法安全地在点对点网络中广播的。但上面列举的所有例子都是安全的。这里引入了一个与比特币“标准交易”类似的概念:链本身只强制执行一套非常基础的规则,但在内存池层,节点可以(并且应该)实施更多限制性规则。

目前已经识别出一些特定的、已知安全的规则集(例如,“验证帧必须在执行帧之前,且不能调用外部合约”)。对于 Paymaster,社区已经深入思考过一种质押机制,能以非常通用的方式限制拒绝服务(DoS)攻击。

实际上,当 EIP-8141 推出时,预计会有两种内存池:一种是保守的默认内存池,另一种是可选的、规则更激进的内存池。前者的规则会随着时间推移逐步放宽。对于隐私协议的用户来说,这将意味着我们可以完全移除像 RailgunTornado Cash 等协议中导致巨大用户体验痛点的“公共广播者”角色,取而代之的是一个通用的公共内存池。

以太坊(Ethereum)标志

与其他技术的协同与未来展望

EIP-8141 还与 FOCIL(快速包含保证)高度互补:FOCIL 确保交易能被快速打包进区块,而 AA 则确保人们想要进行的所有复杂操作都能以“一等公民”交易的形式直接执行。

另一个有趣的话题是 EOA(外部拥有账户)兼容性。这在原则上是可以实现的,目标是让所有现有账户也能融入同一框架,获得批量操作、交易赞助等能力,并充分享受 FOCIL 带来的益处。

最后,经过十多年的研究和技术打磨,这一切看起来有望在一年内(或许是通过 Hegota 硬分叉)成为现实。这无疑是 以太坊 发展史上的一个重要里程碑。

对于开发者而言,理解这些底层协议的演进至关重要。如果你想深入探索相关技术细节和实现,可以访问我们的 技术文档 板块,那里有更多系统性的资料和社区讨论。




上一篇:深度剖析以太坊EVM升级:状态树变革与RISC-V虚拟机构想
下一篇:我们为什么无法预测复杂系统?聊聊非线性、反身性与认知构建
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-3 23:15 , Processed in 0.452104 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表