用户需要能够提前知道,下一次区块补贴降低发生在什么位置。最初的 Parano1d 把这个时间点交给 State 扩容决定。主网上线后的运行揭示了一个问题:当前尚未花费的输出数量,无法同时充当时间、交易活跃度和采用程度的刻度。
V2 为两种机制重新分工。区块高度决定发行进度,State 占用率决定新增持久记录的价格。保持状态精简依然有利,但高效复用状态不再推迟补贴下降。
新曲线从主网区块 210,537 开始。既有余额不作缩放。第一个发行区间从该区块起算,与创世时间、版本发布日期以及个人升级时间无关。
占用率究竟衡量什么
最初的规则从每块 50 NOID 开始。当持续占用触发更大的 State 域时,补贴减半。其设想是让发行下降跟随网络的有效使用增长。
但活跃状态衡量的是余额式的存量:现在还存在多少个未花费输出。已经完成的交易不会继续计入其中。花费释放槽位,合并交易减少输出,合约可以多次更新同一项权利而几乎不增加活跃记录数量。
主网早期占用率较低,补贴下降也就缺少可见的时间边界。这个问题不仅来自初期活动不足。即使某个应用很活跃,只要它有效复用 State,也可能长期不触发扩容。
于是两个原本都值得鼓励的目标发生了牵制:一方面,希望大家减少长期占用;另一方面,发行曲线却要等更多长期记录出现才能前进。V2 让发行进度不再依赖这种存量变化。
每一步都可以算出来
设起点 ,每个区间长度 。对于 ,补贴档位为:
| 距 v2 的名义年数 | 首个区块高度 | 每块 NOID | 完整区间的计划补贴总额 |
|---|---|---|---|
| 0 | 210,537 | 16 | 16,819,200 |
| 1 | 1,261,737 | 11.30 | 11,878,560 |
| 2 | 2,312,937 | 8 | 8,409,600 |
| 3 | 3,364,137 | 5.65 | 5,939,280 |
| 4 | 4,415,337 | 4 | 4,204,800 |
| 5 | 5,466,537 | 2.83 | 2,974,896 |
| 6 | 6,517,737 | 2 | 2,102,400 |
| 7 | 7,568,937 | 1.41 | 1,482,192 |
| 8 及以后 | 8,620,137 | 1 | 之后每个区间 1,051,200 |
按 30 秒目标间隔,一个区间相当于 365 天;实际日历日期由出块速度决定。共识使用整数 μNOID,每 NOID 等于 1,000,000 μNOID。表中的金额都是固定常量,边界处没有浮点计算,也不需要运营者作出选择。
State 扩容既不会提前进入下一档,也不会重置计时。区块关系直接检查由认证高度选出的补贴。
这条曲线如何形成
曲线以永久保留的每块 1 NOID 为终点,在八个名义年内完成四次等效减半。每两年的锚点因此是 16 → 8 → 4 → 2 → 1。在两次锚点之间增加一次年度下降,可以把补贴变化分散到更小的步骤。
年度比例近似为 。实际共识并不计算平方根,而是使用固定中间值 11.30、5.65、2.83、1.41。从第一个 v2 区块起,完整序列就已经确定。
初始发行速度也随之降低。旧起始配置是每 20 秒目标间隔发行 50 NOID,对应每日 216,000 NOID;v2 是每 30 秒发行 16 NOID,对应每日 46,080 NOID。与旧规则尚未发生 State 减半时的起始速度相比,降幅为 78.67%。
进入尾部发行前,八个完整区间的计划补贴合计 53,810,928 NOID。此后每块继续发行 1 NOID,每个名义年为 1,051,200 NOID。因此 NOID 没有固定的最大供应量。实际流通量还受到销毁以及未发行、未领取金额的影响,不能直接用补贴总和代替。
持续补贴让手续费之外仍然存在一项明确的出块激励。它不固定挖矿收入的市场价值,也不保证某个以法币计价的安全预算;它确定的是八次下降之后仍然存在的协议发行部分。
保持 State 精简仍然有经济价值
占用率继续决定新增槽位的成本。最低手续费由基础项、输入项、输出项和净新增活跃槽位的增长项组成。增长项被销毁,其余普通费用以及自愿小费可以由矿工领取。
| 父 State 占用率 | 增长费倍率 |
|---|---|
| 低于 50% | 1× |
| 50% 至不足 75% | 2× |
| 75% 至不足 90% | 4× |
| 90% 及以上 | 8× |
一笔单输入、双输出付款在最低压力下,共识最低费用为 5,000 + 100 + 1,400 + 2,500 μNOID,即 0.009 NOID。在最高压力下,增长项升到 20,000 μNOID,总额变为 0.0265 NOID。节点的本地转发策略可能要求更高费用。
如果合并交易消耗多个输出、只建立较少的新输出,就不会净增加活跃槽位,因此没有增长费。基础项和输入输出项仍然支付。这种激励在每个 State 等级内部就会起作用,无需等到下一次扩容。
合约也按真实的状态占用计费。一次调用可以用后继合约替换原记录,也可以同时创建付款输出,从而增加一个槽位。程序计数器不会让应用脱离通常的价值与存储成本规则。
让发行进度与存储价格各司其职
高度告诉所有人当前允许发行多少,以及下一档从哪里开始。占用率告诉使用者新增公共状态的代价。用户通过合并与复用降低存储压力时,发行曲线仍按同一套可验证时钟前进。
这正是修改原模型的原因。活跃集合适合描述网络此刻必须保留什么,却无法同时给未来发行提供稳定的时间表。V2 保留状态效率的激励,并让补贴的每个阶段都能事先独立计算。
网络经济文档提供完整规则。下一篇《从现存价值到有效权利》进一步说明,为什么反复发生的合约活动可以与较小的活跃 State 并存。