Komodo’s Delayed Proof of Work (dPoW) Security, Explained

Origins of delayed Proof of Work (dPoW)

The Internals of delayed Proof of Work (dPoW)

source: https://www.blockchain.com/charts/hash-rate
  1. The blockchain network will follow the longest chain in the network.
  2. If two or more miners verifying a block solve the same block at the same time, the block which is most synchronized in the network will be treated as the winner and agreed upon by all the nodes in that network.

Quick overview of double spending attack

  1. A computer node with full blockchain to make the transaction and broadcast it to the peer-to-peer network.
  2. A second computer node with the full blockchain which is NOT connected to the rest of the peer-to-peer network, and is being privately mined from the block prior to where the attacker sent the transaction from first computer node.
  3. Need 66.666% of hash-rate, but 51% is statistically enough to eventually get a longer chain. The more than 51% of the hash-rate the attacker has, the faster he can build the private chain. With more hash-rate, the attacker will be able to solve the blocks faster than the rest of the miners in the network combined. (To solve a block the Bitcoin’s expected time is 10 minutes, while Komodo’s expected time is 1 minute.)
  4. Once the attacker sees that his count of blocks solved is more than the rest of the network, the attacker can create the same transaction again with a different destination address for the funds he spent in step 1.
  5. Then, the attacker can open his mining node’s connection to the rest of the peer-to-peer network and broadcast this transaction.
  1. The transaction sent in step 1 is not included in the same blocked solved by attacker’s mining node. Since the attacker’s block replaces the old block that did contain the transaction, it’s as if that transaction never happened (even though the funds were sent to the receiving address).
  2. Since the attacker mined the longest chain of blocks and then also spent his funds in later blocks to a different destination address, the “Longest chain” rule comes to the condition and rest of the peer-to-peer network invalidates the old blocks submitted by the other miners and they switch to this attacker’s longest chain.
  1. Owning or renting the processing hardware necessary to achieve more hash rate than the rest of the network combined.
  2. The mining difficulty of the targeted blockchain at the time of the attack.
  3. The uncertainty of an increase in the network hash-rate increase caused by other miners joining the network, and their solved blocks propagating to the rest of the peer-to-peer network before that attacker.

Komodo’s dPoW Security: A Hero for the small cryptocurrency projects

dPoW security can NOT :

dPoW security can:

To make dPoW security work, it needs:

  1. Bitcoin, to create a custom multiple signature transactions and send it to the Bitcoin network like any other wallet does in Bitcoin.
  2. Latest Blockhash of the blockchain which it is securing.
  3. 64 special nodes which can create a network of its own dPoW peer-to-peer network and communicate with each other exchanging the latest blocks and dPoW consensus information related to the blockchains it is securing. The nodes in this dPoW peer-to-peer network are called Notary Nodes (NN).
  4. The native daemon of Bitcoin, as well as any other blockchains the Notary Nodes are securing. So, since the first implementation of dPoW was done on Komodo, the Notary nodes needed the full blockchains of both Bitcoin and Komodo. This rule is absolutely mandatory, but only Notary Nodes (not miners or ordinary nodes).
  5. The blockchain that is being secured with dPoW by Notary Nodes does not require its client nodes to run any other blockchains. For example, if Komodo is being dPoW secured by notarizing it’s latest blockhash to Bitcoin, the users using Komodo do NOT need Bitcoin running alongside Komodo. The same applies to any runtime forks of Komodo, now called Assetchains. Normal assetchain nodes are not required to run Komodo alongside their assetchain daemon. The same applies to any 3rd party blockchains being secured with dPoW security.
  6. Need 64 pubkey of addresses from each individual Notary Node participating in delayed Proof of Work (dPoW) consensus. (Note that it is possible to generate multiple addresses for different blockchain with the exact same pubkey.)
  7. Since the 64 Notary Nodes need to run the full blockchains of Bitcoin, Komodo, as well as all other dPoW-protected blockchains, it is mandatory to have a high-quality server with a good Server-level CPU, at least of 64Gb or more RAM, a 100Mbit/s internet speed connection, and enough fast SSD storage space to store Bitcoin and all the other blockchains (about 1 Tb of storage is sufficient).
  8. 64 highly skilled Notary Node operators who are experts in managing the Linux operating system, with high skills in system admin and network security of the machines they are using for Notary Node.
  9. A big community of blockchain holders with a good distribution of its coin supply. These are needed so that they can use the weight of their coin ownership and use that weight to vote for these Notary Node operators. The Notary Node operators who get the highest vote counts from the top are selected as official Notary Node operators.
  • Since dPoW was first created, there have been 4 Notary Nodes reserved for Komodo’s developers. This is still true today.
  • The other 60 Notary Nodes are elected based on the votes of KMD holders and how they vote for the Notary Node operators.
  • In the second year of Notary Nodes, the top 30 Notary Nodes that completed the most notarizations (of Komodo to Bitcoin or Assetchains to Komodo) are automatically re-elected. In other words, the best-performing notary nodes are automatically re-elected. This gives notary node operators incentive to do their job well, rewards diligent operators, and ensures a smooth transition from one cohort to the next.
  • The lowest 30 Notary Nodes positions are opened to the community.
  • The location of Notary Node servers must be diversified on all continents. That is why you see the existing Notary Nodes categorized in the following locations: Southern-Hemisphere (SH), Asia-Rusia (AR), North-America (NA), Europe (EU).
