51% attack clarification

3

Im just reading a book on the basics of blockchain and I encountered a confusion regarding the 51% attack. If I'm right, it says that an attacker holding 51% or more of the network's computing power can rewrite the blockchain to his own favor.

What confuses me is the following: Blocks in the mainchain can only be added sequentially, hence the growth speed of the blockchain is at most the speed of the fastest miner in the network. So if a attacker is faster than the fastest miner of the rest of the network can start at some lower block (maybe even the genesis block) and add his own blocks on a new branch one after the other. Since he is faster than the official main-chain, his branch will eventually be longer than the latter and consequently become the new main-chain.

So the attacker does not need 51% of the whole computing power, only more than any other node, which is usually much less than 51%. What is wrong here?

Werner Thumann

Posted 2017-11-15T19:14:06.930

Reputation: 133

Answers

3

Yes, the attacker needs to be faster than the rest of the network combined. Being faster than the second-fastest miner is not enough.

I think this is where you are mistaken:

Blocks in the mainchain can only be added sequentially, hence the growth speed of the blockchain is at most the speed of the fastest miner in the network

Yes, blocks are added sequentially, but I can't follow your logic as to why that means block growth only happens at the rate of the fastest miner. If you are the fastest miner on the network, that in no way means that you are producing 100% of the blocks. It means that you are producing the highest proportion of the total, which is still likely a minority. Block growth still happens at a rate of the entire network collectively, regardless of who is fastest.

With that in mind, you can see why an attacker needs to produce blocks faster than the rest of the network combined.

Jestin

Posted 2017-11-15T19:14:06.930

Reputation: 8 339

2The source of confusion is probably that the poster considers mining a block is a deterministic process that requires certain amount of sequential work, that cannot be paralelized. While in fact mining is a guessing process similar to the lottery where the person with 100 tickets is still unlikely to win the lottery comparing to 100000 tickets bought by the rest.croraf 2017-11-15T19:57:14.717

1Oh yes, I guess I see my misunderstanding. That the time needed for mining a block has a probability distribution with non-vanishing deviation is essential here. Thx Jestin and croraf.Werner Thumann 2017-11-15T20:07:36.980