Skip to content

DO NOT MERGE: rgbx/chain33 peer-identity diagnostic - #1338

Closed
vipwzw wants to merge 6 commits into
masterfrom
debug/rgbx-peerid
Closed

vipwzw wants to merge 6 commits into
masterfrom
debug/rgbx-peerid

Conversation

@vipwzw

@vipwzw vipwzw commented Oct 16, 2026

Copy link
Copy Markdown
Collaborator

临时诊断 PR(不要合并):定位 ci_rgbx 在 chain33 v1.72.6 上失败的原因。

假设:CI 在重启前发现 para 节点的 DHT peer 名并写进 TSS peers 配置,如果 chain33 v1.72.1+ 的
改动让节点身份在重启后发生变化,配置里的 peers 就失效,DKG 无法完成。

本 PR 只加日志:重启前后各打印一次 peer 名,超时导出容器日志;依赖固定为 v1.72.6。

king and others added 6 commits October 15, 2026 18:25
Ticket.Exec_Genesis 缺少 coins/coinsx/token 都有的 height 校验:任意高度都能重入
GenesisInit,造出 isGenesis=true、3 段 ticketId 的“创世票”——既绕过 pubHash 校验
(3 段 id 的 privHash 恒为空),又绕过成熟期与提现等待。分叉生效后受害矿工会把这种
票当成自己的票挖出来,ExecDepositFrozen 把出块奖励增发到攻击者的 ReturnAddress,
攻击者可立即 Tclose 提走,本金零锁仓。

- 执行器层:高度 != 0 直接返回 ErrReRunGenesis;不依赖 chain33 侧新增的框架分叉,
  在旧版本 chain33 上同样生效
- 回归用例:executor 层断言高度 1.7M 上的 Genesis 被拒绝、高度 0 的正常创世路径
  不受影响(并直接调用执行器方法验证执行器自身的校验);testnode 端到端断言交易
  可以进块但回执非 ExecOk、链上不产生伪造票、受害矿工挖不到伪造票
- 原 PoC 用例改为修复后的回归断言
…s fork

接入 chain33 新增的系统分叉 ForkGenesisOnlyAtHeightZero(创世动作 Genesis 只允许在
高度 0 执行,由 DriverBase.checkGenesisHeight 在 Exec 与 ExecLocal/ExecDelLocal 派发
前统一拦截):

- github.com/33cn/chain33 升到 v1.72.1-0.20261016021757-b12c753ff90b:该提交是在当前
  pin 的 v1.72.0 之上只回移本次修复(chain33 分支 fix/genesis-only-height-zero-v1.72.0,
  含 #1407 review 的补钉),避免把 chain33 master 上 30+ 个无关改动一并带入——实测直接
  跳到 master 会让 ci_rgbx 的 TSS/DKG 场景稳定超时。上游修复见 33cn/chain33#1407
- 5 个含真实 [fork.system] 的配置补上 ForkGenesisOnlyAtHeightZero=0。chain33 的
  initForkConfig 要求每个已注册的系统分叉都必须出现在配置里,缺键或未知键都会让节点
  启动失败,因此版本升级与配置补键必须落在同一次提交
- 验证:go test ./plugin/dapp/ticket/... 全绿
@vipwzw

vipwzw commented Oct 16, 2026

Copy link
Copy Markdown
Collaborator Author

诊断完成,结论见 33cn/chain33#1408:dht 在钱包就绪后替换节点身份导致 TSS peers 失效;chain33 修复后 ci_rgbx 通过。关闭并移除该临时分支。

@vipwzw vipwzw closed this Oct 16, 2026
@vipwzw
vipwzw deleted the debug/rgbx-peerid branch October 16, 2026 05:49
@codecov

codecov Bot commented Oct 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 23.98%. Comparing base (8abcfd7) to head (e775d55).
⚠️ Report is 17 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1338      +/-   ##
==========================================
+ Coverage   23.86%   23.98%   +0.11%     
==========================================
  Files        1122     1122              
  Lines      223699   223809     +110     
==========================================
+ Hits        53395    53672     +277     
+ Misses     164697   164490     -207     
- Partials     5607     5647      +40     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants