Spark Program|ckb-probe – 结项报告
1. 结项评价 / / Final Evaluation
完成日期 / Completion Date: 2026年5月13日
评价摘要 / Evaluation Summary:
ckb-probe 是基于 aya-rs 实现的一个用于实时监控 CKB 节点性能和行为的工具,利用 eBPF 技术(uprobe/kprobe/tracepoint)以非侵入式方式捕获和分析 CKB 节点的函数调用。项目在 8 周内(2026-03-23 ~ 2026-05-07)完成了核心交付,公开交付物包括:开源代码仓库、v0.1.0/v0.1.1 两个 GitHub Release、Docker 可复现测试环境、双语文档(6 对 EN/ZH)、48 小时稳定性测试报告、性能测试报告、案例分析报告以及 demo-walkthrough 文档。
主要成果 / Key Achievements:
-
交付了完整的 eBPF 诊断工具链(ckb-probe CLI v0.1.0): 包含三个子命令——
check(8 项环境检测 + eBPF 探针验证)、symbols(三级 ELF 符号分类分析)、rocksdb(5 种 RocksDB 操作实时监控,支持 table/histogram/slow/JSON 四种输出模式 + EWMA 异常检测 + 进程重启自动重连)。 -
交付了可复现的验证证据链: 48 小时稳定性测试(S-1~S-4 全部 PASS)、性能测试(P-1~P-4 全部 PASS:CPU +1.29%、RSS 22.89MB、事件零丢失、同步降级 -0.86%)、两个案例分析(IBD 写入模式 + compaction 风暴捕获)。
-
交付了 Docker 一键复现环境: 两阶段 Dockerfile + 6 个 demo 脚本 + 性能/稳定性/案例分析自动化脚本,第三方可独立验证所有测试结果。
-
交付了完整的双语技术文档体系: 6 对中英文文档覆盖架构、入门、Docker 快速开始、技术深入、演示 walkthrough、测试基础设施,以及结项报告和月度报告。
-
交付了 CI/CD 自动化流水线: 包括构建检查、代码格式化、脚本检查,以及每周自动检测 CKB 新版本符号兼容性的工作流。
创新点与价值 / Innovation & Value:
-
CKB 生态首个系统级诊断工具: 填补了 CKB 生态在节点深度可观测性领域的空白,为矿池运营者、核心开发者和新节点运维人员提供了应用语义级别的诊断能力(输出"RocksDB GET 耗时 23μs,读取 512 bytes"而非原始系统调用数据)。
-
纯 Rust 全栈 eBPF 实现: 与 CKB 技术栈统一,无 C/Python 依赖,通过 Aya 框架实现编译期类型安全和 CO-RE 跨内核版本兼容。
-
可扩展的探针架构: 项目扩展性良好,未来可通过添加新的 uprobe 来监控更多的函数调用,已在 eBPF 层预埋了 P2P 网络(kprobe)和系统调用(tracepoint)监控能力。
2. 评审过程 / Review Process
2.1 申请审查
项目由开发者 Clair(GitHub: clairjoestar)于 2026 年 2 月 26 日提交申请。初始提案范围较广,涵盖 RocksDB 存储层、P2P 网络层、系统调用层三层监控,以及 TUI 仪表盘、Web5 DID/VC 签名报告、Prometheus Exporter 等扩展功能。委员会在首轮审查中提出以下补充要求:
-
缩小核心交付范围,将 P2P/Syscall/TUI/Web5/Prometheus 功能明确标记为"后续版本"
-
补充具体的输出示例和可验证的验收方法
-
明确预算细目和团队背景
2.2 Pending 阶段
2026 年 3 月 3 日,委员会将项目置于 Pending 状态,要求:
-
提供每项验收标准的具体产出和验证方法
-
明确核心交付物与扩展交付物的边界
开发者在同日完成修订,并将预算从最初提议的 $1,500 调整至 $1,000。
2.3 批准与执行
-
2026 年 3 月 10 日: 星火计划委员会正式批准,预算 $1,000 USD(100% CKB 支付)
-
2026 年 3 月 23 日: 项目正式启动开发
-
每周文字更新: 开发者通过论坛帖子提交每周进度报告(共 8 周)
-
中期报告: Week 4 提交中期报告,RocksDB 核心探针提前完成
-
结项报告: 2026 年 5 月 7 日提交结项报告,发布 v0.1.0
-
补丁发布: 2026 年 5 月 13 日发布 v0.1.1(静态构建支持、手动构建文档、Dockerfile 修复)
2.4 委员会验收评价
ckb-probe 是基于 aya-rs 实现的一个用于实时监控 ckb 节点的性能和行为的工具, 它利用 eBPF 技术来非侵入式地捕获和分析 ckb 节点的一些函数调用.
在实际使用上, ckb-probe 完全实现了它声明的功能, 也就是关键功能模块的数据收集, 分析和展现, 并且整个过程对用户友好, 易于使用. 项目扩展性也不错, 未来可以通过添加新的 uprobe 来监控更多的函数调用.
2.5 特别鸣谢
CKB-VM 团队受星火计划委员会特邀参与了 CKB Probe 项目的最终评审,尤其 Jiandong @xjd 在评审过程中付出了非常积极的努力并给到了非常关键的支持。
3. 资金发放详情 / Funding Details
总预算: $1,000 USD(等值 CKB,按批准时汇率 0.001502 USD/CKB 折算 ≈ 665,779 CKB),100% CKB 支付。
开发者 CKB 钱包地址:
ckb1qrgqep8saj8agswr30pls73hra28ry8jlnlc3ejzh3dl2ju7xxpjxqgqqynmx484fhf5v04kjn9yar0hjshwfuk4v5383emd
| 发放 / Installment | 比例 / % | 金额 / Amount(CKB) | 交易哈希 / Hash |
|---|---|---|---|
| 启动资金 | 20% | 133,156 | 0xd568abfd7872aecb63b75845f1c717d735e4ce255e490745a7b83c09568c5e8d |
| 中期资金 | 40% | 266,312 | 0x2f9a54978c52b166197ca4c0828d8ca872d6e094e4aebab86d382ffa429fc66d |
| 结项资金 | 40% | 266,312 | 0xe7afba9e005d71eb49e424c7f3b0709e8b3d17994995c9bc7fc3298c44296858 |
4. 星火计划委员会复盘 / Spark Committee Reflection
经验 1:系统级工具项目需要充分的环境验证门槛
ckb-probe 依赖特定的 Linux 内核版本(≥5.8)、BTF 支持、root 权限等系统级条件。项目通过 ckb-probe check 子命令解决了环境验证问题,并在 Docker 环境中提供了标准化的复现方案。建议: 对于系统级工具项目,验收清单应包含"环境自检工具 + Docker 标准化复现环境 + 第三方可独立执行的验证脚本"。
经验 2:核心交付与扩展功能的边界需在申请阶段明确切分
该项目初始提案涵盖范围较广(三层监控 + TUI + Web5 + Prometheus),经委员会审查后合理收窄至 RocksDB 核心层。这一过程确保了项目在预算和时间约束下高质量完成核心功能。建议: 对于技术深度较大的项目,申请阶段应强制区分"核心交付物"与"扩展交付物",并将扩展交付物明确排除在验收条件之外。
5. 总结 / Conclusion
ckb-probe 在 8 周内完成了全部核心交付物,所有 24 项验收标准(F-1~F-10 功能、P-1~P-4 性能、S-1~S-4 稳定性)均通过验收。项目以 $1,000 预算实现了约 4,187 行 Rust 代码、21 个 BPF 程序、Docker 可复现测试环境和完整的双语文档体系。
在实际使用上,ckb-probe 完全实现了其声明的核心功能——关键功能模块的数据收集、分析和展现,整个过程对用户友好、易于使用。项目扩展性良好,通过添加新的 uprobe 即可监控更多的函数调用,eBPF 层已预埋的 P2P 和 Syscall 探针为后续版本奠定了基础。
ckb-probe 填补了 CKB 生态在节点深度可观测性领域的空白,为矿池运营者和核心开发者提供了此前不存在的诊断工具。项目的技术方案(纯 Rust + Aya eBPF + Docker 可复现验证)也为生态内其他系统级工具项目提供了可参考的工程模板。
交付物链接
行天 / @xingtianchunyan,代表星火计划委员会