source: https://komodostats.com/

What it takes to be a Notary Node operator and be selected by the community:

  1. A Notary Node operator must first perform in the test notary node network, which works as a separate network on real hardware and blockchain network. It does take some initial investment to get started with notarizations on the test network.
  2. Notary Node candidates do NOT need to have a single unit of KMD or any other cryptocurrency to participate in becoming a Notary Node. Anyone skilled enough to manage multiple blockchains nodes and a server with ultra-strong security can stand for Notary Node election.
  3. Deep knowledge of blockchain internals is not required but candidates should have basic knowledge of blockchain node management, as can help very much in case of maintenance issues.

Fact check 1:

  1. The process of becoming a Notary Node is a community-driven event. It is very hard (and suicidal) for a notary node to be elected and then try to behave selfishly after becoming Notary Node operator.
  2. dPoW does not mine/generate blocks, so Notary Nodes cannot act as attackers in a 51% attack.
  3. Since holding any cryptocurrency (BTC, KMD, or otherwise) is not a requirement to become Notary Node operator, Notary Nodes are nowhere near the concept of Masternodes. Notary Nodes are NOT Masternodes. They have nothing in common.

Powers of Notary Node operators:

  1. A Notary Node operator participates in the notarization of each blockchain running on their notary node machine. The worst thing an evil Notary Node could do is choose to stop participating in the Notarization process (for either an individual specific blockchain or for multiple blockchains).
  1. Notary Nodes can NOT “easy mine” Assetchains or any 3rd party blockchains they are running on their machine/server. If they wish to mine these blockchains, they can participate in mining like any other miner in that blockchains’ network by using the CPU/GPU/ASIC/Rented hash power like everyone else.
  2. Notary Nodes do invest time, money, human resources/skills, hardware/software resources and infrastructure to run and manage the Notary Node they are operating. That is why the ONLY privilege given to Notary Node operators is periodic “easy mining” for blocks on the Komodo ($KMD) blockchain (and only the KMD chain). The Komodo blockchain source code includes the 64 pubkey of Komodo addresses which are of Notary Nodes. Each Notary Nodes elections these 64 pubkey are updated in the code. Any address which is mining $KMD from one of those pubkey is granted “easy mining” benefits.
  • KMD block time: 60 seconds
  • KMD block reward: 3 KMD
  • Possible blocks in a day: (60 seconds = 1 minute. 1 hour = 60 minutes. 24 hours = 24 x 60 = 1440 minutes) = 1440 blocks, (1440 x 3) = 4,320.0 KMD
  • Possible blocks and KMD in a month: (days in year / months = 365.25 / 12 = 30.4375 days a month. 30.4375 x 1440 = 43830 minutes) = 43830 blocks, (43830 x 3) = 131,490.0 KMD
  • 75% of blocks in a day: 1440 x 0.75 = 1080 blocks, (3240 x 3) = 3,240.0 KMD
  • 75% of blocks and KMD in a day by individual Notary Node: 1080 / 64 = 16.875 blocks, (16.875 x 3) = 50.625 KMD
  • 75% of blocks and KMD in a month: 43830 x 0.75 = 32872.5 blocks, (32872.5 x 3) = 98,617.5 KMD
  • 75% of blocks and KMD in a month by individual Notary Node: 32872.5 / 64 = 513.6328125 blocks, (513.6328125 x 3) = 1,540.8984375 KMD
  • Value of single KMD coin as per 9th December, 2018 snapshot: $0.606774 USD
  • Value of single KMD coin as per 24th December, 2017 snapshot (the snapshot showing highest ever KMD value): $10.49 USD
  • Daily: 50.625 x 0.606774 = ~$30.717934 USD approx.
  • Monthly: 1540.8984375 x 0.606774 = ~$934.977109 USD approx.
  • Yearly: 1540.8984375 x 12 = 18490.78125 KMD x 0.606774 = ~$11,219.725302 USD approx.
  • Daily: 50.625 x 10.49 = ~$531.056250 USD approx.
  • Monthly: 1540.8984375 x 10.49 = ~$16,164.024609 USD approx.
  • Yearly: 1540.8984375 x 12 = 18490.78125 KMD x 10.49 = ~$193,968.295313 USD approx.
