We've all heard of the 51% attack right? But I bet not many people actually know what it means and what it can and can't do. I'll admit my knowledge is suspect to errors when it comes to Bitcoin and it's related technologies. But I'm willing to learn and discuss about various aspects of Bitcoin.
I would like to first include what I know about the 51% attack and hopefully receive some replies adding some worthy discussion about the topic. I'll try to include sources where I can.
Essentially the only way Bitcoin more be centralized is if an entity such as a government agency had control of the majority of the computing power going into Bitcoin. This is exactly what the 51% attack is it's an attack which involves the person/organization having enough computing power to control more than 50% of the network. I'll refer to this computing power as "Hash rate" from the rest of the thread.
First of all how much hash rate is needed to have the majority of it in the Bitcoin network? Well the hash rate is forever changing but according to Blockchain.info[1] graphs the highest ever reached is somewhere around 26,908,615 th/s. Just to put that into perspective 1 th/s is 1 trillion hashes per second. That means to have controlled the majority of the network you would need more than half of that number which is around 13,454,307.
If someone did manage to get more than 50% of hash rate on the Bitcoin network what would this mean?
Well it could be pretty devastating to the Bitcoin network as a whole. At this point in time Bitcoin is centralized because someone controls the majority of the networks hash rate. The hash rate is used to mine new blocks which in turn processes existing transactions on the network.
In short this is what it would mean:
1. Double spend
2. Stop transactions from getting confirmed
Let's address the double spending issue first. To my knowledge double spending means you can send a transaction twice in to different outputs and only one of them will actually go through. This means that someone could appear to be sending you Bitcoin and it will show up on the network as being verified on the network. It just wouldn't of confirmed. Then they could try spending this amount again before the initial transaction gets confirmed. But this is an issue if the person who is trying to double spend has more than 50% of the hash rate as they'll be able to choose whether they confirm the initial transaction or the one sent after the first transaction.
This of course means they can choose which transactions get confirmed andones which just sit in the mempool. effectively having control over the hash rate you could make it very inconvenient for users of Bitcoin to confirm their transactions because they might decide not to mine the block that your transactions are in causing them to remain in the mempool. They could effectively take a hostile approach and only confirm transactions with very high fees sort of an extortion attempt.
Common misconceptions are that someone who owns the majority of the hash rate of the network can stop transactions. They can't. They do not have control of you creating a transaction and verifying it on the network. What they do have control over is where their miners are pointed and might not point it at the block that your transaction is in.
They also can't create coins. They only have control over hash rate and processing transactions. They do not have control of the code and can just create coins from nowhere.
Surely this could be attempted with less than 50%? Of course it can and probably has been attempted. (anyone has any sources to this being attempted would be appreciated) However it's not nearly as easy to do than having over the majority. The more hash rate you have control of the higher the chances are making the above possible. If you have 90% of the network hash rate you are much more likely to be able to choose what you want to be confirmed and what you want to leave out there in the mempool.
It's sort of similar to the tor system in this aspect that if a government authority wanted to control Tor they would likely need to have the majority of exit nodes. That way they can snoop on the data that you are browsing.
Is the 51% attack feasible? Well let's first take for instance the Ant miner s9 which I believe is the latest mining equipment which has been released to the public. The typical hash rate of this model is around 12.90TH/s. Though it's been advertised to have reached 14TH/s. So let's go with the advertisements and say each unit can do 14TH/s. To gain more than 50% of the hash rate of the highest ever achieved you would need 961,021,929 units. Let's also note no hardware performs at the same benchmarks and inconsistencies will be present. One of these units on amazon is selling for around $2,489.00. So let's call that 2,000 dollars per unit that's a lot of money if you want to be able to buy all of these units.
I don't think the 51% attack is something to be particularly concerned about judging on these numbers. There's probably much better ways to hurt Bitcoin. I think the only way this would be a genuine problem is if the government made it law to register if you were a Bitcoin miner and contribute to a pool setup by the government. They would choose what to do with the computing power whilst you would be required by law to be part of this pool.
Judging by some of my previous threads I may be mistaken with some of the information and may of made a few mistakes here and there. I encourage anyone who finds any errors to tell me right away. I would also like to discuss this and compare it to the technological advances that may be made in the next few years.
[1]
https://blockchain.info/charts/hash-rate ( I would like to highlight that these are only estimates)