发行与征税
Epic的发行量通过定义的纪元逐步递减并最终停止,递减的基金会征收费从每个区块奖励中抽取一部分。
单位
| 单位 | Freemen |
|---|---|
| 1 EPIC | 100,000,000 (EPIC_BASE) |
| 1 milli-EPIC | 100,000 (MILLI_EPIC) |
| 1 micro-EPIC | 100 (MICRO_EPIC) |
| freeman | 1 (FREEMAN) |
每个API均以整数freemen为单位接收和返回数值。0.1 EPIC为10000000。
时间安排
| 参数 | 值 |
|---|---|
| 目标出块时间 | 60秒(BLOCK_TIME_SEC) |
| 每小时区块数 | 60 |
| 每日区块数 | 1,440 |
| cut-through 时间跨度 | 10,080个区块(CUT_THROUGH_HORIZON) |
Coinbase成熟度是指挖出的输出(output)在可以被花费之前需要等待的区块数。该值取决于当前链类型:
| 网络 | Coinbase 成熟度 |
|---|---|
| Mainnet | 1,440个区块(COINBASE_MATURITY,一天的区块数) |
| Floonet | 30个区块(FLOONET_COINBASE_MATURITY) |
| Usernet | 3个区块(USER_TESTING_COINBASE_MATURITY) |
| 自动化测试 | 3个区块(AUTOMATED_TESTING_COINBASE_MATURITY) |
选择方式为coinbase_maturity()。
已成熟的coinbase仍受钱包自身确认数下限--min_conf的约束,该值在所有网络上默认为10。参见钱包操作。
奖励纪元
发行量在纪元边界处阶梯式递减,而非遵循平滑曲线:
| 纪元结束 | 区块高度 | 持续时间 | 基础奖励 |
|---|---|---|---|
| 纪元1 | 480,960 | 334天 | 16 EPIC |
| 纪元2 | 1,157,760 | +470天 | 8 EPIC |
| 纪元3 | 2,023,200 | +601天 | 4 EPIC |
| 纪元4 | 3,175,200 | +800天 | 2 EPIC |
| 纪元5 | 4,642,560 | +1,019天 | 1 EPIC |
| 纪元6及以后 | 循环递减 | 每步1,460天 | 0.15625 EPIC,每步减半 |
各纪元的数值见fast_total_supply()。基础奖励并非矿工实际所得,因为基金会征收费会先从中扣除。在本地链纪元1高度处,挖出的区块向钱包记入14.5792 EPIC,即16 EPIC扣除8.88%的纪元1征收费后的结果。
从纪元6起,基础奖励为0.15625 EPIC(BASE_REWARD_ERA_6_ONWARDS),此后每1,460天为一个周期继续递减。纪元常量从BLOCK_ERA_1起定义,奖励由reward_at_height()计算。
纪元5到6的过渡将奖励从1 EPIC降至0.15625 EPIC,降幅为6.4倍而非2倍。节点Status响应中的blocks_to_next_halving字段记录距下一次递减的区块数,且每次递减并非减半。请根据纪元计划构建供应量预测。
奖励使用整数运算计算,因此后续步骤最终归零,发行停止。Status响应中的两个字段报告供应量,均以整数EPIC而非freemen为单位:
| 字段 | 值 |
|---|---|
supply | 当前区块高度的fast_total_supply(),除以100,000,000 |
max_supply | 固定数值21000000,在状态处理器(api/src/handlers/server_api.rs:86)中设定 |
max_supply是状态响应携带的一个值。不存在该名称的共识常量,两个字段均不参与区块或交易验证。发行计划即上述纪元表。
基金会征税
每个区块奖励的一部分归属于Epic基金会而非矿工,该比例在九个征收纪元中逐步递减:
| 征税时期 | 费率 |
|---|---|
| 1 | 8.88% |
| 2 | 7.77% |
| 3 | 6.66% |
| 4 | 5.55% |
| 5 | 4.44% |
| 6 | 3.33% |
| 7 | 2.22% |
| 8 | 1.11% |
| 9 | 1.11% |
费率为FOUNDATION_LEVY,以10,000为分母,由reward_foundation_at_height()应用。
第一个征收纪元持续120天,此后每个纪元持续365天,共九个纪元,因此征收费在区块高度4,377,600处结束,此后全部奖励归矿工所有。
基金会支付使用随节点预先生成的coinbase数据,征收计划中每天对应一条记录(foundation_height()),因此基金会coinbase由该数据构建,而非由矿工构建。
手续费
手续费取决于交易的结构,而非网络需求:
fee = max(4 × outputs + kernels − inputs, 1) × 0.001 EPIC
一笔两输入、两输出、单内核(kernel)的转账手续费为700,000 freemen,即0.007 EPIC。权重为TransactionBody::weight(),基础手续费为MILLI_EPIC,即100,000 freemen(core/src/libtx/mod.rs:37)。
钱包不提供基础手续费,因此不存在可竞价的手续费市场。区块权重上限为40,000(MAX_BLOCK_WEIGHT),其中输入(input)权重为1,输出(output)权重为21,内核(kernel)权重为3。矿池通过accept_fee_base设置自身的手续费下限,默认同为100,000。