当前页面已进入跨页知识网络层:不仅展示本页拓扑,还明确它在整站里的分类、被哪些页面引用、又继续指向哪些专题与证据页。
本页当前能证明“发行结算引擎可查询、可拒错、可与处罚统计联动”,而不是停留在制度说明。
emission 页证明的是“结算层”,不代替 registry 的寻址证明、slashing 的处罚制度证明、economy 的全景汇总。
白皮书读者从总图进入 emission 时,建议按“寻址 -> 状态 -> 触发 -> 负样本”四步阅读。
| 链路 | 拓扑锚点 | 原始证据 | 上游 / 下游 | 当前结论 |
|---|---|---|---|---|
| 寻址链路 | Registry -> Resolve -> QueryState | `canonical key -> emission_schedule` + `query_emission_state` | 上游 `registry` | 可证明 emission 合约地址来自链上寻址,不是页面手填 |
| 结算链路 | EcoSec -> Acc -> Interval -> RewardDebt -> Settle -> Mint | `emission_state` 字段 + `pending_reward` query 样本 | 下游 `economy` | 可证明现行发行语义是 economic seconds + 双池累加器 + reward debt |
| 处罚统计链路 | SlashEvent -> SlashStat | `total_slashed / total_burned_from_slash / total_to_challenger` 字段说明 | 上下游 `slashing` / `proof_chain` | 可证明处罚结果会沉淀到 emission 统计层,但制度解释仍需回 slashing 页核对 |
flowchart TD
Registry["registry.html
canonical key -> emission_schedule active"] --> Resolve["resolve emission_schedule 地址"]
Resolve --> QueryState["query_emission_state"]
Block["网络持续产出区块 (Block Height)"] -->|"target_block_seconds 默认 = 5,可治理调整"| EcoSec["更新全局经济时间 (Economic Seconds)"]
EcoSec -->|"全局累加"| Acc["驱动双池全局累加器 (Global Accumulator)"]
Acc -->|"每满 21,000,000 秒"| Interval["发行间隔递增 (+1秒/Token)"]
Interval --> RewardDebt["更新 Reward Debt / pool accumulator"]
RewardDebt --> Settle{"触发事件"}
Settle --> Claim["claim"]
Settle --> Role["register / unregister / role_change"]
Settle --> SlashEvent["slash"]
Claim --> Mint["执行链上结算与 Mint"]
Role --> Mint
SlashEvent --> Mint
Mint --> Token["产生真实 MSG 代币 / 更新池余额"]
Mint --> PoolState["validator_pool_balance / candidate_pool_balance"]
Token --> Atto["状态机内部记账 attoMSG (10^-18)"]
Token --> Nano["外部查询展示 nanoMSG (10^-9)"]
QueryState --> Acc
QueryReward["query_pending_reward(pool,address)"] --> RewardDebt
Consensus["consensus.html
默认 5s 物理出块节奏,可治理调整"] -.-> Block
Slash["slashing.html
slash 事件改变 emission_state"] -.-> Settle
SlashEvent --> SlashStat["total_slashed / total_burned_from_slash / total_to_challenger"]
GasSplit["economy.html
Gas 分账规则"] -.-> Treasury["foundation.html
Gas 10% 金库路径"]
Interval -.-> Note["每秒奖励按轮次递减;物理出块时间默认 5s,但可由治理调整"]
QueryReward -.-> AddrRule["错误地址会被显式拒绝,不静默成功"]
QueryReward -.-> BadAddr["负样本: invalid address / charset 98"]
QueryState -.-> Evidence["evidence_index.html
成功 / 失败 / 负样本索引"]
PoolState --> Corridor["proof_chain.html
寻址 -> emission_state -> pending_reward -> slashing 统计"]