source: https://coinmarketcap.com/currencies/komodo/
  • Daily: 50.625 x 2.50 = ~$126.562500 USD approx.
  • Monthly: 1540.8984375 x 2.50 = ~$3,852.246094 USD approx.
  • Yearly: 1540.8984375 x 12 = 18490.78125 KMD x 2.50 = ~$46,226.953125 USD approx.
source: https://coinmarketcap.com/currencies/komodo/
  • Daily: 50.625 x 18.78 = ~$950.737500 USD approx.
  • Monthly: 1540.8984375 x 18.78 = ~$28,938.072656 USD approx.
  • Yearly: 1540.8984375 x 12 = 18490.78125 KMD x 18.78 = ~$347,256.871875 USD approx.
  1. It makes sense to look at these figures when the suggestion is raised that a Notary Node can turn out to be evil and do some suicidal attack on itself and the KMD network (or one of the networks of a dPoW-protected chain). These figures are also relevant when doubters suggest some kind of mass suicidal attack where the hypothesis is that many or all 64 Notary Node operators can collude with each other can make some kind of group attack on a blockchain.
  2. If a Notary Node performs its operations for a whole year and performs well enough to be one of the top 30 Notary Node, it gets automatically re-elected, thus it gives a very strong incentive for a notary to not be suicidal and performs its duties as assigned.
Excel view of the calculations performed in this section for estimated earnings that a Single Notary Node can earn

Why it’s a lose-lose situation for a Notary Node to act against dPoW

  1. Notary Node operators spend a significant amount of their time and money setting up and managing their Notary Node. All of that investment is at risk if the operator tries to go against the protocol. Attempting to act maliciously would almost certainly not be worth as much money as the compensation they receive for being an operator.
  2. By the time a Notary Node operator builds a reputation as one of the most trusted and best-performing Notary Nodes, the incentive to act maliciously is reduced even further, as the operator is not only giving up financial losses for the current year but also for the future year.
  3. The chance of being automatically re-elected in next year’s Notary Node Election is lost entirely if a Notary Node acts against dPoW.
  4. Any Notary Nodes that are performing well are noticed quickly, as there are other Notary Node operators continuously monitoring the dPoW process and its efficiency. In the event of any funny business, some Notary Node operators would get notified and alert the whole network.

