Through the design of the technology, we know that the blockchain is immune to attack from any individual member of the network. However, what happens if the blockchain comes under attack from a large group of participants? More precisely, what happens if a group successfully takes control of over 50% of the computing power of the blockchain?
Such a scenario is known as a 51% attack, and it is one of the few real vulnerabilities of a blockchain.
Learn Software Engineering Programs from the World’s top Universities. Earn Executive PG Programs, Advanced Certificate Programs or Masters Programs to fast-track your career.
To understand the problems posed by a 51% attack, we must return to the fundamentals of the blockchain and recall the process of adding a new block to the chain. Members of a network compete to be the first to compute a valid seal for the block and claim a reward. Inevitably, a group of individuals in control of over half the computing power of the network can monopolize this process and claim all the rewards for themselves. Such a situation allows this group to be the only entity to benefit from the rewards of the blockchain by preventing other members from adding blocks to the chain. This is possible because majority rule is among the fundamental concepts of a blockchain.
Check out our free courses to get an edge over the competition.
Another possible consequence of a 51% attack is known as double spending, and this is significantly more harmful than the prior one. Double spending occurs when a group of individuals successfully reverse completed transactions in a blockchain, allowing them to retrieve their money and spend it again. This is the digital equivalent of counterfeiting. It is made possible during a 51% attack due to the fundamental idea that the longest chain of a blockchain is the true one. Ironically, this is the same safeguard that makes double spending impossible when attempted by an ordinary member of the network.
7 ways Blockchain is Revolutionizing the Automotive Industry
In order to understand how double spending may occur, let us consider the following example. Imagine a network in which there exists an alliance that controls over half the computing power of the network. Suppose that A, a member of the alliance, buys a house from B, an ordinary member of the blockchain.
The transfer of money from A to B is recorded by each ordinary member of the network, but all members of the alliance secretly do not add this transaction to their records. The ongoing block is then completed and added to the chain by the honest individuals but secretly ignored by the alliance. There are now two versions of the blockchain in the network- the actual one with the recorded transaction, and the false one. As of this moment, the true blockchain is longer and accepted by the network, so the false version is kept secret by the alliance temporarily.
Explore our Popular Software Engineering Courses
Check out upGrad’s Advanced Certification in DevOps
The alliance now continue to record the ongoing transactions in the network, as well as privately conducting meaningless transactions among themselves. These transactions are not announced to the network and allow the alliance to generate blocks at a faster rate than the true blockchain. As the alliance possesses over half the computing power of the network, it is possible for it to add blocks to the false blockchain at a higher rate than the blocks added to the true blockchain.
At some point, the length of the false blockchain exceeds that of the true blockchain, and the alliance now broadcasts this to the entire network. The network is then forced to accept this version of the blockchain as it is the longest version, and the transaction conducted between A and B is effectively reversed, allowing A to spend the same money on something else.
What is Blockchain Technology? [Explained]
Explore Our Software Development Free Courses
Thus, the alliance can monopolize the claiming of rewards and double spend money. They can also block transactions of other members using a similar procedure to that of double spending. They cannot forge a new transaction between ordinary members, however, as this requires the private keys of the members between which the transaction occurs. It is also quite difficult for them to modify blocks that have already been stored in the blockchain as this requires a very vast majority of the computing power of the blockchain to be feasible. The further back the blocks in the chain, the more secure they are.
The frailties of the blockchain exposed by a 51% attack lead us to the conclusion that the more nodes in a network, the more secure it is. This is simply because it is significantly easier to gain the majority in a network of 10 people than in a network of a million. In order to compete with the computing power of a distributed network with nodes worldwide, an ordinary individual would have to spend vast amounts resources in the form of money, electricity and time, or form an alliance that is far too large and distributed to organize efficiently.
In-Demand Software Development Skills
Check out upGrad’s Full Stack Development Bootcamp (JS/MERN)
In general, the largest blockchains are quite safe from a 51% attack. However, there have been some significant instances of 51% attacks in notable blockchains in the past. For example, ghash.io, a mining pool in the bitcoin network, briefly controlled over half the blockchain’s computing power in July 2014, which resulted in the pool voluntarily relinquishing some of its shares so as to not monopolize the mining of cryptocurrency. Bitcoin Gold was not quite as fortunate when it suffered a 51% attack during May 2018, and the malicious attackers successfully managed to double spend over 18 million dollars worth of cryptocurrency.
Growing Demand for Software Engineers in Blockchain Technology
The very fundamentals of a blockchain rely on the assumption that the majority in the blockchain is honest. This exposes the biggest weakness of a blockchain and its main true area of vulnerability. A dishonest majority can cause vast damage to the blockchain.
Read our Popular Articles related to Software Development
Why Learn to Code? How Learn to Code? | How to Install Specific Version of NPM Package? | Types of Inheritance in C++ What Should You Know? |
If you are interested to create blockchain applications from scratch, check out upGrad & IIIT-B’s Executive Certification in Blockchain from IIITB.