Nervos CKB Testnet Mining Competition Round 3 Request For Comment

With the second round of the Nervos CKB mining competition complete, we want to express our sincere gratitude to the community, and all that participated. Not only did this second round help us further stress test the network and provide valuable data and insights, but the community also helped us identify a bug in the difficulty adjustment which is now being fixed!

We would like to remind our community that the proof-of-work testnet is still a “wild-west” with all sorts of craziness — being of course very different from how CKB and other mainnets like Bitcoin operate. These unexpected dynamics that sometimes can not be predicted theoretically, is exactly what the testnet is for.

The intention of this testnet is to test the stability of the consensus. In particular, we’d like to see whether the consensus handles uncle blocks well around new epochs with fluctuating hashrates.

If you have any comments, please reply on the Nervos forum. The final rules will be released before the competition.

Nervos CKB mining competition phase 3 RFC

Total rewards: 6,000,000 CKB main net token

Time: Aug 10th 6:00 AM (UTC) - Aug 24th 6:00 AM (UTC)

Reward distribution:

1. The community pool rewards (3,000,000 CKB)

All addresses that have mined at least 3,000 CKB will share this rewards pool and receive CKBytes in proportion with the block rewards produced by each address.

2. The lucky block rewards (3,000,000 CKB in total, 80 winners)

On the current Nervos CKB testnet, there is one difficulty adjustment epoch in about every four hours. We expect there will be 84 epochs in total during the two weeks’ mining competition based on what we saw in the mining competition phase 1&2. From Epoch 1 to Epoch 80, any address that mined the first block aka lucky block in each epoch will be rewarded 37,500 CKB. Note the genesis Epoch (Epoch 0) is not included.

FAQ:

  • How are the block rewards in CKB different from those in Bitcoin?
    • For Bitcoin, the block rewards are fixed in each block you mine; For CKB, the total block rewards are fixed in each difficulty adjustment epoch,CKB consensus adjusts difficulty to adjust block time, when difficulty increases, there will be less blocks mined during one epoch, but block rewards in each block mined will be increased.
  • What is difficulty adjustment epoch in CKB?
    • On the current Nervos CKB testnet, we target difficulty adjustments at every four hours (In Bitcoin, the difficulty adjust happens every 2016 blocks, while the block interval is 10 mins). For more details please refer to our Consensus RFC.
  • Why the community pool rewards only apply to addresses that mined at least 3,000 CKBytes testnet token?
    • The native token CKByte represents state storage space on the Common Knowledge Base blockchain. A cell is the basic data structure in the blockchain, you can put any arbitrary data in a cell, and it requires 60 CKBytes to create a cell.
    • During two weeks’ period, we expect to have around 84 epochs and 1,250,000 block rewards for each epoch with a total of 105,000,000 CKB testnet token expected to be mined. Given the 3M total CKBytes community pool rewards, it requires you to mine at least 2,100 CKB testnet tokens in order to receive 60 CKBytes (round up to 3,000 CKB)
  • When should I increase my hashrate in order to get the lucky block reward?
    • Increase the hashrate when getting closer to the start number of next epoch. You can calculate the start number of next epoch based on the current epoch start number (block height) and the length of each epoch in CKB explorer.
    • Nervos reserves the right to change, amend and add new rules at any point during the competition and dis-qualify any participants who attempt to exploit, cheat or maliciously attack the test-net or competition. All decision made by Nervos Team are final.
  • After mining a block, how long does it take to receive the block rewards?
    • The block rewards from Block N will be received in Block “N + 11” (about 3 minutes) via Cell Base Transaction.

Please follow our Twitter for more info !

The dev team is working on a high performance CPU miner based on AVX512 instruction set and a GPU miner based on CUDA. Both miner would be released before Round 3 if everything goes well.

1 Like

Given 51% attacks seem more or less automated by the previous competitions lucky block winners. What is your level of tolerance around 51% attacks? Is it zero tolerance or do you still expect some minor reorg of the blocks? How will the reward be calculated? Will you be taking snapshots of the first address to mine the lucky block (if yes do you allow normal network reorgs due to latency for example between Europe and China?) or will you wait until the end of the competition and just look at the final history?

for the round 2 the team based the result on the final blockchain state.

From my own perspective, for short reorg like several blocks are orphaned, that’s okay because that’s competition. But something similar to “long range attack” will hurt the whole community and should be forbidden.

I think the team consider this almost the same.

Can we specify what would constitute a short and long reorg? Like 11 blocks or less for a short reorg for example.

maybe less than one hundred we can consider that’s “short” :slight_smile: