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.