CIP-1559(Fee market change for Conflux)详细介绍


CIP编号:1559
标题:Conflux费用市场的变化
作者:Chenxing Li(@ChenxingLi),Peilun Li (@peilun-conflux)
状态:最终版
类型:规范改变
创建日期:2024-5-13
所需CIPs:90


本文是整理好的CIP-1559中文介绍,供大家交流讨论。

CIP-1559详情链接:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-1559.md

内容

本提案(CIP)旨在将以太坊的 EIP-1559 费用结构引入 Conflux 网络,同时考虑了 Conflux 独特的双空间结构、树图共识机制和随机交易打包等特点。

摘要

本提案建议在 Conflux 中引入 EIP-1559。然而,由于架构上的重大差异,直接在 Conflux 中实施 EIP-1559 不可行。关键差异包括:双空间可能具有不同的基本价格、树图结构使一个纪元内包含多个具有不同基本价格的区块、延迟执行机制导致无法从父区块中获取燃气使用情况。本提案提出了一个适合 Conflux 架构的定制版 EIP-1559,旨在通过调整费用结构提升用户体验和网络效率。

动机

自 EIP-1559 推出以来,大多数兼容 EVM 的区块链都采用了这一功能,提供了更高效的燃气价格机制并提高了经济效率。EIP-1559 已在以太坊中证明了其在稳定交易费用和改进区块空间利用率方面的有效性。然而,Conflux 的独特特性带来了以下挑战:

  • 双空间操作可能需要不同的基本价格。
  • 树图结构中一个纪元的多个区块使基本费用的直接应用变得复杂。
  • 延迟执行机制导致难以立即看到父区块的燃气使用情况。
  • 随机交易打包可能导致即使基本燃气价格下降,也有一些高费用交易也未被处理。
    这些问题需要一种定制的方法,将 EIP-1559 的优势整合到 Conflux 中,增强网络的可预测性和经济操作,同时不损害 Conflux 架构的独特优势。

规格说明

此提案将在指定的区块高度激活,并导致以下变化:

注意: 在以下内容中,“燃气价格”和“每燃气费用”可以互换使用,因为 CIPs 和 EIPs 使用不同的术语。

交易格式

此提案将引入以下四种类型的交易:

  • espace:EIP-2930EIP-1559 格式的交易。
  • core space:相应的 Conflux 格式 EIP-2930 和 EIP-1559。
    注意: 此提案仅支持相应的格式类型,不对访问列表中的存储键提供燃气折扣。

区块头

Conflux 将向区块头添加一个新字段(编码为 RLP 格式),位于自定义字段的前一个位置。这个新字段将是一个包含两个元素的列表:core space 的基本燃气价格base_gas_price_in_core_space和 espace 的基本燃气价格base_gas_price_in_espace

独立计算燃气限制

激活此提案后,core space 和 espace 的燃气限制将独立计算。之前在 CIP-90 中,共识协议仅规定了 espace 的燃气限制和总燃气限制,而没有对 core space 的燃气限制单独约束。

区块的总燃气限制(gas limit) 和燃气目标(gas target)将根据 EIP-1559 标准计算,包括在激活高度的特殊处理。gas_limit_for_core_space将为区块燃气限制的 0.9 倍,gas_limit_for_espace将为区块燃气限制的 0.5 倍。

此更改将为 core space 提供相对稳定的燃气限制。在此提案之前,CIP-90 规定当区块可以打包 espace 交易时,燃气限制的一半可能分配给 espace。

基于当前区块燃气限制的调整

在计算每单位燃气的预期基本费用时,EIP-1559 使用父区块的燃气使用量。而本提案将使用当前区块的交易燃气限制进行计算。

纪元统一的基本燃气价格

在交易执行期间,整个纪元的基本燃气价格将由其枢纽区块决定。非枢纽区块上的交易如果max_gas_price低于此值,将被视为失败。这可能导致大量交易失败。CIP-137 将解决这一问题。

对espace区块的特殊处理

由于 espace 交易只能在高度为 5 的倍数时打包,base_gas_price_in_espace在其他高度必须保持不变。

回执的修改

虽然 EIP-1559 没有改变回执中包含的内容,但编码遵循 EIP-2718 规定的格式。自 CIP-90 引入 espace 以来,Conflux 在共识层面(计算区块头中的回执根)与以太坊的回执格式不兼容,而是使用 core space 格式。因此此提案不考虑回执格式的兼容性。

在此提案中,将向来自两个空间的交易回执中添加一个字段,以指示烧毁了多少费用。

理论依据

为何维持 core space 的燃气限制稳定而不是总燃气限制

如果 core space 区块的燃气限制根据是否打包 espace 交易而波动,EIP-1559 的价格调整机制可能会由于 core space 中燃气限制的变化而变得不稳定。此外,在引入 EIP-1559 后,区块的燃气限制可能在 0 到 2 倍燃气目标之间波动,消除了每个区块保持一致的交易燃气限制的必要性。

为何使用当前区块的燃气限制调整燃气

由于存在延迟执行机制,不可能使用燃气使用量来调整基本燃气价格;因此,使用燃气限制代替。使用前一个区块的燃气限制将需要访问五个高度前的交易区块,从而增加共识过程中的开销。

后向兼容性

此改动将改变原有系统规范。

版权

此提案遵守 CC0 协议,所有版权及相关权利不设限。

1 Like