0

My question is about concept, so code is not related, however, do you really need 51% of the mining power in order to attack/replace the real bitcoin Blockchain?

For example, a blockchain has a length of 8, A, B, C, D, E each represent a individual with 20% of the total mining power, let's say person A and B decide to work together, but that's only 40% of the total mining power (less than 51%), for illustration purpose, miner C, D, E will always mine alone, so by the time miner C, D, E each finished mining the 9th block, A and B have already mined the 11th block (assuming they mine faster, since they work together and have a total mining power of 40%), so longest chain wins right? and now the 9th block that miner C, D, E just mined becomes invalid and their chain will be replaced to the longer blockchain, does this mean A and B might have the power to control and manipulate the entire bitcoin Blockchain with only 40% of the mining power as long as the rest of the network don't work together? if so, then bitcoin is not really safe, because most of the time there is no way for small individuals to work together, it's like owning a company, you don't have to be holding 51% shares in order to be in charge of the company, you can do it with just 2% as long as the rest of share holders each hold less than 2% and don't work together against you,

So my ultimate question is, does bitcoin network have a way to force the rest of the share holders to join forces? Therefore you need a true 51% to control/manipulate it or is it like a company?

3

A majority attack (51% attack) was given this name for a reason: in order for the attack to succeed on average, the attacker needs 51% of the hashpower.

Reading your question, I can see a misunderstanding of how mining works, in that you postulate two miners working together with 40% of the hashpower will outcompete 3 miners with 20% of the hashpower each (ie, 40% > 20%). This is false.

Bitcoin mining is a memory-less process. This means that any single block header a miner creates has an equal chance of creating a valid hash - there is no advantage to having more hashpower, other than being able to make more guesses per second. A miner does not 'make progress' towards finding a new block, each hash is either valid, or not.


An example using dice

As an example of a memory-less process, consider the act of rolling some dice.

Lets consider a situation in which each di has 100 sides, and only 1 of those sides is considered a 'valid roll'. If there are 100 such dice in existence, and each of them is rolled once per second, then probability leads us to expect one valid roll per second.

Now, lets consider your situation, in which 5 people each have 20 of the dice. We can see that, even if two people 'roll together', they will still only roll a 'valid roll' 40% of the time, whereas the other three people will roll a 'valid roll' 60% of the time, regardless of whether or not they are 'working together'.


Likewise, in your example we can see that the three miners with 60% of the hashpower will, on average, find more blocks than the two miners with 40% of the hashpower. This is simply because (20 + 20 + 20) > 40.

This may lead you to the question "then why would miners work together?" The answer is that by working together (using a 'mining pool'), a miner can expect less variance in their payout. See this answer for more info, and this answer is relevant as well.

  • thank you very much for the answer , however, why do u need at least %51 of the total hushing power, could it be less in reality? if you mine an empty block u mine much faster right? and if you mine only the empty blocks secretly without broadcasting it, is it possible for your own secret blockchain to still be longer than the real bitcoin blockchain with just %40 of the total hashing power? therefore replace the real blockchain once you broadcast it? – DADI Dec 29 '18 at 6:35
  • my question is, receiving these blocks from the network with all these open transactions take time right? also you need to broadcasting it and solving all these conflicts that could still be time consuming even if u do it asynchronously, but if you mine alone in secret, u don't need to do all that, u just mine one empty block after another, that's much more faster right? and eventually longer chain wins, so in reality is it truly not possible to hack the bitcoin network with only %40 of the hashing power? – DADI Dec 29 '18 at 6:44
  • back to your dice illustration, i don't think A and B are rolling the same dice as the rest of the network, miner C, D, E are mining the real blocks, miner A and B are mining empty blocks offline, by the time miner C D E each thrown a dice, miner A and B have both thrown the dice twice, because their dice is lighter and different than the real dice, therefore the %40 "doubles" becomes %80, does this make any sense? – DADI Dec 29 '18 at 7:03
  • @DADI no, mining an empty block is no faster than mining a full block. A & B are indeed rolling the same dice as everyone else. There are also transaction rewards to collect, which provide miners an incentive to fill blocks. – chytrik Dec 29 '18 at 11:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.