Imagine the following scenario:
I send you 1000 BTC.
After 6 confirmations, you give me what I bought.
I create another transaction with 900 BTC to my own wallet and 100 BTC as transaction fee, using the same input as the previous transaction. (double spend)
The mining pools find that 100 BTC is higher than 6 block rewards which is 12.5 * 6 = 75 BTC, so they start to mine on the last block which doesn't contain my first transaction.
Those 6 confirmations are orphaned and the pools earned more money.
My double spending succeeded.
I know that this mining strategy is not implemented in most pools today, but nothing is preventing pools from doing this in the future.
100 BTC is a large amount of money. But after many years the block reward will be very low, so this attack may not require so much money to perform in the future.
I googled and didn't find any related questions.
I want to know whether this kind of attack is possible in practice and what we can do to prevent this.