Protocol update: preconditions and prospects

A new proposal for Proof-of-Work signing protocol is currently under development. It would provide stakeholders an ability to vote for Proof-of-Work blocks they’ve received. What is interesting, it’s possible to implement without breaking a compatibility with nodes that doesn’t support this protocol.

A main idea is quite simple:

1. Proof-of-Work miner submits a new block over the network;
2. New block is accepted as a “candidate” (score = 1);
3. Each node builds a deterministic list of stake generators from the past (64 items, for example);
4. Stake holder appends own signature to vchBlockSig field (currently it’s not used) and then submits signed block over the network;
5. Once enough signatures collected (16 of 64, for example) new block is accepted into block chain as a “full value” block (score is equal with provided by the current proof-of-work score policy).

This process would be able to prevent malicious miner from creating a secretly pre-mined chain in order to perform 51%+ attack even if he has 99% of hashing power and significant stake volume. Because he can’t collect enough signatures while keeping his chain secret.


Current testing branch runs pretty stable for now. This branch is available here for public testing:

Basic list of changes:

1) Pruned transactions serialization support.

Pruned transaction records are now saved into coinsDB. These records are composed of 13-14 bytes of metadata (block height, coinbase/coinstake flags, block and transaction timestamp). This resolves all syncronization issues. Though currently there is no lifetime limit for such records, cleanup for old records will be implemented in the future versions of NVC client (this cleanup will be performed after reaching the 520-blocks maturity window, I guess).

2) Conflicted transactions handling.

Valid XHTML 1.0 Transitional Valid XHTML 1.0 Transitional Valid CSS Valid CSS      I find a bug/typo or I have a suggestion
Adapted for Lynx-like browsers
2013-2017 © Zloy & Co
For donations: 4ZLoY6T8wXKgrbZM9gL8fQt48NUzGo2yAg