Bitcoin - Mitigating Attacks
In this article, I will discuss three types of possible Bitcoin attacks.
The attacker may use two different machines to send the same coin to different vendors in rapid succession. The vendors will soon realize that the transaction was rejected during the mining process if they do not wait for the block confirmation before delivering the goods. This kind of attack can be prevented by waiting for at least one block confirmation before sending the goods out.
In this case, the attacker is the miner. The miner mines a block with his transaction but does not release it in the system. He then uses the same coins in a second transaction to release the pre-mined block. It is obvious that the second transaction will eventually be rejected by other miners, but it will take some time. To minimize this risk, the seller should wait at least six confirmations of the block before releasing it.
The 51% Attack
The attacker in this kind of attack mines a private blockchain where he double-spends the coins, based on an impractical assumption that 51% of the network's computing power is owned by one person.
He is guaranteed that at some point his private blockchain will be longer than the chain of "honest" networks, since he owns the majority of computing power. In the end, he releases his private blockchain, invalidating all transactions recorded in the honest blockchain.
As acquiring computing power that equals or exceeds 51% of all network computing power is very expensive, this kind of attack is fictitious.
Frequently Asked Questions
- Blockchain Tutorial
- Blockchain - Introduction
- Blockchain - Double Spending
- Bitcoin - Brief History
- Blockchain - Public Key Cryptography
- Blockchain - Hashing
- Bitcoin - Mining
- Blockchain - Chaining Blocks
- Blockchain - Proof of Work
- Blockchain - Network & Mining
- Blockchain - Incentives to Miners
- Blockchain - Merkle Tree