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