This article is written by Pini Raviv, a software engineer and front-end team leader for an Israel-based startup. A Bitcoin aficionado spends his time researching altcoins, mining Ethrereum and blogging about blockchain.
Blockchain technology is often hailed as secure and incorruptible, mainly thanks to its decentralized and immutable nature. Because it’s so notoriously hard to tamper with, many believe blockchain is the perfect tool to build systems that are safe from fraud and corruption.
There’s certainly some truth to this – blockchain does have the potential to deliver systems without a central point that are far more secure and robust than traditional software – as well as being faster, smoother, and more efficient.
However, blockchain isn’t invincible. Networks are still susceptible to attacks, which could compromise the technology’s consensus mechanism to ‘hack’ a blockchain or seriously slow a system down.
To get an idea of how this could happen, it’s important to take a look at blockchain’s infrastructure.
Consensus mechanisms in blockchains
When miners add a new block to any blockchain, they have to make sure of a few things. One of their main tasks is to ensure the new block is the ONLY possible version – preventing ‘forking’ where the chain splits into two separate pathways of blocks.
Blockchain technology uses consensus mechanisms to guarantee this. In Bitcoin, for example, the main consensus mechanism is proof of work. This is a system where miners have to complete a puzzle – the first one to solve it gets to mine the block.
The idea is that only one block gets mined, because only one miner will finish first. It’s a pretty solid system, but it isn’t the only one.
Another consensus mechanism is the Byzantine mechanism. This way, a stakeholder in the system called a ‘validator’ creates the block, and a majority of the nodes in the system have to sign off on it before it can be added to the blockchain.
The idea here is that no block can be added unless that action is supported by the majority of the network. It’s all fair and democratic – as long as the nodes aren’t compromised.
Herein lays the problem facing blockchain security. The integrity of a blockchain-based network relies on its nodes – if the nodes aren’t secure and trustworthy then neither is the network.
If a sophisticated attacker were to seize control of a majority of the nodes or flood the network with their own nodes, they could compromise the integrity of the blockchain and massively slow down progress by refusing to authorize any new blocks.
Even worse, they could have a say over what gets added to the chain, and take over the entire system. Defending against and dealing with these issues is a huge drain on resources and time for blockchain developers.
How to secure nodes
The good news is that it’s possible to keep a network secure just by using traditional tools. For example, users can keep their own wallets and services safe by using general firewalls, anti-virus software and other malware protection.
It’s also possible to protect a blockchain network from being taken over by malicious nodes. Web Application firewalls like Incapsula can filter unwanted traffic, preventing systems from being taken over by unwanted nodes or falling victim to DDoS and XXS attacks which might slow down the whole network.
Despite its huge promise, blockchain technology has its limitations. Although frequently celebrated for being decentralized, blockchains can still be hijacked and manipulated via their nodes in theory.
If a network has enough rogue nodes, the whole thing is compromised and this section of the network will be able to influence the rest of it. This is why it’s so essential to make sure the nodes are secure, and can’t be taken over by malicious third parties intent on manipulating the system to their own ends.
The total market cap of all cryptocurrencies and blockchain-based companies is estimated to be around $243 billion dollars. Since we don’t know the value of many new companies in this space, the real figure is likely to be even higher, and it looks set to increase rapidly in the near future.
The sheer size of this industry is one reason why it’s important to protect it. There is huge promise in blockchain, and it could have massive implications on how we live our day to day lives. In order to encourage the technology to grow and be used in new ways, it’s vital to assure people that it’s safe and reliable.
It’s also crucial to ensure integrity, accessibility, and speed, three things that set blockchain apart and make it so attractive to investors and software developers. Protecting nodes in systems are one powerful way to ensure security and efficiency across the blockchain world.