The Process of Notarizing Komodo blockchain to Bitcoin

  • you understand the basics of Proof of Work.
  • understand the overview of 51% attack and how double spending a transaction may happen.
  • the requirements for dPoW and Notary Node operators.
  • Start Bitcoin, Komodo, Assetchains, and any 3rd-party cryptocurrency daemons.
  • Make sure they are synchronized to the existing network and up to date with the full blockchain.
  • Fetch any updates of iguana daemon, compile it, and start iguana daemon and issue the coin connection API command for iguana to connect it to all the RPC API of cryptocurrency daemons running on local machine/server. This step makes iguana talk to the all the daemons running on local machine.
  • Login to iguana with the passphrase of that notary node.
  • Latest block height + blockhash, as shown in example below
[BTC].1131235 KMD 0b449e03e777d8fce1ab31d3fec6749804da85fd61f0044940b071bbf22d2071 height.1131236 vs last.1131236
[BTC].1131255 KMD 01f926f16b380f5b7353bbe388eda604fcb74dedaabf84e18d0608db85e24e86 height.1131256 vs last.1131256
[KMD].252711 HODL 0008cb2e4e793ce931d7de29f10f3a546b7a31dbbe21881db4042accd05b7c14 height.252712 vs last.252712
[KMD].2653660 CHIPS 0000000000001d41eba16c82811c53aa2bdbcaea946cb5b003064f65408fcddc height.2653661 vs last.2653661
[KMD].111594 SEC 0a97703662777e5e37161d784bab3f83098f8871d8e3b77d743b759805808d9c height.111595 vs last.111595
[KMD].2175145 EMC2 d670d53b9f2e32b046c5a9ef58344a841cec072e434c105e5b0970f4002e8b91 height.2175146 vs last.2175146
[KMD].235138 BET 004ef2c08c86401909057dd40d9382c4a43ab806a26b7df5f84d127408ac2063 height.235139 vs last.235139
[KMD].2653661 CHIPS 00000000000028e030686426e7e45bde2ed148d3a9b346fa0933075cce5ffc34 height.2653662 vs last.2653662
[KMD].143684 PIRATE 0000000187b1be1bc3495473bff0f380fcd03305b2461135009ac274017e8ded height.143685 vs last.143685
[KMD].446836 REVS 00fd735d00a241d9ce4d4fcfc51cf936a094a06f7ffc38d26f43715f83db1254 height.446837 vs last.446837
[KMD].281221 VRSC af107c608daa3f9026cf0c239e611cdbf621fedcfa2fce376c3ef63c48da13cc height.281223 vs last.281222
[KMD].281223 VRSC d0c7a3b5c1d9b1049fdfaf3a19d51c91955c3ceab191f4a952c60c025c2f6afa height.281224 vs last.281224
[KMD].241375 RFOX 0025dfb07997890ca4bd7139a8cbe62470c494fa89086f116e63f983ef715123 height.241376 vs last.241376
[KMD].130041 MGNX 09f93b3811cca54bb40a8f17357c4dcf8ba377dbe05d25e7cf69a672f0a2610a height.130042 vs last.130042
[KMD].446837 REVS 00c360d6d52a2ce589d8854f168e97905908b2fa73f1dc752917dc8942e907f5 height.446838 vs last.446838
[KMD].424349 BOTS 0001d471064478f971a99628c42411bc83b10eef1c5e0e501d09564b6d608a7a height.424350 vs last.424350
[KMD].2232448 GAME 4e9ec27e13ea81512192d27d32d9e8e0b5dd324b447bd6aa63ef0f4d4ff9b2f7 height.2232449 vs last.2232449
[KMD].130042 MGNX 0cc47b5be512c215b7c1a285f36dd1b5cc5588f8f689aa3a9a4888972f4a261d height.130043 vs last.130043
[KMD].75749 DION 0a71c7b911dd59438e479547e6e96749c7b36387a1a5168c9a4fdff755e45291 height.75750 vs last.75750
[KMD].235139 BET 00963ea39fb4f3a69af43d68115b6592db9886fe94ed89c2454632d9c6c9a51b height.235140 vs last.235140
[KMD].181311 EQL 02664b3fd8c6719a4e397cdac412342c90a159df7718ab235ea1290ec38bfdca height.181312 vs last.181312
[KMD].213609 MGW 00007b8416f876deecab3116b99636b9faad0ed78d3d19738f9001cc94ac2036 height.213610 vs last.213610
[KMD].36763 ZEX 0000003428a03a46cc9f5ca0b5a896c91575194810e874ecf094993b4895c69d height.36764 vs last.36764
  • Soon enough, iguana initializes its connection to the rest of the 64 Notary Nodes in the network.
  • Then, the dpow command is executed for every single blockchain which starts the process of Notarizing that blockchain. The command includes the cryptocurrency ticker like CHIPS and the pubkey of that notary node, which looks like the following:
