From a conversation in Komodo Discord:
hardcoree – Hello, I was wondering how dPoW is implemented and how it can secure the chain from 51% attack?
ComputerGenie – The short answer is that it acts like “checkpoints” in traditional chains. Notaries take an accepted hash from the chain, record it on a “higher chain” (KMD for assets and the like, BTC for KMD), and then record that hash from the higher chain back on to the originating chain. Since it happens frequently and notaries are able to block as a low difficulty, notaries don’t have to “out hash” a chain in order to produce a block
jl777 – As long as the lag in getting the notarization done is less than the number of confirmations require, then it won’t be possible to double spend against an exchange: https://komodostats.com/api/notary/summary.json
It isn’t 100% protection against all possible 51% attacks, but is certainly much better than not having any notarizations at all. Think of it as “2FA for blockchain”
hardcoree – Can’t the attacker also apply the dPoW?
ComputerGenie – No, because notary addresses are hard-coded into the protocol and as such only they are allowed (nodes will not accept “notary blocks” from non-notaries)
hardcoree – How many nodes are there? And who controls the nodes?
ComputerGenie – 64 and they are voted into position by anyone holding KMD coins, 1/2 of the nodes 1 year and the other 1/2 the next
hardcoree – So it’s in the hands of the nodes in the case of a 51% attack to roll back? Is there a number a KMD that is required as collatoral for a node?
ComputerGenie – There is no “roll back” because the attacker can’t drop the chain back further than the last notarization
jl777 – It is a “write protect” on the blockchain based on the notarization. Only one chain can get notarized
hardcoree – Could you also elaborate on how the double spend be prevented?
jl777 – You can only double spend if you can rewrite the chain that had your first spend by preventing the chain from being rewritten, the double spend is prevented. You can’t change the blockchain once it’s notarized, and if you can’t change it that means you can’t change it to spend a utxo differently
hardcoree – I see, could you tell me more about the nodes? Like who runs them? And is there some sort of collateral on them?
jl777 – We decided against just selling notary spots. You need to be elected by the KMD holders and by and large we ended up with experienced server operators, most not having any large stake. The “collateral” is each operator’s reputation and their chances in next year’s election, the top half get automatically reelected and even if they aren’t the incumbents should win about half the spots. So there is strong incentive to do a good job, even if you are only motivated by money. If you are motivated by wanting to create a more secure KMD (as many notaries are), then the money is just a nice bonus. So by making the notaries a human element instead of just numbers, it gives us a qualitatively better group than some random number of masternodes (not that notary nodes are anything like masternodes)
hardcoree – How much money is given ? And how does the voting process work ?
jl777 – Voting is free. A special coin was airdropped for voting. People sent the VOTE coin to their candidate of choice