Saturday, June 14, 2014

Bitcoin Mining Needs to be Fixed

Bitcoin mining is a problem and needs to be fixed for bitcoin to be successful. Right now I don't hear anyone talking about fixing it, just putting on bandaids or worse, ​asking for irrational actions.
The problem stems from the way the block reward works. Essentially it is a lottery where a large prize (currently 25 BTC) is awarded every ten minutes. One buys tickets by providing hashing power to secure the network. The problem is that most participants don't want to 'win' once every few years. They'd prefer to get paid frequently overtime. To achieve this they pool their hashing power together and distribute the block award according to each participants participation level.
Whats the Problem?
The larger the pool, the less the variance in payouts and the more incentive to join the pool. This creates a problem because the pool operator is now in control of the security of the bitcoin network. If the pool operator wants to cheat or abuse the network they can do so.
The entire point of bitcoin is not to rely on trusted third parties, and having a single dominant pool operator makes that operator a trusted third party. Most assume the pool operator won't, but what if the pool operator is hacked, tricked, or otherwise coerced? Can a multibillion or even trillion dollar bitcoin economy thrive with this fundamental threat? No.
Whats the Solution?
The solution is to fix the block reward. Satoshi's white paper states "Proof-of-work is essentially one-CPU-one-vote" while that is technically true today, miners can vote by switching pools or buying hashing power at competing pools those aren't fixes. They are bandaids. The fix is to eliminate the need for pools at the root level.
What is Wrong with Bandaids?
The solutions I primarily see proposed today consist of asking (more like yelling) at miners to switch pools and asking all bitcoin owners to spend a percentage of their bitcoin wealth used to mine the network on a pool of their choice.
It is bizarre to me that selfish people in the community are yelling at miners for being selfish and stating they should switch pools. Miners could be asking the community why not donate BTC to pool xyz to increase the block reward and incentivize the switch. It is the same concept. Bitcoin shouldn't work through subsidies and perverse incentives. It should be fixed at the root so individual incentives align with network incentives.
Another bandaid is attacking the dominant pool operator either through block withholding or denial of service attacks. Does it make any sense for the bitcoin community to rely on periodic attacks when a pool gets too large? No clearly the problem should be fixed at the root so individual incentives align with the network incentives.