Post
Topic
Board Bitcoin Discussion
Mining cartel attack
by
RHorning
on 12/12/2010, 18:09:12 UTC
I came across an idea that I think is worth discussing in regards to a kind of "attack" on the bitcoin network.  I'm calling this a "mining cartel attack".  I have no idea if this is being done right now, and I'm being pre-emptive in terms of describing it as I'm sure the thought has come across the minds of some other people too.  Perhaps I'm missing an essential element of Bitcoin here, but I think this could be a serious issue and I'm not sure of what protections, if any, are in place to stop this.

The assumption right now is that anybody can create a new block through the block generation system in place on Bitcoin and simply throw CPU cycles that eventually will be recognized in one form or another.  So far that is true and in fact I've been able to create a block doing just that as have many on this forum and elsewhere.  I consider that at least for the moment "proof" this attack isn't happening right now, at least for myself.  As long as everybody is being mostly honest and understanding that the strength of the network thrives by having as strong of a block chain as possible, this will continue to be the case.

Instead, in a "mining cartel attack", I'm proposing that a substantial number of "miners" who possess a substantial fraction of the computing power of the network, but not necessarily 50% of the network, could form into a cartel that would only recognize blocks generated by each other.  Perhaps they would let a few other blocks get past them from time to time to hide this attack, but the vast majority of the new blocks recognized by this cartel would have to be produced by cartel members.  BTW, the "letting a few other blocks past" also reduces the percentage of the network needed by this cartel to pull off this attack as those other blocks are actually contributing to the overall strength by including "independent miners".

Bitcoin works by recognizing the longest block chain in terms of proof of work.  Since this cartel is mostly rejecting blocks from other nodes yet they have some substantial computing power under their control, they can create longer chains as a group than the rest of network, especially if the rest of the network is disorganized and consists of mostly small-time "independent miners" not in a cartel.  It doesn't take much here, even if only on occasion they are rejecting a few blocks from non-members of the cartel.  This in turn, from an economic viewpoint, is going to strengthen the cartel members by "winning" more blocks and thus block generation coins and transaction fees associated with those chains more dominated by the cartel.

The programming for such an attack would be quite tricky, especially if you are trying not to get caught quickly that this kind of manipulation is happening.  It is something that could "scale" with the proportion of the network controlled by this cartel as the closer they get to 50% control of the CPU resources of the network also regulates how many "non cartel" blocks can be rejected in favor of cartel members.  I'd have to do some simulations to see what percentage of the network would be needed to reject any blocks from other miners as I don't think a single PC could do this attack at all.

Presuming in an ideal situation where the mining cartel persists with this attack, on a social level many of the non-cartel members would drop out of mining (it is already happening anyway) as they simply can't get their blocks recognized and think the effort of running the CPU isn't worth the effort.  Cartel members would be claiming that the issue is mainly because of increased mining difficulty (which may be true as well) but it should be noted that isn't the only issue here.  Still, the net effect is that the mining cartel ends up with an increasingly larger portion of the network and thus firmer control over the ability to manipulate the network to their own advantage.

Multiple cartels could also exist in this framework, with or without the knowledge of each other.  There would be strong incentives to try and identify other cartels and certainly to propose a "merger" of competing cartels if possible under all sort of arrangements.

The primary issue on a technical level would be to identify which blocks belong to cartel members and thus should be used for building the next block of the chain by cartel members.  This would likely be done "out of bandwidth" as a separate communication channel independent of the main Bitcoin communications network, although an "in bandwidth" scheme could also be set up.

The net harm to Bitcoin as a whole is that the block chain would ultimately be weaker as a result of this kind of attack, since CPU cycles "spent" by "independent miners" would not be recognized or used for difficulty adjustments on the network.  This is also something that a government could use to "capture" Bitcoin if they were patient and were willing to work outside of legal attacks.  Still, I see this mostly being done by self-interested participants who already have some substantial CPU resources and are simply being greedy.  Transactions themselves would not be harmed and those with Bitcoins already in some form or another can arguably even be supported by such an "attack" as the miners are doing some of the "dirty work" involved with running the network... something cartel members would assert anyway as a sort of "public service".

Is this something to even worry about?  I don't see an "easy" way to stop this sort of "attack" either, although there certainly are plenty of historical examples of similar kinds of "conspiracies" to restrain activity like this.  Just look at DeBeers in South Africa if you need some examples to look at.