Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

有保障的出块空间

Stable v1.8.0 将每个区块划分为具有独立 gas 预算的通道。符合条件的优先级交易进入企业通道,因此普通交易流量无法占用为它们预留的容量。

区块通道

提案和验证规则识别三种通道类型:

  • 企业通道:承载 CustomTx 交易,其 NonceKey 的第 63 位已设置,但无序标记 MaxUint64 除外。
  • 交易类型通道:为配置的交易类别保留容量。
  • 普通通道:承载不匹配其他已配置通道的标准交易。

maxBlockspaceGasWeight 设置了所有已配置通道预留的区块 gas 限制的百分比。每个通道的 weight 设置了该预留池的百分比。

提案者在这些限制内填充通道,并且验证者在验证提议区块时强制执行相同的限制。

这使得预留方案在协议层面是确定性的。它不依赖于提案者自愿留下未使用的空间。

二维 nonce

以太坊账户通常只有一个 nonce 序列。如果交易 12 缺失或卡住,交易 13 及后续交易将无法执行。

二维 nonce 为账户提供了多个独立的序列。NonceKey 选择序列,交易的 nonce 给出其在该序列中的位置。

例如,一个支付账户可以使用 NonceKey = 1 进行工资支付,使用 NonceKey = 2 进行供应商结算。延迟的工资支付交易不会阻塞供应商序列。

nonce 键空间有三个重要区域:

  • NonceKey = 0 保持标准的 EVM 兼容 nonce 行为。
  • uint64 范围的上半部分预留给协议使用。设置第 63 位表示企业通道的资格。
  • NonceKey = MaxUint64 标记无序交易。TimeoutTimestamp 提供其重放保护截止日期。

Stable 在 CustomTx 中携带这些字段,交易类型为 0x3F。现有的 EVM 交易格式仍然可用,默认的 nonce 通道保留了它们的预期行为。

治理和激活

治理通过一个 MsgUpdateParams 提案控制通道定义和 gas 配额。接受的参数在下一个区块生效。

v1.8.0 主网升级设定了 maxBlockspaceGasWeight = 20 和一个 weight = 50 的企业通道。它没有设定交易类型通道。治理可以在之后更改这些参数。

StableSystem 预编译上的 blockspaceLanes() 查询返回活跃配置。两个通道数组都按 id 升序排序,较低的 ID 优先匹配。

保证边界

当所有这些条件都满足时,企业交易将获得确定性的下一区块包含:

  • 交易符合企业通道的条件。
  • 该通道有足够的预留 gas 用于该交易。
  • 验证者遵循协议。
  • 网络保持足够的同步性,以便验证者在提案之前收到交易。

Stable 的企业 RPC 网关向验证者提供符合条件的交易。预留的提案容量可以防止普通交易流量将其挤占。

接下来去哪里

  • 有保障的结算:查看依赖于有保障出块空间的支付模式:具有确定性包含的定时 DvP 结算周期。
  • StableSystem 预编译:查询活跃的企业通道和交易类型通道定义。
  • 网络升级:查看 v1.8.0 发布和激活详情。
  • 执行:了解 Stable 如何执行为每个区块选择的交易。