dPoW Demystified: An Essay by James 'jl777' Lee
Update: In June 2021, dPoW switched to the Litecoin network for more efficient cross-chain notarizations.
Anchoring data on the BTC blockchain wasn’t a new idea back then, but having a decentralized method to do it was.
In recent months, several similar protocols have entered the market. I’m pleased to see other developers following down the path that dPoW forged. Imitation is the sincerest form of flattery.
However, as things currently stand, Komodo’s delayed Proof of Work (dPoW) security mechanism is still the only protection against 51% attacks that anchors to the BTC blockchain.
dPoW Is Decentralized
I have seen a lot of people call dPoW centralized, due to the usage of the 64 Notary Nodes (NN). The word “centralized” implies that a single entity controls it and, the last time I checked, 64 was much more than 1, so at worst, dPoW would be a distributed process.
Komodo’s NN operators are elected in an annual stake-weighted election and, in recent years, we are getting 40 to 50 independent notary operators running the 64 nodes. This is far less centralization than many coins, which have just a few mining pools with majority of hashrate.
However, there is an even stronger reason that dPoW is decentralized. That is the fact that all nodes in the network validate all proposed notarizations and if it is invalid, it is ignored. What this means is that your dog and a monkey at the zoo could be making random notarizations and the only consequence would be a series of invalid notarizations, which would have no effect.
The advantage for electing competent NN is that we can rely on them to be regularly submitting valid notarizations. By broadcasting valid notarizations to the network, the NN force all regular full-seed nodes to make sure the proposed notarization matches what they have locally and to update their local status to being notarized at the latest height.
This happens AFTER the blockchain uses its normal consensus mechanism to resolve small forks. In other words, each dPoW-protected blockchain still has its own decentralized network and its own consensus rules.
Each blockchain’s network still comes to agreement on which transactions and blocks are valid. The whole network then comes to agreement a second time to determine which blocks will be notarized onto the KMD and BTC blockchains. Unless the blockchain is in sync across the network, the protocol that the NN run won’t reach consensus.
Think about this. If we have a multisig transaction that is signed by 13 people, chosen randomly out of a group of 64, does that make it centralized? Clearly, 13 is more than 1 so we can dismiss any centralizations claims of the multisig immediately.
So, let’s change the question to this: If you sign a transaction on your node and broadcast it, is that transaction centralized because you were the only one who was involved in creating it? Does the fact that you can indeed do this on BTC make bitcoin centralized?
Of course not!
Decentralization is not about how many nodes are involved in creating the transaction, but rather, what percentage of nodes are involved in validating the transaction. If all the nodes in the network are validating a transaction, then it sure seems to be decentralization at work.
Nobody could fool a node into thinking that an invalid notarization, i.e. one that disagrees with the local chain data, is valid. It always gets rejected.
Hopefully, this can put the “dPoW is centralized” FUD to rest.
dPoW Integration Requirements
At the time of writing, dPoW is protecting more than 30 blockchains created with Komodo’s technology, as well as six external third-party blockchains: GAME Credits, Kreds, Einsteinium, HUSH, SUQA, and GIN Coin.
Adopting dPoW does require a hard-forking update. As far as the required code changes to the existing protocol goes, it is just 3:
- detect proposed notarizations by scanning transactions in new blocks. If a notarization is found to have a valid set of signatures and it also matches the chain data that is local, then the notarization height is updated.
- the standard checkpointing code is updated to use the latest notarization as a checkpoint, which will reject blocks that come prior to the notarization
- prevent any reorg that is attempted that would reorg a notarized block
As you can see, dPoW is making very small changes to whatever consensus code that is already being used. It adds a delay to make sure the local chain is coming to consensus with the mainchain prior to any notarizations taking place— hence the name delayed Proof of Work. Any invalid notarization is simply rejected.
While there are fees involved for adopting dPoW, they are marginal in comparison to both the real costs of dPoW, paid in BTC transaction fees, and to the level of security dPoW provides to each project.
After the Komodo ICO came to an end in November 2016, a total of 2,639 BTC was raised. This is nothing in the world of blockchain ICOs and the majority of that BTC was set aside to pay for dPoW notarization costs for the following decade.
Komodo spends approximately 180 BTC per annum on BTC transaction fees to keep dPoW security up and running. This is a fixed cost so we welcome other projects to join dPoW at a greatly reduced rate. It is a proper economic model— the more projects that adopt dPoW, the less expensive it becomes for everyone.
In addition, every project that adopts dPoW receives BTC-level security. Every hour, over $300,000 USD in electricity is pumped into Bitcoin mining. dPoW protected blockchains get the same level of security for a very small fraction of the cost.
For those interested in adopting dPoW, contact the Komodo marketing team at partners@komodoplatform.com