0
As it stands now, a miner (or mining pool) can discriminate any transaction for any reason if they are running a custom version of code.
Suppose an evil and powerful mining pool decided to hash blocks, but not include any transactions even if a fee was included. This would slow down the rate a block would be included in the chain.. effectively causing a DOS against certain transactions.
This is intended behavior to encourage transactions to include fees (or soon will be the behavior). But suppose a pool operator (or powerful mining consortium) decide that they want to kill off Bitcoin and not include any transactions ... at all.
Question
- What technical solutions are there to require blocks to have transactions?
Challenge
We don't want the attacker to only include transactions the evil mining pool themselves create, but also transactions that others create as well.
I don't want to encourage too many low-fee transactions in this model, thus de-incentivising mining activity
Is there any solution that addresses these goals in a fair and balanced way?
Such a consortium would be reducing the value of the Bitcoin system and thus reducing the total value of all Bitcoin mining. It's hard to imagine a scenario where someone with a significant investment in Bitcoin mining hardware has an incentive to reduce the total value of all Bitcoin mining. – David Schwartz – 2013-10-14T07:13:53.697
It's not that hard to imagine for one person (extortion, paid sabotage, spite), but if it is a pool the other miners would jump ship when they come to realize what is happening. I don't think such an attack could be sustained unless the malevolent mining power is under control of one entity. Then though, I find it improbable for one person to have a sufficient share of the mining power to have a major impact. – Murch – 2013-10-14T07:37:10.530