curl --url --data '{"agent":"iguana","method":"dpow","symbol":"CHIPS","pubkey":"02957fd48ae6cb361b8a28cdb1b8ccf5067ff68eb1f90cba7df5f7934ed8eb4b2c"}'
02957fd48ae6cb361b8a28cdb1b8ccf5067ff68eb1f90cba7df5f7934ed8eb4b2c DPOW with pubkey.(02957fd48ae6cb361b8a28cdb1b8ccf5067ff68eb1f90cba7df5f7934ed8eb4b2c) RV8Khq8SbYQALx9eMQ8meseWpFiZS8seL1.valid1 CHIPS -> KMD RV8Khq8SbYQALx9eMQ8meseWpFiZS8seL1.valid1, num.30 freq.100 minsigs.13 CCid.0
  • Checking the latest block height + blockhash of each connected cryptocurrency daemon.
  • Checking which was the last notarized blockhash in every blockchain.
  • Checking if Bitcoin, Komodo, Assetchains, and 3rd party cryptocurrency daemons’ address used by the local notary node is having sufficient UTXO set for notarization.
C(n,r) = n! / (r!(n−r)!) = ?C(n,r) = C(64,13)= 64! / (13!(64−13)!)= 1.313685881E+13= 13136858812224
{"0dev1_jl777", "03b7621b44118017a16043f19b30cc8a4cfe068ac4e42417bae16ba460c80f3828" },
{"xrobesx_NA", "03f0cc6d142d14a40937f12dbd99dbd9021328f45759e26f1877f2a838876709e1" },
{"meshbits_SH", "025c6e94877515dfd7b05682b9cc2fe4a49e076efe291e54fcec3add78183c1edb" },
  • The logic of selecting the 13 nodes is by the position 0 to 63.
  • The position of 0 to 12 are selected as the 13 nodes.
  • In case the node in between these positions is somehow not available or not responding, the next position is used to cover its position and total the count to 13 notary nodes.
  • So, if this logic was kept by just using the myind position in the pubkey array, that would have resulted in always selecting only the first 13 from the pubkey array in the komodod code. To give a fair chance to each notary node in the network of 64, the position of the notary pubkey is shifted each notarization round.
  • That means in case the last notarization round the position of notary with 0dev1_jl777 was 0, it will in this new round be counted as 63, and the position 0 will move to 0dev2_kolo. So over 64 notarization rounds, all notaries hold the 0 position once. This way, it is a fair chance for all Notary Nodes and it doesn’t matter what the notary position is in pubkey array.
  • For the notarization round the position of each notary changes with this modular arithmetic calculation:
