Any network can be attacked, and blockchain is no exception. However, attacks on distributed ledgers differ from attacks on conventional computer networks, even secure ones. Here crooks try to manipulate the process of reaching a consensus to change the information added to the ledger.
In this article, we will look at the main threats that blockchain networks with POW (Proof-of-Work) algorithm face and how they can be prevented. Most cryptocurrencies use the POW model now.
To understand how attackers can affect Proof-of-Work systems (like Bitcoin), let’s see first how the network ensures the unchangeability of data.
Although blockchain networks usually have many participants (Bitcoin has about 11,500 nodes), new blocks with transactions are added one at a time. To add a block to the blockchain, the miners must solve a computationally complex problem. The one who finds the answer first gets the right to add information about the transactions to the blockchain. Miners have their own interests doing it. For each solved block, they receive a reward. In Bitcoin network, it equals 12.5 coins now.
The math problem that miners solve is quite complicated. In each case the answer must satisfy certain conditions, for example, it is necessary that the generated hash be less than a certain target. It is extremely unlikely that the two miners will find the solution at the same time. However, such situation is possible. In this case, both network members send their blocks to the blockchain the chain splits, and a fork appears.
Further on, the community continues to mine and add new information to the blockchain. Each subsequent miner adds the block to the chain, which, in his opinion, will be considered the main one. Over a short period, it becomes clear what blockchain has been considered valid by the community.
In the future, small forks are forgotten and ignored. Any information added to them must be re-processed. If the miner adds a new block to the inactive chain, he does not receive a reward for his work. Therefore, most of the miners ignore the forks and maintain the longest of the blockchains.
51% attack and double-spending
This brings us to the 51% Attack. If some network participants (miners) receive the majority of the “votes,” they will be able to control the consensus and include only their own data to the blockchain. However, even having an advantage of just one percent over the other half of the community, it is very difficult to change the information already recorded. An attacker will only be able to add blocks to the branches he needs.
However, still, these conditions allow an attacker to conduct another attack, known as Double-Spending and to spend more money than he has. To do this, he creates several transactions using the same coins. In theory, the network will consider unnecessary transactions to be incorrect and reject them, and the miners will not include them into the blockchain.
However, if an attacker gets the right to add a block, he can include the double-spending info into it. In this case, honest miners will split the blockchain and start building a valid parallel branch, ignoring the block of the attacker. However, if the attacker has 51% of network computing power, he can influence the consensus and build its own blockchain with incorrect (his own double-spent) transactions, which will be considered true.
There were several such cases. For example, the Ethereum Krypton blockchain was the victim of 51% attacks in August 2016. Attackers managed to steal coins through double-spending. After that, the project Krypton developers introduced additional security measures. For example, the number of confirmations required for the approval of the transaction increased to one thousand.
A similar approach is used in Bitcoin network. A new block is not considered fully valid until five or more blocks confirming the recorded transactions are “hooked” to it.
It is unlikely to conduct a double-spending attack without controlling 51% of the network. It should also be considered that even if successful, the benefits of such an attack would be insignificant. If you may control half of the network, it is much more profitable to engage in honest mining and get rewards for solving the blocks and even raise the commission for transactions.
Reward that each miner receives is the biggest deterrent factor for the intruders. Miners prefer long-term benefits from doing their work. It is not profitable to disrupt the ecosystem for the sake of momentary gains, which will be difficult or impossible to cash out.
Ethical Hacking Training – Resources (InfoSec)
The transaction commission remains the main guarantor of securing the Bitcoin blockchain. Since the Bitcoin emission is limited, the growth of the commission for transactions appears to be the only possible way to motivate the miners and at the same time to secure the system. Miners’ revenue can be raised can by increasing the number of transactions the process, and by raising the commission for each separate transaction.
It should be borne in mind that the bandwidth of permissionless (anyone can participate) blockchains is limited. This allows the network to remain decentralized. Since each node must process all transactions, the more nodes are there in the network; the less is its bandwidth. Therefore, if you increase the bandwidth to hundreds of transactions per second, then the network will only have nodes belonging to large companies.
There are assumptions that in the future the Bitcoin blockchain will begin to be used as a means of arbitration for private blockchains and will form the base layer for the next-generation financial system. In this case, the growing interest added by side chains will further increase the transaction commissions and keep the high level of reliability.
This attack received its name in honor of the clinical case describing a woman with a dissociative identity disorder. By analogy with this case, Sybil’s attack implies a situation where one node in the network acquires several identities.
The Sybil attack was first described by a Microsoft researcher John Douceur. It is based on the fact that peer-to-peer networks cannot reliably distinguish between members. Friends can transfer account data to each other, and some ISPs provide one IP address for all their users.
In blockchain networks, an attacker may try to fill the network with nodes controlled by him. This allows him to launch the following rogue schemes:
- An attacker may refuse to transmit and receive blocks by “disconnecting” users from the network.
- There appears a danger of the 51% attack and double-spending.
- You can see all transactions using special software tools.
In centralized networks, Sibyl attacks are usually avoided using a set of heuristic rules. For example, the system may require that only a limited number of accounts can be created from the same IP address within the allotted time interval.
Another option is to use a trusted certification authority that will verify all users. One more option is thorough verification of nodes. In this case, the system evaluates the storage size, network bandwidth, and other host parameters and determines whether the collected data belongs to individual computers or to one attacking computer with many identities. However, this approach requires huge network resources.
In Bitcoin Blockchain, Sybil attacks are eliminated by special requirements that rule the generation of new blocks. Satoshi Nakamoto’s Consensus states that the ability to generate blocks must be proportional to the processing power of the PoW mechanism. Because an attacker can only create a limited number of blocks, this provides reliable cryptographic protection against Sybil attacks. It turns out that the fraudster needs to have the actual computing power, which cannot be faked.
DDoS is another type of hacker attacks, the idea of which is to send a large number of similar requests. Bitcoin has built-in protection against denial-of-service attacks. To complicate the clogging of nodes memory, the block size is limited to 1 MB, and the size of each script does not exceed 10 thousand bytes. Also, the number of confirmations that each block may request is 20 thousand. The number of multi-confirmations is also limited to 20 keys.
Clients are also blocking all suspicious nodes and transactions. For example, the latest version of the Bitcoin Satoshi client includes a function to register non-standard transactions (more than 100 kilobytes). Also, when processing transactions, the Bitcoin Satoshi client checks that all outputs are “not spent.”
Attacks on cryptography
There is an opinion that quantum computers in the future will surpass the classical systems regarding power. Some experts believe it may happen in about 10 years. This fact raises serious concerns among Bitcoin enthusiasts.
The performance of quantum systems in a certain range of tasks is higher than that of classical computers. For example, the D-Wave system, using the quantum annealing method, is 100 million times faster than conventional computers.
One of the issues that must be considered in this respect is the factorization problem. Quantum algorithms, like Shor’s algorithm, in theory, will be able to break RSA-encryption and, consequently, digital signatures used in blockchain networks.
Therefore, developers are actively working on solutions which will help crypto projects to withstand the onslaught of quantum machines. The Quantum Resistant Ledger team is working on cryptographic algorithms that are based on hash functions. In this case, private keys are generated by public keys using complex cryptographic structures. Specialists tend to move away from using the factorization of prime numbers for this task. Thus, there is a more complex and stable connection between the keys, which makes it less vulnerable to Shor’s algorithm.
We still must see how successful these initiatives will be in the future. However, potentially moving to such solutions will eliminate the problem of the “quantum” threat and strengthen the blockchain technology.