DeepBlue
Active member
This post will present a potential security issue with the Masternode network which arises out of natural market forces acting on Masternode hosting companies. At the end of the post there are some suggestions to mitigate the risks by using a Masternode Hosting Software License.
Hosting a Masternode is a problem for non technical people
Setting up a Dash Masternode requires a reasonable level of technical ability and a lot of patience. Therefore for the non technical person who wishes to host a MN the only viable option is to use a MN hosting company. These MN hosting companies automate the process of setting up a MN and make it possible for anyone to set up a node. Before these hosting companies existed there was no option but to set up a node single handedly which ensured a reasonable level of decentralisation and no single point of failure.
However, with the advent of the MN hosting companies, this has radically reduced the amount of decentralisation of the Dash MN network. And, as you will see later on in this post, this number is actually more likely to be closer to only one or two companies for hosting the majority of the MN network.
Competition and market forces will create the security risk
The link below is to a page on dash.org that list only six MN hosting companies available for Dash:
https://docs.dash.org/en/stable/masternodes/hosting.html
If we look at this list we can see a wide variety of prices for these hosting services from Node40 which is currently 0.6 Dash per month = $62 USD / month to as little as only $5/ month with Allnodes
Node40 pricing at time of writing: $62 USD / Month / Node
https://www.node40.com/hosting/pricing/
Allnodes pricing at time of writing: $5 USD / Month / Node
https://www.allnodes.com/pricing
When comparing Allnodes to Node40 with respect to hosting there does not appear to be that much difference between the two services. Both provide a control panel, both make it simple to set up a node, both have a solid up time record, and both offer tech support. Therefore the question arises why pay $62 / month when a MN owner can pay just $5 / month for a very similar service? If companies like Allnodes demonstrate a solid up time experience then why would a MN owner want to pay anything more than the $5/month with another company?
Market forces over time will lead to MNOs migrating to the cheapest quality hosting service.
However this is where the security issue arises in my opinion. If an ultra competitive hosting company gains more than 51% of the Dash MN this could create a security threat to the network if they were hacked. If their service is excellent it is possible for much more than 51% of the network to be hosted by just one company. A competitive hosting service therefore presents a potential security risk, in my opinion, because the Dash MN network security will only be as good as the security standards implemented by the hosting company. Even if the hosting company acted to the highest possible security standards it still presents a security risk as a single point of failure.
We have seen many cases of exchanges being hacked and millions stolen. A recent example of a lapse in security has been seen with Binance, where allegedly, a Binance insider created a backdoor for a hacker to steal KYC information of 60,000 Binance customers according to the article available on the link below published by Coindesk:
https://www.coindesk.com/a-bitcoin-...ide-binances-negotiations-with-its-kyc-hacker
Exchanges such as Binance have whole departments dedicated to security. Could a MN hosting company even come close to the level of security implemented by an exchange?
An ultra low-cost hosting company could out-compete other hosting companies and we could see the majority of MNs migrating to that host. Do we know for certain if this has already happened? This could form a single point of attack to the Dash MN network.
Which is more probable for an attack: buy 51% of the Dash Masternode network or hack one MN hosting company with more than 51% of the hosted MNs?
With a single tier network an attack would have to come from purchasing mining hardware which is a barrier of cost. With the MN network the security comes from having to buy 1000 DASH to get a Masternode. However if a hacker could hack a DMN hosting company that hosts the majority of the Dash MNs they don't need to buy any Dash. They just need to hack one major Dash MN hosting company that hosts the majority of the MNs to have a potentially catastrophically damaging effect.
The importance of the Dash Masternode Network
The main USP (unique selling proposition) of DASH is the Dash Masternode network. PrivateSend, InstantSend, now with InstantResend, and Chainlocks all rely on the MN network. In addition Dash Evolution will also depend on the MN network for data storage for the new Dash Drive and Dash Accounts. This means that if a hacking event on one of the main hosting companies was to occur it could take down the MN network which could cause catastrophic damage to DASH as a whole.
We could, however, consider implementing procedures to ensure the Dash MN network remains secured and preferably secured through decentralisation.
Some ideas on how to better secure the Dash MN network against this threat
1. Issue a Dash MN Hosting Software License Dash could create a MN hosting software license. This software would go some way to protecting the Masternode network by ensuring specific criteria are met in order to host a MN by a MN hosting company. It would also enable us to gather valuable distribution statistical data on the Dash Masternode network that could help us keep the network secure.
The terms of the license will also detail specific working practises and security protocols that need to be met in order to host more than a specified number of Masternodes through the same hosting company. Security protocols would need to ensure that even if a hacking event were to occur the hacker would not be able to gain access to the entire MN network hosted by that company.
The software license would also automatically collate the number of MNs hosted by a MN hosting company and this information would be made available to the Dash network. This information would enable us to know the distributions of MNs and which hosting company is hosting them.
2. Limit the number of Dash MNs hosted with any one company The MN hosting software license would also set an upper limit to the number of Dash MNs any single hosting company could host at any one time. This would mean if they were breached by a hacker then only a portion of the MN would be affected.
3. Statistical data on MN hosting distribution We need to collate statistical data where our MNs are hosted and with which hosting company. This information could be made available to the MN network privately e.g. a digital signature from a MNO could be used to unlock the hosting data. This would enable us to make an informed decision who to host with to ensure that no one hosting company has the majority of our Masternodes. This information could also be gathered via the DMT tool during registration of a MN which would be useful for knowing how many MNs are actually hosted by hosting companies and how many are self hosted. This would give us an idea of how decentralised the MN network is.
4. Build a MN self installer. A MN self installer with control panel would provide a simple and easy way for anyone to setup a MN without the need of a dedicated MN hosting company intermediate. Perhaps a Dash developer could consider building a Dash MN self installer that anyone can use to set up a Masternode and control panel on any VPS host of choice. This project could be funded by the Dash treasury.
The problem is that even if we had a self installer the cost of hosting a basic VPN is more than what companies like Allnodes are offering. However if MNOs knew what the MN network distribution was and had a very simple means of hosting their own node I think many MNOs would opt to pay a little more to ensure decentralisation remains on the network.
Hosting a Masternode is a problem for non technical people
Setting up a Dash Masternode requires a reasonable level of technical ability and a lot of patience. Therefore for the non technical person who wishes to host a MN the only viable option is to use a MN hosting company. These MN hosting companies automate the process of setting up a MN and make it possible for anyone to set up a node. Before these hosting companies existed there was no option but to set up a node single handedly which ensured a reasonable level of decentralisation and no single point of failure.
However, with the advent of the MN hosting companies, this has radically reduced the amount of decentralisation of the Dash MN network. And, as you will see later on in this post, this number is actually more likely to be closer to only one or two companies for hosting the majority of the MN network.
Competition and market forces will create the security risk
The link below is to a page on dash.org that list only six MN hosting companies available for Dash:
https://docs.dash.org/en/stable/masternodes/hosting.html
If we look at this list we can see a wide variety of prices for these hosting services from Node40 which is currently 0.6 Dash per month = $62 USD / month to as little as only $5/ month with Allnodes
Node40 pricing at time of writing: $62 USD / Month / Node
https://www.node40.com/hosting/pricing/
Allnodes pricing at time of writing: $5 USD / Month / Node
https://www.allnodes.com/pricing
When comparing Allnodes to Node40 with respect to hosting there does not appear to be that much difference between the two services. Both provide a control panel, both make it simple to set up a node, both have a solid up time record, and both offer tech support. Therefore the question arises why pay $62 / month when a MN owner can pay just $5 / month for a very similar service? If companies like Allnodes demonstrate a solid up time experience then why would a MN owner want to pay anything more than the $5/month with another company?
Market forces over time will lead to MNOs migrating to the cheapest quality hosting service.
However this is where the security issue arises in my opinion. If an ultra competitive hosting company gains more than 51% of the Dash MN this could create a security threat to the network if they were hacked. If their service is excellent it is possible for much more than 51% of the network to be hosted by just one company. A competitive hosting service therefore presents a potential security risk, in my opinion, because the Dash MN network security will only be as good as the security standards implemented by the hosting company. Even if the hosting company acted to the highest possible security standards it still presents a security risk as a single point of failure.
We have seen many cases of exchanges being hacked and millions stolen. A recent example of a lapse in security has been seen with Binance, where allegedly, a Binance insider created a backdoor for a hacker to steal KYC information of 60,000 Binance customers according to the article available on the link below published by Coindesk:
https://www.coindesk.com/a-bitcoin-...ide-binances-negotiations-with-its-kyc-hacker
Exchanges such as Binance have whole departments dedicated to security. Could a MN hosting company even come close to the level of security implemented by an exchange?
An ultra low-cost hosting company could out-compete other hosting companies and we could see the majority of MNs migrating to that host. Do we know for certain if this has already happened? This could form a single point of attack to the Dash MN network.
Which is more probable for an attack: buy 51% of the Dash Masternode network or hack one MN hosting company with more than 51% of the hosted MNs?
With a single tier network an attack would have to come from purchasing mining hardware which is a barrier of cost. With the MN network the security comes from having to buy 1000 DASH to get a Masternode. However if a hacker could hack a DMN hosting company that hosts the majority of the Dash MNs they don't need to buy any Dash. They just need to hack one major Dash MN hosting company that hosts the majority of the MNs to have a potentially catastrophically damaging effect.
The importance of the Dash Masternode Network
The main USP (unique selling proposition) of DASH is the Dash Masternode network. PrivateSend, InstantSend, now with InstantResend, and Chainlocks all rely on the MN network. In addition Dash Evolution will also depend on the MN network for data storage for the new Dash Drive and Dash Accounts. This means that if a hacking event on one of the main hosting companies was to occur it could take down the MN network which could cause catastrophic damage to DASH as a whole.
We could, however, consider implementing procedures to ensure the Dash MN network remains secured and preferably secured through decentralisation.
Some ideas on how to better secure the Dash MN network against this threat
1. Issue a Dash MN Hosting Software License Dash could create a MN hosting software license. This software would go some way to protecting the Masternode network by ensuring specific criteria are met in order to host a MN by a MN hosting company. It would also enable us to gather valuable distribution statistical data on the Dash Masternode network that could help us keep the network secure.
The terms of the license will also detail specific working practises and security protocols that need to be met in order to host more than a specified number of Masternodes through the same hosting company. Security protocols would need to ensure that even if a hacking event were to occur the hacker would not be able to gain access to the entire MN network hosted by that company.
The software license would also automatically collate the number of MNs hosted by a MN hosting company and this information would be made available to the Dash network. This information would enable us to know the distributions of MNs and which hosting company is hosting them.
2. Limit the number of Dash MNs hosted with any one company The MN hosting software license would also set an upper limit to the number of Dash MNs any single hosting company could host at any one time. This would mean if they were breached by a hacker then only a portion of the MN would be affected.
3. Statistical data on MN hosting distribution We need to collate statistical data where our MNs are hosted and with which hosting company. This information could be made available to the MN network privately e.g. a digital signature from a MNO could be used to unlock the hosting data. This would enable us to make an informed decision who to host with to ensure that no one hosting company has the majority of our Masternodes. This information could also be gathered via the DMT tool during registration of a MN which would be useful for knowing how many MNs are actually hosted by hosting companies and how many are self hosted. This would give us an idea of how decentralised the MN network is.
4. Build a MN self installer. A MN self installer with control panel would provide a simple and easy way for anyone to setup a MN without the need of a dedicated MN hosting company intermediate. Perhaps a Dash developer could consider building a Dash MN self installer that anyone can use to set up a Masternode and control panel on any VPS host of choice. This project could be funded by the Dash treasury.
The problem is that even if we had a self installer the cost of hosting a basic VPN is more than what companies like Allnodes are offering. However if MNOs knew what the MN network distribution was and had a very simple means of hosting their own node I think many MNOs would opt to pay a little more to ensure decentralisation remains on the network.
Last edited: