DAO Fields and CKB Issuance

I’m frequently asked about the DAO fields in the CKB block header, so I try to answer it in this post.

CKB uses 32 bytes to record DAO related information in the header.


For 1 CKB locked in DAO since block i (excluding the occupied capacity), it gets AR_j / AR_i - 1 rewards if it were withdrawn at block j.

C_i, S_i, U_i

These fields trace the total CKB amount under there categories.

  1. Total of all live cells
    • 1.a. The #6 output of the genesis transaction 0. Its occupied capacity is hardcoded to be 6/10 of its total capacity, which is 8,400,000,000 CKB.
    • 1.b. Unspent outputs of the genesis transaction 0 which are time locked initial distributions. They use the lock script secp256k1 / multisig / locktime
    • 1.c. Locked Dao Cells
      • 1.c.a. Occupied Capacities
      • 1.c.b. Free capacities (cell total capacity - occupied capacity) are locked in DAO.
    • 1.d. Live cells excluding 1.a, 1.b, and 1.c.
  2. Unclaimed DAO rewards: The part of secondary issuance for DAO rewards that has not been claimed yet.
  3. Burned to treasury: This pertains to the third part of the secondary issuance, which includes allocations for 1) miners, 2) DAO rewards, and 3) the treasury. The utilization of these CKBs remains undecided and may be accessible in a future hard fork as incentives for community contributors.

Hi, ian,我们在ckbdapps上做了一个CKB历史占用情况走势图,算法是遍历区块,找到每天北京时间8点之后的第一个区块的头,解析dao字段,取dao.U,输出结果符合预期:

不过当我查看tx 0时,看到output #6 的cellinfo,其occupied 是61,并非8400000000*6/10:

所以,文中你提到的hardcoded,我理解是在设置U_0的时候专门为tx0.output #6 而hardcoded的,并非体现在其cellinfo里,不知道我理解的对不对?

Yes, the data is not set because it is too large.

1 Like

谢谢回复,我明白了。也许ckbdapps上可以尝试说明这一点,当我去掉satoshi gift 这部分的占用时,这个图就更加直观了:


1 Like

The intention is to ensure the minimum ratio of the secondary issurance for miners.

1 Like


Ratio for miner is: u/c

Assuming that genesis tx#6 is the only cell occupying CKB capacity, the minimal ratio is 8400000000*6/10/c

1 Like