Komodo: Zcash PoW with dPoW Consensus Mechanism

in #komodo8 years ago (edited)

PoS, PoW, and dPoW

In order to create a cryptocurrency that is as secure as Bitcoin, but as energy efficient as possible, Komodo was envisioned as an NXT-Style Proof of Stake cryptocurrency that would rely on notary nodes to ensure its security on the Bitcoin blockchain. However, in order to minimize the changes needed to be made to the Zcash baseline and to support 100% anonymous transactions while still supporting dPoW, Komodo will be released as Proof of Work cryptocurrency with notary nodes (PoW/DPoW).

By using PoW as the initial consensus mechanism it is easily ensured that in the case of a malfunction with the notary nodes, the network can make a seamless transition from dPoW to decentralized block creation via PoW. Furthermore, changing the Zcash code to become a PoS consensus would just bring unnecessary work with no real benefits. For us it doesn’t matter what the initial consensus mechanism is as stated on page 5 in the dPoW whitepaper:

The initial consensus method can be anything and the delayed Proof of Work consensus can be build on top of it. Thus at its core the dPoW blockchain could be either a Proof of Stake (PoS) or Proof of Work (PoW).

With enough hashpower, normal Proof of Work nodes will still be able to generate coins at a lower rate than notary nodes (since notary nodes will always have minimum difficulty while mining) but it will still be infeasible to mount a 51% attack on the network. Even in the event of a 51% attack, any use that waits for the bitcoin confirmation is safe due to the notary nodes. Komodo’s dPoW consensus mechanism is visualised in the picture below.

Delayed Proof of Work Consensus Mechanism

In this case, we’re left to wonder: Will Komodo still be energy efficient? The answer is yes. Komodo will use the same hashing algorithm as zcash, Equihash, which makes ASIC development unfeasible and keeps mining in the hands of the CPU and GPU owners.

We have also thought a way to avoid the mining wars by making them uneconomic, thus we are able to keep the tx fees as low as in PoS blockchain. This is achieved by giving a chance for each notary node to mine at the current difficulty, and that will rotate in a round-robin so each notary node gets 1/64th of the current difficulty blocks. The rest of the notary nodes get to mine at 10x the current difficulty. Everyone else gets to mine at 100x the current difficulty.

All in all, the initial Zcash PoW consensus allows Komodo to easily build the dPoW consensus mechanism on top of it. This also allows an easy and seamless transition to ‘No Notary’ mode, which would be the Zcash PoW. Otherwise Komodo uses the dPoW notary nodes that ensure energy efficiency and low tx fees.

Further reading

Notary mining wars – and how to avoid them
Delayed Proof of Work Whitepaper

Sort:  

We just spotted a small blunder from our picture, which is also in the whitepaper. On the right side where it says "Notary nodes", but it should be "Normal nodes".

Notary nodes are elected, and there will be 64 of them. They will do the notarization to Bitcoin blockchain.

Normal nodes can be run by anyone, but because of the harder difficulty they will only find some blocks while the notary nodes will find most of them with an easier difficulty.

Thank you for making this clear.

Is there any published code out there for either zcash or KMD mining yet? I did a search but didn't find anything. Komodo seems like a good project to me, I may buy into it during the ICO which I believe starts tomorrow. But I would also like to look into mining as well.

EDIT: I searched a little more and found this info on mining: https://github.com/jl777/komodo/blob/master/README.md Thanks for this!

Great read.

So Komodo is a part of Zcash, or am I mistaken and Komodo is its own crypto currency altogether?

We are not part of Zcash, but the Zcash is an open source project.

We fork the Zcash and build the dPoW consensus on top of it. The Zcash technology is great and we expect many other projects to use it too, we are just the first to do so.

Awesome, I appreciate your commitment to crypto currecy and I will be mining some after talking to my IT.