(Please note that ads placed on this site were not pre-selected. Please use caution when following unfamiliar links.)
BLOCKCHAIN ANATOMY
Before you explore the types of attacks, it is helpful to remember that a blockchain network is comprised of nodes. Each full node has a copy of all the transactions that have already happened on the network. Verifying that all the copies match is part of what keeps the blockchain honest. Each node is like a check and balance for the other nodes.
Nodes can also be responsible for verifying/mining new blocks of transactions, and receive the newly minted coins (block rewards) that are associated with verification/mining. Verification/mining typically involves some sort of cost or collateral. In Proof of Work blockchains, this cost is the amount of electricity (work) needed to compute a valid block. In Proof of Stake systems, there is often collateral of the native currency posted (stake) to ensure that the person validating the transactions has an incentive to stay honest, or else their posted collateral will be penalized. For more on this and other blockchain models, see the "Consensus Protocol Academy & Glossary".
---
51% ATTACK
The most known and feared security threat to blockchains is a 51% attack. This is where a majority of the nodes (51% or more) collude to falsify the blockchain ledger in their favor. If these dishonest users form a majority and control the blockchain, then they can double-spend coins, where the holder makes a copy of the coins and sends the copy to a merchant or other party while also retaining the original coins. In a 51% attack, malicious users can transfer coins to their wallet multiple times by reversing the blockchain ledger as though the initial transactions had never occurred.
It is difficult for attackers to control records of blocks that are already finalized, since a fraudulent version of the public ledger would quickly be spotted and rejected by other nodes. However attackers can easily control block records while they have majority control of the network. 51% attackers can also prevent other miners from completing blocks, allowing them to monopolize the mining of new blocks and earn all of the block rewards (newly minted coins).
HOW TO PREVENT A 51% ATTACK
The best way to minimize chances against a 51% attack is by promoting diverse user adoption within a blockchain network. The more nodes there are, and the more anonymous and widely-distributed these nodes are, the less likely it will be for malicious actors to control a majority of them. My favorite way to check on the security of a project by seeing how many public full nodes are running is at bitcoinera.app/arewedecentralizedyet/
An attacker (group) would have to find and influence at least 51% of all the full nodes that exist in a network, or launch enough new full nodes to outnumber the ones already in existence. This gets prohibitively expensive. In the Bitcoin network, this means a hacker buying or controlling enough ASICs to gain majority of the hash rate. As of January 2021, this is estimated to cost over $5 billion.
In Ethereum's Proof of Stake system, the hacker (group) would have to launch a majority number of full nodes, and lock in 32 ETH worth of collateral in each node, only to have that stake taken away "slashed" once their attack is discovered.
If you have a favorite network, one of the best things you can do to secure it, is run a full node, and keep that node online. Here's an example of docs on running your own Ethereum node: https://ethereum.org/en/developers/docs/nodes-and-clients/
SIDECHAINS & 51% ATTACKS
Sidechains employ their own consensus mechanism, and have their own native token, which can be vulnerable to its own 51% attack. For more about sidechains and other layer 2 scaling solutions, please see the "Scaling" section.
REMEDY FOR A 51% ATTACK
In a Proof of Work (PoW) blockchain, like Bitcoin, fixing a 51% attack is a mater of forking the network into a new protocol that makes all the old miners (including the attackers') obselete. All participants who want to continue to validate blocks will have to upgrade to the new software. This can be costly to users who were being honest. In a Proof of Stake blockchain, fixing a 51% attack is a matter of forking the network to simply delete the attackers' coins. It is not as impactful to the entire network.
---
NODE PROTECTION
For many users who want to run a node and support the blockchain, having enough bandwidth to run the node can be a problem. Another problem in some countries is censorship against certain blockchain technologies. One of the best ways to circumvent these problems is with a satellite connection-
--- CRYPTOGRAPHY
The most inherent methods for securing a blockchain network involve cryptography. This is such an important concept in computer science, thus blockchain, that I'm working on an entire section of this site dedicated to it. If you want to wander through this info, check out "The Crypt".
---
NETWORK IMPROVEMENT PROPOSALS
Some of the strongest blockchain networks are the ones that are constantly improving. A great way to evaluate this is by tracking activity on their code repositories. Here is a link to examples in the Crypt Keeper by Criteria GitHub Data.
It is also a good idea to look into the official improvement proposals for a given network. Here are some examples:
Denial of service (DoS) attacks occur when attackers often flood the network and/or exploit bugs in the network code that cause normal processing to malfunction. This can lead to normal users no longer trusting a network. DoS attacks can also be used to distract network developers from a more serious attack that is happening at the same time.
In 2016, the Shanghi DoS attacks happened on the Ethereum network. At the time of these attacks, there were two Ethereum clients, Geth and Parity. Having more than one client helped the Etherum network spread out the detriment of the attack. When one client was struggling to produce the corrupt blocks, users were able to switch to the other client. The DoS attack did not affect both clients with equal severity, at any given time.