总 PR
1
HIGH
1
MEDIUM
0
Stage2
0
Model: deepseek/deepseek-v4-flash Compare Back

官方 Release Notes 总结

本次发布提案为 runtime 升级至 spec_version 442,已由 CI 提交部署多签的半数签名,等待 triuvirate 完成第二个批准。该版本未提及任何安全修复(advisory)或严重性说明,也无资金、共识或账户相关变更。无 breaking change 记录。升级需使用 `btcli upgrade sign` 进行签名,并可通过本地 srtool 构建进行字节码验证。

TL;DR(PR 分析)

本版仅包含一个关键热修复:修复了未注册 root UID 的 hotkey 将 root 权益份额错误分配给 ALPHA 代币的分红漏洞,属于资金分配安全漏洞,涉及 emission 核心逻辑变更并已上线主网验证。

交叉验证

两边确认0
仅分析映射1
仅 Release Notes0
仅分析映射:#3035
HIGH 重要更新 (1)
#3035 hotfix: stop ineligible root stake diverting into ALPHA dividends BREAKING emission MERGED fix
修复了当 hotkey 拥有 root TAO 但未注册 root UID 时,root 权益份额被错误分配给 ALPHA 代币的分红漏洞
判级:修复生产环境资金分配漏洞(thin-α 异常高收益),包含 emission 核心逻辑变更(dividend 分配直接影响代币发放路径),spec_version bump 标记运行时升级,且该修复已在主网 Finney 上线验证有效
关键改动
  • pallets/subtensor/src/coinbase/run_coinbase.rs:calculate_dividend_distribution 函数重构——总是将 weighted_root 纳入分母计算 alpha 份额(alpha_prop = alpha / (alpha + weighted_root)),不再依赖是否持有 root UID 来决定是否包含 root 权重;root-basket 积分仍然需要 root UID 才能获得 root_divs
  • pallets/subtensor/src/coinbase/run_coinbase.rs:补充 total_alpha 为零的边界情况处理(childkey-take 场景),保持原行为将全部 dividend 分配给 ALPHA
  • pallets/subtensor/src/coinbase/run_coinbase.rs:注释更新,清晰说明无 root UID 时 root 权重份额无法分配但不转向 ALPHA
  • pallets/subtensor/src/tests/coinbase.rs:新增 test_calculate_dividend_distribution_no_root_uid_does_not_divert_to_alpha 测试用例,模拟 Finney 场景(~2α / ~4083τ),验证无 root UID 的 thin-α hotkey 仅获得 α/(α+weighted_root) 份额,远低于旧逻辑的一半池子
  • pallets/subtensor/src/tests/coinbase.rs:更新两个现有 root 测试用例的注释以反映新语义
  • runtime/src/lib.rs:spec_version 从 441 升至 442
  • sdk/python/bittensor/_generated/*.py:自动生成的 Python SDK 文件版本号更新(spec_version: 441→442)
  • docs/query/ 目录下三个文档文件:文档版本号同步更新
  • .github/workflows/cargo-audit.yml:CI 配置微调