(myind + (block height/10)) % 64 = that round position of notary node
myind = 41
blockheight = 1000
mod_number = 64
current_notarization_position = (41 + (1000/10)) % 64 = 13
1. address1 0.00010000
2. address2 0.00010000
13. address13 0.00010000
well_known_address 0.0013000
  • It has 13 different addresses, each having a set of 0.0001 UTXOs.
  • It’s presumed that you have the ownership of all these addresses, which means they are not watchonly addresses, but if verified they show ismine:true in result.
  • You need to send all of these funds + txfee (transaction fee) to one well-known address (for simplicity, let’s assume txfee=0).
  • If you send a transaction in the amount of, for example, 0.00130000 using sendtoaddress you will get a similar transaction like a notarization transaction (except the OP_RETURN data part). To compare, you can see a real notarization transaction on the Bitcoin blockchain here.
  • Transaction ID: 979d23b8d929ccefdb79aabffa2d632f09b292bea71fe1efa4ce467d808ce12d
  • 13 addresses showing as INPUT from which the UTXO of 0.0001 coins sent -> to one address.
>>>>>>>>>>> BTC dpow_sendrawtransaction (979d23b8d929ccefdb79aabffa2d632f09b292bea71fe1efa4ce467d808ce12d)complete statemachine.BTC ht.1131240 state.1000 (4000000 b8239d97)
[44] END isratify.0:0 bestk.29 2400a12021236000 sigs.2400a12021236000 state.ffffffff machine ht.1131240 completed state.ffffffff BTC.979d23b8d929ccefdb79aabffa2d632f09b292bea71fe1efa4ce467d808ce12d KMD.838b84d051308eeeb442bd0f2f2fdd85d758b4f3a8bb287a2ca2b4bff723161c recvmask.7fd4fbb7fb67645d paxwdcrc.6ab6b224 0x7fb6de811010 0x7fb6f4097010>>>>>>>>>>> KMD dpow_sendrawtransaction (838b84d051308eeeb442bd0f2f2fdd85d758b4f3a8bb287a2ca2b4bff723161c)complete statemachine.KMD ht.1131240 state.-1 (4000000 d0848b83)
  • Once the transaction is broadcasted to the network it waits to be accepted in the blockchains mempool.
  • Once accepted to be in mempool, it waits for 1 confirmation, and does not go past the count of 1 confirmation until the next notarized block.
