June 27, 2019
The Best Approach to Securing Decentralized Networks
Last month, the Cosmos network suffered a “critical security vulnerability” that allowed hackers to circumvent the slashing mechanism designed to prevent malicious behavior in the network. Within days, the Cosmos team issued a patch and gave validators a grace period of 24 hours to upgrade their nodes. While many validators were able to quickly apply the patch, a number were unreachable and had their nodes viewed by the forked network as offline - leading to them being ‘jailed’, as a result.
The number of nodes which were jailed could have been much higher, though. Consider the Bitcoin network - a network of over 100,000 full nodes where (as of May ‘19) almost 58 percent are still vulnerable to exploit CVE-2018-17144 - a serious bug patched in Sept ‘18 which allows malicious miners to crash the Bitcoin network with a denial-of-service attack. While it might be possible that many haven’t upgraded their nodes because the attack is quite costly and has only a small chance of occurring, it’s more likely that they are passively running their miners and not paying attention to network updates.
When you recognize the general apathy of nodes in these decentralized networks to act on updates / upgrades, the value of high-quality validators becomes blindingly apparent. New decentralized networks which fail to properly incentivize high-quality validators leave themselves vulnerable to both higher degrees of faults due to insufficient penetration testing as well as coordination failures amongst node operators relating to fault recovery.
So, while it is important to have a high quantity of validators in a network, their quality is exceedingly more important to newer networks which are still being battle tested. If you were up against an army of attackers - would you rather have a few thousand civilians with no knowledge of combat or a few hundred of the top warriors in the world?
Quality vs. Quantity
As previously mentioned, new decentralized networks should focus on recruiting quality over quantity. Projects failing to do this not only waste time hand holding new validators through the process of getting set up, but also find that these validators often can’t contribute back to the project in any meaningful way (tooling, optimizations, fixing bugs, etc…). This act of playing a numbers game can often weigh down a team and stymy them (and the network) from continued updates / progress.
Validators in a network are investors in a network - they purchase tokens, custom hardware, and work with the teams / amongst themselves to secure the network / their investment. So, it should come as no surprise to learn that the due diligence process taken by the best validators when evaluating projects is just as rigorous as the process that investors go through when deciding whether or not to invest.
Some validators have an adoption thesis - StakeWithUs, for example, maintains that “Adoption will come in the form of blockchain agnostic scalable layer 2 solutions (sidechains), application specific blockchains working interoperably and truly decentralized layer 1 solution.” Theses, such as these, serve as a guiding light for validators to decide if a project is viable in the long-term.
Projects which fit validators’ theses will then be subject to a screening of the team to determine whether or not the team is long-term or short-term. Factors which play into this decision include the project’s valuation (many validators will stay away from projects which raised too much (e.g. Algorand)), a general audit of the codebase, and a review of the project’s go-to-market strategy.
One good way to incentivize high quality validators to join your network would include the launching of an incentivized testnet where bounties are offered for performing certain tasks or discovering vulnerabilities (e.g. Game of Stakes). This sandboxed environment also allows validators to become comfortable with the network and better understand its functioning while minimizing their risk.
Another great way to recruit validators would be through grants where stake is provided to individuals / teams who are able to add value in some meaningful way to the network. This increases potential validators’ understanding of the network - allowing them to be instrumental in the identification of bugs / optimizations.
Once quality validators are live on the network, projects should provide tooling to demonstrate each validator’s metrics and provide an easy way for others to delegate stake to them; this dynamic allows for non-technical individuals to contribute to the network in a meaningful way. Validators who have been delegated to collect fees on delegated stake, increasing their upside and further incentivizing their desire to secure the network.
Free / Discounted Tokens*
This is actually a terrible way to try and recruit validators as it does not require them to have any ‘skin in the game’. Without risk of losing their own money, many validators will be apathetic to the further securing of the network.
While the general public may prefer to go the easy path of running their nodes in the cloud, StakeWith.Us made sure to point out the fact that even cloud nodes with inbuilt HSMs are susceptible to state actor attacks. For this reason, they (as well as other top validators) prefer projects require nodes not be run in the cloud.
Even though it is harder to bootstrap a network where the participants are required to have their own servers, it makes the network much stronger. As the network continues to harden its security, this barrier to entry can be lowered at the discretion of the network / project.
While it’s important to have a high quantity of nodes in a decentralized network, the quality of those nodes is of the utmost importance when launching a new network. Most top validators go through a due diligence process similar to investors and won’t participate in networks they feel are overpromising or unrealistic.
Projects well aligned with validators’ adoption theses can further encourage these validators to join the network through bounties, grants, and incentivized testnets which serve to strengthen the network. On the other hand, those things which serve to weaken the network (e.g. free / discounted tokens, cloud nodes, etc…) will likely dissuade validators from participating.
SKALE’s mission is to make it quick and easy to set up a cost-effective, high-performance SKALE Chains that run full-state smart contracts. We aim to deliver a performant experience to developers that offers speed and functionality without giving up security or decentralization. Follow us here on Telegram, Twitter, Discord, and sign up for updates via this form on the SKALE website.