以太坊联合创始人维塔利克·布特林于9月6日概述了一种长期交易模型,该模型可能允许网络并行处理某些验证工作。
摘要
- 布特林提议将交易操作与依赖项分离,以便以太坊日后可以独立优化每个组件。
- 依赖项包括签名、状态证明以及交易在执行前必须满足的有效性条件。
- 纯依赖项可由内存池检查一次,之后压缩为递归STARK证明。
- EIP-8141提议在单一交易格式内包含可编程验证、执行和Gas支付。
- 以太坊开发者尚未批准EIP-8141用于主网升级,也未公布部署日期。
他的提议将交易产生的影响与这些影响发生前必须满足的条件分离开来。
布特林在一篇详细的帖子中将这两个组成部分描述为“操作”和“依赖项”。操作会改变以太坊的状态,例如转移ETH或调用合约。依赖项涵盖确定交易有效所需的信息。
数字签名是依赖项的一个例子。其他例子包括显示未花费输出存在的Merkle证明、零知识证明以及交易进入区块时必须保持为真的状态条件。
布特林认为,明确这一区别可能有助于以太坊在不放弃其灵活执行环境的情况下进行扩展。然而,该提议仍是持续协议研究的一部分。以太坊开发者尚未批准该完整设计用于部署。
以太坊可以并行处理交易依赖项
以太坊交易目前将授权、费用支付和执行合并到一个通用处理流程中。节点检查交易是否签名正确、发送者是否有能力支付以及其指令是否成功执行。
其中一些检查不依赖于交易的最终状态变化。布特林表示,此类依赖项可以单独处理,并且在许多情况下可以同时处理。
例如,验证者可能需要确认签名后才能接受交易。该验证不一定需要等待其他交易附带的无关签名。如果预先知道多个独立检查,客户端可以将工作分配到可用的处理资源上。
依赖状态的检查需要更加谨慎。如果较早的交易更改了相同状态,与账户余额或存储槽相关的条件可能会失效。布特林表示,当交易声明其访问的状态部分时,内存池可以更有效地推理这些条件。
这种方法将奖励可预测的交易。明确指定其依赖项的操作可以获得更低的Gas成本,因为客户端可以更有效地验证它们。需要动态调用和不可预测状态访问的交易仍然可能,但成本可能更高。
布特林估计,按交易量计算,以太坊超过90%的活动不需要网络的全部动态灵活性。这一数字是他的评估,而非帖子中发布的网络测量结果。更广泛的论点是,常见的转账和常规合约交互可以使用更严格的格式,而不会限制专业应用。
提议的模型将为需要灵活账户系统的交易保留以太坊的灵活性。更可预测的活动可以使用静态可分析的结构,类似于比特币交易模型的部分内容。
比特币使用未花费交易输出模型,其中交易标识其打算花费的输出。以太坊通常使用具有余额、随机数和可编程合约存储的账户。Buterin 并不是提议以太坊用比特币的架构取代其账户模型。他描述了一个结合两种系统思想的谱系。
EIP-8141 提供通用交易框架
EIP-8141 是一个以太坊改进提案草案,针对一种称为帧交易的新交易类型。它将交易划分为合约调用帧,这些帧可以验证权限、批准 gas 支付并执行用户操作。
官方提案表示,交易有效性和费用支付将不再仅依赖于附加到外部交易的标准签名。账户代码可以定义必要的授权和支付规则。
帧交易可以支持赞助费用、以 ETH 以外的代币支付、密钥轮换和交易批处理。它们还可以允许外部拥有账户获得账户抽象功能,而无需在每个兼容网络上依赖相同的合约部署。
在提议的结构下,验证帧将确定发送者是否授权了交易。单独的帧可以确定谁支付费用,然后执行请求的操作。
这种结构与 Buterin 对依赖和行动的划分一致。验证帧处理必须满足的条件。发送者帧处理改变状态的操作。
该格式还可以提高以太坊虚拟机网络之间的互操作性。不同的链可以支持相同的最小交易结构,同时应用自己的验证工具、预编译或账户功能。
Buterin 将潜在格式描述为带有标识其功能的标志的基本调用列表。调用可以被标记为纯依赖、状态相关验证或行动。交易还将包含标准信息,如来源和随机数。
EIP-8141 仍被归类为草案核心提案。其当前规范包括内存池准入、帧执行、收据、签名、gas 核算和交易传播的详细规则。这些细节在审查过程中可能会发生变化。
以太坊开发者还讨论了技术问题。这些问题包括拒绝服务风险、交易替换规则、工具变更、待处理交易限制以及对验证帧施加的限制。
一次讨论指出,提议的公共内存池通常只为每个发送者保留一个待处理的帧交易。开发者质疑该规则将如何影响在一个区块内定期提交多笔交易的账户。
其他参与者审查了该格式是否会给钱包、区块构建者和以太坊的远程过程调用接口带来额外的复杂性。这些问题必须在客户端团队能够实现稳定规范之前得到解决。
递归 STARK 可以消除重复验证
Buterin 的长期模型超越了 EIP-8141。他建议,不需要状态访问的依赖可以在内存池层检查一次,而不是由每个验证者重复检查。
纯依赖可能包括密码学签名或证明,其有效性不随以太坊状态变化。检查后,网络可以用递归 STARK 替换多个验证工作,确认所有检查都正确完成。
STARK 是一种密码学证明,允许一方证明计算正确执行。递归证明可以验证其他证明,从而将许多检查合并为较小的验证任务。
提议的内存池可以在区块执行前聚合交易签名、有效性证明和其他依赖。验证者将验证聚合证明,而不是独立重复每个原始计算。
Buterin 建议这种方法也可能减少链上验证数据的数量。如果递归证明确定所有依赖都有效,一些原始数据可能会被省略。
该结果不是当前 EIP-8141 规范的一部分。它将需要额外的研究,涵盖证明生成、内存池协调、数据可用性和防止无效聚合。
该设计还与以太坊为后量子密码学所做的准备有关。抗量子签名通常比普通以太坊账户使用的ECDSA签名更大,验证成本也更高。
EIP-8141可以让账户定义新的授权方案,而无需等待以太坊替换单一的固定签名标准。递归证明聚合随后可以降低验证大型后量子签名的成本。
EIP-8141可以帮助以太坊账户采用后量子授权,如果实用的签名系统变得可用的话。这仍然是一条长期的安全路径,而不是对活跃量子威胁的即时响应。
密钥随机数可以消除交易瓶颈
以太坊账户使用顺序随机数来防止交易重放。如果账户提交编号为10、11和12的交易,网络通常会按该顺序处理它们。
这种顺序可能会造成瓶颈。如果交易10卡住或无效,来自同一账户的后续交易也可能等待,即使它们的操作不相关。
密钥随机数将为账户提供多个独立的随机数序列。分配给不同密钥的交易可以继续处理,而无需等待另一个序列推进。
这可能有助于智能账户、隐私系统以及同时提交多个独立操作的应用程序。每个工作流都可以拥有自己的随机数域,同时保留重放保护。
Crypto.news此前报道称,密钥随机数可以防止独立的私人交易相互阻塞。该功能是改善隐私交易、灵活账户和抗审查能力的更广泛努力的一部分。
Buterin还将交易工作与替代状态模型联系起来,包括原生UTXO设计和基于证明的状态结构。这些项目探索某些资产或操作是否可以使用可预测的状态规则,而复杂合约则保留以太坊现有的灵活性。
这种方法可以创建多个处理层级。简单、声明的操作更容易分析,并且可以收取较低的费用。动态合约调用将继续工作,但会消耗更多资源,因为客户端无法以相同方式准备其执行。
这种差异化定价将试图使费用与每笔交易产生的实际扩展约束保持一致。它不会保证每个用户或应用程序都能获得较低的费用。
EIP-8141仍需开发者批准和测试
EIP-8141必须经过几个阶段才能影响以太坊用户。核心开发者首先需要同意Frame交易提供了比竞争性账户抽象设计更好的路径。
该提案随后需要客户端实现、开发网络、互操作性测试、钱包支持和安全审查。开发者还需要测试Frame交易如何与区块构建者、内存池、费用市场和现有智能合约交互。
早期的开发者讨论曾考虑将EIP-8141纳入以太坊未来的Hegotá升级。然而,crypto.news报道称,Frame交易仍在考虑中,并未正式排期。
FOCIL是另一个旨在通过交易包含列表提高抗审查能力的独立提案,也已与EIP-8141一起讨论。这两个提案解决不同的问题。Frame交易涉及授权和执行结构,而FOCIL涉及将符合条件的交易包含在区块中。
开发者认为,将它们一起使用可以提供具有更强抗审查能力的原生账户抽象。这种组合仍然是一个提议的包,而不是已批准的以太坊路线图承诺。
因此,Buterin在9月6日的评论描述了以太坊交易设计的可能方向。它们并未宣布完成的升级、激活日期或对主网gas费用的确认更改。
下一个可验证的里程碑将是正式的开发者支持、纳入升级范围以及在开发网络上工作的实现。在此之前,EIP-8141和递归STARK内存池仍然是活跃的研究和工程提案。
常见问题解答
什么是EIP-8141?
EIP-8141提出了框架交易,将验证、费用批准和执行划分为独立的合约调用框架。
它目前是一个草案核心提案。以太坊开发者仍然可以更改或拒绝其规范。
动作和依赖项之间有什么区别?
动作会改变以太坊的状态,例如发送ETH或调用合约。依赖项是必须有效的条件,例如签名或状态证明。
将它们分开可能允许在状态更改操作执行之前并行处理独立的依赖项。
EIP-8141会降低以太坊交易费用吗?
如果开发者采用奖励静态可分析操作的燃料定价,它可能会使可预测的交易处理成本更低。
尚未确认费用降低。成本将取决于最终规范、客户端实现和未来的升级决策。






