Protocol update: Preconditions and prospects.
Just like PPCoin, NovaCoin uses ChainTrust score instead of ChainWork (used by BTC, LTC and another PoW-based systems).
We decided to implement the new chain trust score calculation algorithm. It will prevent pure PoS double-spend attacks even without broadcasted checkpoints. Now I’ll try to describe, how it works in comparison with an old algorithm.
Old chain trust score calculation algorithm basics:
1) PoW block always adds 1 to current chain trust score;
2) PoS block adds (CBigNum(1)<<256) / (bnTarget+1) to chain trust score.
Result: we have dictatorship, stakeholders are Gods here.
Benefits: It’s impossible to perform PoW-based double-spend or DoS attack.
Flaws:
- Owner of enough stake weight (25% of total weight or more) able to perform PoS-based double-spend or DoS.
- Double-spend could be prevented by broadcasted checkpointing.
New chain trust score calculation algorithm will be more complicated. Here is the concept (1/3 and 2/3 are parts of example, final ratio values can differ from this):
1) PoS block adds (CBigNum(1)<<256) / (bnTarget+1) to the total chain trust score only if it has PoW block as parent;
2) PoS block adds only 1/3 of “usual” PoS block trust score if it has PoS block as parent;
3) PoW block adds (CBigNum(1)<<256) / (bnPrevBlockTarget+1) to the total chain trust score, if it has PoS block as parent;
4) PoW block adds 2/3 of previous block trust score to the total chain trust score, if it has PoW block as parent.
Result: Hybrid chain always has higher trust score than pure PoW or pure PoS chain.
Benefits: It’s impossible to perform pure PoW or PoS-based double-spend. DoS-like attack scenario is also impossible in such cases. Attacker must combine enough PoW & PoS generation power to get success.
Flaws:
- System will become slightly less energy efficient. But still more efficient than PoW-based system.
- ???
According to release plan, new algorithm will be introduced in 0.4.3, but will be inactive on the main network until 20 Sep 2013.