A Quick Summary of Nervos CKB for Bitcoiners


I found project Grin has a " Grin/MimbleWimble for Bitcoiners", which seems to be very helpful to have a quick understanding on its protocol.

So I did a quick review on CKB and write a similar post. Comments are more than welcomed!

Cell Model

CKB adopts Cell Model instead of UTXO model to achieve these properties:

  1. The storage of arbitrary data
  2. Measurement metrics for storage on protocol level
  3. More flexible assets usership and ownership definition on protocol level


CKB integrates a RISC-V based virtual machine called CKB-VM (Lite Paper) for doing computations and proof verifications, which comes with these features:

  1. Enable more flexible and powerful lockscript
  2. Runtime visibility that enable programs to query resource usage while running
  3. A better defined runtime overhead metrics


CKB utilizes an optimized Nakamoto consensus to get higher bandwidth usage efficiency and thus achieve better on-chain scalability to a certain extent.

The overall scalability of Nervos is achieved by combining with Layer 2 solutions. CKB provides better supports for Layer 2 in terms of that

  • it enables more flexible and versatile User Defined Assets on CKB, while providing absolute security and censorship resistance.
  • CKB-VM is powerful enough to do verification on any kinds of cryptographic proofs


The scripts on CKB are executed by CKB-VM. As a RISC-V simulator, CKB-VM already supports multiple compilers, such as GCC and LLVM (more are going to be supported in future by the RISC-V community), which means users can program on CKB in multiple popular high level programming languages such as C/C++, Ruby, Java, Python and Rust.

I will update this post as the r&d goes on!