Updates
Features
Differential Testing Framework for ckb-vm
Implemented a differential test framework for ckb-vm. This provides a stronger foundation for validating optimizations and future architecture changes: GitHub - yuqiliu617/ckb-vm-contrib at differential-test · GitHub
CKB DAO Treasury Design & Voting Research
research on the CKB DAO Treasury design and voting settlement, with multiple directions under active discussion:
- Option 1: DAO-Bound Voting with Off-Chain State
Explores a governance model where voting power is bound to Nervos DAO deposits, while proposal state, voting records, and tally data are maintained off-chain and committed on-chain through verifiable state roots.
This direction focuses on improving scalability while keeping governance state verifiable.
- Option 2: Experimental MVP Implementation
Built an experimental MVP to validate core DAO Treasury workflows and voting-related transaction construction. Details see: ckb/dao-treasury at dao-treasury · chenyukang/ckb · GitHub
- Option 3: Rollup-inspired Voting Settlement
Explores a rollup-inspired approach for voting settlement, where voting data is batched and compressed into verifiable state updates.
This direction focuses on improving settlement efficiency while preserving on-chain verifiability under CKB’s UTXO model.
Key Question Identified & Follow-Up Research
How to handle on-chain settlement for the voting process. Continued follow-up research based on the design discussions:
- Evaluation of CKB partial transaction design based on the newly proposed voting architecture.
- A zkVM-based solution for voting.
Improvements & Fixes
Cryptography & Performance
- ckb-vm ARM64 optimization
A series of optimizations were merged into ckb-vm to improve performance on ARM64-based hardware:
- SHxADD / ADDUW Instruction Optimization on AArch64 ckb-vm#504
- MULHSU Instruction Optimization on AArch64 ckb-vm#505
- Division and Remainder Instruction Optimization on AArch64 ckb-vm#506
- Add Fuzz Tests for RVM Instructions ckb-vm#507
- Finished optimization for Module-Lattice-Based Digital Signature Algorithm (ML-DSA).
This further prepares the network for post-quantum cryptographic standards: GitHub - XuJiandong/signatures at use-opt-shake128 · GitHub
Infra & Tooling
- Upgraded CKB toolchain to 1.95.0: [rust-toolchain] Upgrade Rust toolchain to 1.95.0 #5175
- Added
SKILL.mdfor AI agents in ckb-debugger, making it easier for agents to assist devs in debugging CKB scripts.: Add SKILL.md for AI agents ckb-standalone-debugger#202 - Fixed rich-indexer prefix search upper bound leading zero bytes issue: Incorrect prefix search results in Rich Indexer due to get_binary_upper_boundary() dropping leading zero bytes. #5165
- Re-organized molecule’s Cargo workspace structure: Organize Rust crates into a Cargo workspace molecule#115
- Synced the [ckb musl](GitHub - nervosnetwork/musl: A fork of https://git.musl-libc.org/cgit/musl with Nervos CKB changes · GitHub) fork with upstream: GitHub - mohanson-fork/musl at newest · GitHub
Networking & Connectivity
- Continued QUIC support for Tentacle:
- QUIC / UDP address parsing: quic: support quic/udp address parsing tentacle#430
- Certificate generation and verification, plus a simple QUIC smoke test:quic: cert generating and verifying, simple quic smoke test tentacle#431
The underlying P2P network Tentacle, is moving closer to full QUIC support. QUIC (built on UDP) provides faster handshake times and better resilience against connection migration compared to standard TCP.
In Pipeline
Core Maintenance & Release Prep
- RocksDB key schema refactor: [BREAKING CHANGE] Refactor rocksdb schema to reduce Read/Write Amplification #5085
- Use the differential test framework to verify CKB-optimized libraries, including sha256, sha512, fip202, and others.
- Prepare for the next CKB release.
Networking
- Continue QUIC support for tentacle:
- Rustls verifier for QUIC certificate
- QUIC session implementation
- ServiceBuilder integration
Governance PoC
- Continue the zkVM-based voting system, including spec and demo / PoC.
- Review the previous open transaction design and continue investigating the partial transaction approach.