以太坊联合创始人 Vitalik Buterin 于 9 月 6 日概述了一种更长期的交易模型,该模型可以允许网络并行处理一些验证工作。
要点
依赖项包括签名、状态证明和有效性条件,交易在执行开始前必须满足这些条件。
纯依赖关系可以通过内存池检查一次,然后压缩成递归 STARK 证明。
EIP-8141 提出了一种帧交易,其中包含可编程的验证、执行和 gas 支付,所有交易格式都包含在一个交易格式中。
以太坊开发者尚未批准 EIP-8141 主网升级方案,也未公布部署日期。
他的提议将交易产生的影响与这些影响发生之前必须满足的条件分开。
Buterin 在一篇详细的博文中将这两个组成部分分别描述为“操作”和“依赖项” 。操作会改变以太坊的状态,例如转移 ETH 或调用合约。依赖项则涵盖了验证交易有效性所需的信息。
数字签名是依赖关系的一个例子。其他例子包括默克尔证明(证明存在未花费的输出)、零知识证明以及交易进入区块时必须保持为真的状态条件。
Buterin认为,明确区分这一点有助于以太坊在不放弃其灵活执行环境的前提下实现扩展。然而,该提案仍处于持续的协议研究阶段。以太坊开发者尚未批准完整的部署设计。
以太坊可以并行处理交易依赖关系
以太坊交易目前将授权、费用支付和执行整合到一个统一的处理流程中。节点会检查交易是否已正确签名、发送方是否有能力支付费用以及交易指令是否成功执行。
有些检查并不依赖于交易的最终状态变化。布特林表示,这些依赖关系可以单独处理,而且在很多情况下可以同时处理。
例如,验证者可能需要在接受交易前确认签名。这种验证不一定需要等待其他交易中无关的签名。如果事先知道需要进行多项独立的检查,客户端可以将工作分配到可用的处理资源上。
与状态相关的检查需要更加谨慎。如果先前的交易更改了账户余额或存储槽位的同一状态,则与该状态相关的条件可能会失效。Buterin 表示,如果交易声明其访问状态的哪些部分,则内存池可以更有效地处理这些条件。
这种方法会奖励可预测的交易。明确指定依赖关系的交易可以获得更低的 gas 费用,因为客户端可以更高效地验证它们。需要动态调用和不可预测状态访问的交易仍然可行,但费用可能会更高。
Buterin 估计,以太坊超过 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 可以帮助以太坊账户采用后量子时代的授权方式。但这仍然是一条更长远的安全路径,而非应对当前量子威胁的直接措施。
密钥随机数可以消除交易瓶颈
以太坊账户使用顺序随机数(nonce)来防止交易重放。如果一个账户提交了编号为 10、11 和 12 的交易,网络通常会按这个顺序处理它们。
这种顺序可能会造成瓶颈。如果第 10 笔交易卡住或无效,即使后续交易彼此无关,同一账户的其他交易也可能被等待。
使用密钥生成的随机数会为账户提供多个独立的随机数序列。分配给不同密钥的交易无需等待其他序列完成即可继续进行。
这有助于智能账户、隐私系统以及同时提交多个独立操作的应用程序。每个工作流都可以获得自己的随机数域,同时保持重放保护。
密钥随机数可以防止独立的私密交易相互干扰。这项功能是旨在提升交易隐私性、增强账户灵活性和提高抗审查能力的更广泛举措的一部分。
Buterin还将交易工作与替代状态模型联系起来,包括原生UTXO设计和基于证明的状态结构。这些项目探索了某些资产或操作是否可以使用可预测的状态规则,同时复杂的合约也能保持以太坊现有的灵活性。
这种方法可能会产生多个处理层级。简单、已声明的操作更容易分析,费用也可能更低。动态合约调用仍可继续运行,但由于客户无法以相同的方式准备执行,因此会消耗更多资源。
这种差异化定价旨在使费用与每笔交易实际产生的规模限制相匹配,但并不能保证每个用户或应用程序都能享受更低的费用。
EIP-8141 仍需开发人员批准和测试
EIP-8141 必须经过几个阶段才能对以太坊用户产生影响。核心开发者首先需要达成共识,即框架交易比其他账户抽象设计方案更优。
该提案随后将要求进行客户端实现、开发网络建设、互操作性测试、钱包支持和安全审查。开发人员还需要测试框架交易如何与区块构建器、内存池、费用市场和现有智能合约交互。
早期的开发者讨论曾考虑过将 EIP-8141 用于以太坊未来的 Hegotá 升级。然而,据报道,框架交易仍处于考虑阶段,尚未正式列入计划。
FOCIL 是另一项旨在通过交易包含列表提高抗审查能力的提案,它也与 EIP-8141 一起被讨论。这两个提案解决的问题不同。框架交易关注授权和执行结构,而 FOCIL 关注将符合条件的交易包含在区块中。
开发者认为,将二者结合使用可以提供原生账户抽象,并增强抗审查能力。但这种组合目前仍处于提案阶段,尚未被以太坊正式列入路线图。
因此,Buterin 9 月 6 日的评论描述了以太坊交易设计的一个可能方向。但他并未宣布已完成的升级、激活日期或主网 gas 费用的确认变更。
下一个可验证的里程碑将是正式的开发者支持、纳入升级范围以及在开发网络上实现可运行的方案。在此之前,EIP-8141 和递归 STARK 内存池仍处于积极的研究和工程提案阶段。
本文仅供信息分享,非商业用途,版权归原作者所有。如有侵权请联系删除。内容不构成投资建议。
热门跟贴