Maybe the attack needs some refinement.
To make it possible at all? I'd agree.
Lets say that the transaction that double spends immediately pays compensation for the rewards of the 6 original blocks to the same addresses. So there is a guarantee that nobody looses rewards in the case that the attacking chain wins.
Then it becomes impossible to get enough hash power to participate.
If I'm the mining pool that originally mined block 2, then I have no incentive to mine the replacement block 1 (since I won't get the reward for it). If I operate a mining pool that didn't solve any of the 6 blocks, then I have no incentive to participate in the attack at all (since I won't get any reward).
Furthermore the transaction adds a one time excessive fee. Now you have to decide which chain to extend. The original chain with standard block rewards and fees, or the attacking chain with standard block rewards, but excessive fees. So you extend the attacking chain. Also you pass some of the excessive fees to the next block, because you want all other miners to further extend the attacking chain.
So you spend time mining a block that seems unlikely to be accepted (unless you already have agreement from a cartel that they will accept it). Then you take a currently useless (but hopefully eventually useful) reward and give some of it away hoping that enough others will make the same decision that you did?
Considering the costs of mining equipment and electricity, that's a LOT of risk in exchange for a hope that others will decide to take the same risk. Now you've got to decide the right balance of keeping enough of the reward to make the risk worth it and voluntarily giving up enough of the reward to convince other pools that the risk is worth it.
Meanwhile, as the original chain continues to grow, the risk continues to increase while the reward for everyone that hasn't already suck effort into the attack shrinks.
Because all lost mining rewards from the original chain were already compensated for on the atacking chain, there is no benefit in mining the original chain.
There is for everyone that didn't mine that specific block.
In terms of rewards, both chains have the same length. Miners don't extend the longest chain, because of an arbitrary number, but because their rewards are trapped in it.
There aren't any miners with fees trapped anywhere. All "honest" miners have already earned their revenues on the "honest" chain.
It is the excessive fee (that must be partially passed to the next block) that makes the attacking chain more profitable. If everybody mines the original chain, the bribe is lost.
Correct. And if the "attacking" chain doesn't catch up fast enough, interest in the ever shrinking bribe will wane. As such the bribe is likely to be lost. Knowledge of this acts to suppress the amount of participation in the "attacking" chain. This is a self-reinforcing feedback loop that results in nobody being willing to risk wasting time and money on an attack that they all believe will never succeed.
If everybody mines the attacking chain there is some expected additional profit (and you are guaranteed not to loose your rewards). The collusion is implicit and does not need coordination (assuming all miners want to maximize their profit). No miner looses block rewards. They get the compensation for the lost blocks and profit from the excessive fee.
Assuming for even a moment that this attactk could work the way you've tried to describe it. There is a final fatal flaw that makes it impossible for the attack to succeed without collusion.
This growing alternate chain and the miners activity in choosing to extend it is all VERY public. It would be obvious to everyone that it is occurring. This would have 2 side effects.
1. Faith in Bitcoin's ability to function as a reliable decentralized currency would collapse. The exchange rate of Bitcoin would plummet to pennies. Miners/Pools, having a significant capital investment, would lose their only source of revenue and result in bankruptcy. Doesn't sound like a logical decision for a "selfish" miner.
2. If it even got close to happening even once, behavior would immediately change for determining the number of confirmations to wait for.
I still think, there is a connection between security and accumulated miner rewards. Why would you choose not to mine the attacking chain?
With collusion that provides a single entity with control over significantly more than 50% of the global hash power, it no longer matters. The security of bitcoin would be meaningless and your attack would be unnecessary.
Without collusion, it requires a significant risk in time, effort, and money on an effectively worthless potential payoff. A selfish miner/pool is unlikely to take that risk. It would be very interesting to see someone try it.
Perhaps some mathematician can work out a perfect formula for determining how much bigger than the block rewards the "bribe" needs to be to make it work (under the assumption that the exchange rate wouldn't change significantly afterwards), along with a formula for the pool to determine what percentage of the "bribe" they'd need to forward on to the next block.