供应量与发行
一条 ZooBC 链所含的 ZBC 永远不会超过 33,333,333.33333333 ZBC。其中一部分在创世时分配;其余部分即 coinbase 池,沿一条开始时最快的固定曲线在 15 年内逐个区块释放。没有挖矿,也没有质押利息:coinbase 是新 ZBC 的唯一来源,15 年后不再产生任何新币。
上限
供应上限 total_supply 在每条链上都是 3,333,333,333,333,333 个原子单位,即 33,333,333.33333333 ZBC。它涵盖一切。构建一条链时,创世构建器先扣除每一笔创世分配:有余额的账户、国库、为 应用池 提供资金的应用国库、归属计划,以及每个创世节点自身账户的 10 ZBC。剩下的就是 coinbase 池。随后,构建器把各笔分配重新加总,如果总额会超过上限,就拒绝写出这个创世(创世区块)。
因此,上限是总额,而不是 coinbase:coinbase 池是创世分配之后剩下的部分。
只有 coinbase 产生 ZBC
新的 ZBC 只来自 coinbase,即每个区块携带的新币。没有人挖矿,质押不产生利息,国库也只是一个普通账户,可以花费它所持有的资金,但不能铸币。coinbase 也不归产出该区块的节点所有:它与手续费一起进入该区块的奖励池,由 coinbase 抽奖 按参与分数在已注册节点之间分配。
没有任何规则会销毁 ZBC(ZBC 从不销毁),因此现存的 ZBC 数量按计划朝上限增长。
曲线
时刻 t 的累计发行量,即 coinbase 自创世以来释放的总额,为:
D(t) = floor(y × pool)
y = (σ(3 + 3τ) − σ(3)) ÷ (σ(6) − σ(3))
σ(x) = 1 ÷ (1 + e^−x)
τ = (t − genesis time) ÷ 473,040,000 s, kept between 0 and 1
473,040,000 秒是 15 个 365 天的年。每个节点都以双精度计算这条曲线,并把结果向下取整到原子单位,因此所有节点得到的数字相同。
σ 是 S 形的逻辑斯谛(sigmoid)函数。只使用它在 x = 3 与 x = 6 之间逐渐趋平的尾部,并经过缩放,使 y 在创世时为 0、15 年后为 1。因此,释放是前置的:
| 自创世起的时间 | 已释放的池份额 |
|---|---|
| 1 年 | 18.4% |
| 2 年 | 33.7% |
| 约 3 年 4 个月 | 50% |
| 5 年 | 65.5% |
| 10 年 | 90.6% |
| 15 年 | 100% |
创世时的释放速率约为第 15 年时的 18.3 倍,15 年后不再释放任何新币。最大的奖励出现在最初几年,那时注册表还很小。没有突然跳变的减半,速率也不是平的:它随每一秒平滑地下降。
按时间,而不是按区块
一个区块的 coinbase 为:
coinbase = D(this block's timestamp) − D(previous block's timestamp)
因此,发行跟随时钟,而不是区块数。紧随长间隔之后的区块携带更多 coinbase,紧随短间隔之后的区块携带较少,而一天的总量保持不变。一段出块较慢的时期不会少发,一阵快速出块也不会多发。区块中的交易数量和出块者的质押都不起任何作用。
从 0.5.8 版本起,区块必须恰好携带计划规定的数量,空区块也不例外;任何其他数值都会使它在每个节点上无效。高度 0 和 1 不支付 coinbase。
没有人能改变它
发行计划是创世时确定的共识规则的一部分,每个节点都据此核对每个区块的 coinbase。它不在注册表席位可以投票的价格之列(价格投票),也没有任何密钥能改变它(ZooBC Foundation)。