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".
This is interesting. So the cartel miners could effectively possess more than 50% CPU by "allying" with some normal miners.
I think the problem is this:
Let's say the cartel has 1/3 CPU, and decides to allow 1/2 of all non-cartel blocks through. Thus, the cartel network would consist of 2/3 CPU. What figure should this be compared with to see if the cartel will win?
I think the answer is 100%, because the system as a whole allows both cartel blocks and non-cartel blocks. 100% CPU power for the system, 2/3 CPU for the cartel. What's worse, the cartel's behavior will net it much fewer than the 1/3 of the blocks that it was entitled to because sometimes it will be operating on an incorrect block chain.
The cartel is trying to "ally" with some non-cartel blocks. Amusingly, it is actually the network as a whole that reverse co-opts the cartel by accepting cartel blocks without prejudice.