satinder@linux:~$ komodo-cli getrawtransaction "002dc8d587b0ea34797c8f3ab87ee8d3377443672b8d5d0fafcf826592c921f1" 1 | tail
"vjoinsplit": [
"blockhash": "00000003063189fef9623f920cc4c9444af857004fed8a21361351aee8690fe6",
"height": 1138123,
"confirmations": 1,
"rawconfirmations": 1,
"time": 1544696732,
"blocktime": 1544696732
satinder@linux:~$ komodo-cli getrawtransaction "002dc8d587b0ea34797c8f3ab87ee8d3377443672b8d5d0fafcf826592c921f1" 1 | tail
"vjoinsplit": [
"blockhash": "00000003063189fef9623f920cc4c9444af857004fed8a21361351aee8690fe6",
"height": 1138123,
"confirmations": 1,
"rawconfirmations": 11,
"time": 1544696732,
"blocktime": 1544696732
satinder@linux:~$ komodo-cli getrawtransaction "002dc8d587b0ea34797c8f3ab87ee8d3377443672b8d5d0fafcf826592c921f1" 1 | tail
"vjoinsplit": [
"blockhash": "00000003063189fef9623f920cc4c9444af857004fed8a21361351aee8690fe6",
"height": 1138123,
"confirmations": 23,
"rawconfirmations": 23,
"time": 1544696732,
"blocktime": 1544696732

Myths and Facts about delayed Proof of Work

  • There are 64 Notary Nodes
  • All 64 Notary Nodes are community elected.
    * 4 Notary Nodes are developer nodes. They get re-elected every year.
    * 30 Notary Nodes get re-elected based on their performance of notarizations to BTC (and to KMD from Assetchains).
    * 30 Notary Node positions are open for election every year
    * The transaction creation process is like any other regular network node, and broadcasting that transaction from any node with the notarization data doesn’t make that process a centralized process.
  • Unlike Masternodes, to become a Komodo Notary Node Operator you need precisely 0.00000000 KMD. You DON’T need KMD to become a Notary Node Operator. Just get elected by KMD community and start performing the notarization process.
  • Prior to the public Notary Node network launch, a testnet is operated to evaluate the reliability and skill set of Notary Node candidates. This helps the Komodo community and team-members to ensure that the most efficient and skilled Notary Node operators get elected for the decentralized Notary Node network.

dPoW Attacks Analysis

Double Spending Attack:

Notary Node Suicidal Attack

  • Recall that there needs to be at least 13 Notary Nodes required to sign a notarization transaction. If there are at least 13 Notary Nodes not agreeing on the network with block height + blockhash + bitmask + what other notary nodes think which nodes must be the 13 nodes for signing next notarization blocks, just like the single Notary Node all 13 disagreeing nodes will also be ignored.
  • In case there are more than 13 Notary Nodes, like almost half of the Notary Nodes, disagree on the network, the same case will happen with those, too, as 13 nodes can still communicate and reach consensus.
  • If more than half of the Notary Nodes disagree with the others, then there come the last 13 nodes who actually agrees to the information of “block height + blockhash + bitmask + what other notary nodes think which nodes must be the 13 nodes”.
  • Miners, who are mining the blockchain.
  • Network nodes holding the full copy of that blockchain.
  • All Notary Nodes, who agree on reversing the blockchain to some height beyond the notarized block height.
  1. Notary Nodes re-sync the blockchain to the blockchain copy of the nodes/miners which is mining a copy of their blockchain at first point disconnected from the rest of the network, and then only connected to the network which agrees that their copy of the chain is the accurate copy (the mainchain).
  2. A node can invalidate the notarized block and avoid re-sync blockchain, but that is up to each node. So any attempt to switch the main chain from A to B via notarizing B, this is a very noticeable process.

Points about the virtual impossibility of notary nodes colluding to conduct attacks

  • First off, any dPoW-protected blockchain receives an immense security boost from the dPow mechanism. This is true for Notary Nodes, ordinary full nodes, and miners alike. While Notary Nodes have a very slight advantage over ordinary full nodes and miners in executing an attack on a dPoW-protected chain, it is still magnitudes more difficult for Notary Nodes to attack a chain if it has dPoW than if it does not have dPoW.
  • Any specialized Notary Node attack immediately incriminates the operators, i.e. everyone will know who did it. So, even in the unlikely event that there was some attempt at malicious collusion, the Notary Node operators involved would immediately be identified and blacklisted. But any attempt at malicious collusion would almost certainly not produce financial gain, so it’s highly unlikely any Notary Node operators would even try it in the first place.
  • The other point is that even collusion itself is unlikely because the dishonest Notary Node operators would have no reason to trust one another. We can call this the “Honor Among Thieves” dilemma. In the extremely unlikely event of a double spend attack, the double spend would be for some specific address, i.e. controlled by one (and only one) of the renegade notaries. What assurances do the other colluding notaries have that this renegade notary will share the proceeds? The risk is very high that they will ruin their reputation and get absolutely nothing for it, thus reducing the incentive to collude even further.
  • Lastly, it’s worth emphasizing that it’s easier to just 51% attack chains without dPoW. For Notary Nodes to decide to attack a dPoW-protected chain is uneconomical on so many levels, their slight advantage isn’t enough to make attacking a notarized chain easier than just attacking a chain without dPoW. This is true for everyone, including the Notary Node operators themselves. Basically adding dPoW makes the attacking harder for everyone, even the notaries. If the Notary Node operators were, in fact, malicious, they would just attack some other, non-dPoW protected chain.

Notary Nodes scaling

Alternative Notary Node network for dPoW




BlockChain Technology Enthusiast, IT Pro

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store