The Bitcoinsphere is abuzz with news of the GHash.io mining pool exceeding 50% of the Bitcoin network hashrate, which is of course in contrast with Bitcoin’s decentralized vision.
While it is indeed worrisome, I personally believe it is not something to panic about, as the underlying causes are solvable and we should not see such a phenomenon recur going forward.
The current centralization is the result of two distinct causes. One is the concentration of mining within a few large mining farms, often controlled by those who manufacture mining ASIC chips. These either take the mining risk themselves or forward it by offering mining contracts to the public. This is made possible by the economies of scale in building machines and operating them that large entities enjoy. This is indeed a problem, however, I believe this will be alleviated somewhat as SHA-256 computation becomes more of a commodity, as I claimed in ASIC will not Centralize Bitcoin Mining.
The second cause is that even individual miners who operate their own machine independently, use these machines in conjunction with large mining pools. The reason is, that with all classical mining pool reward methods, the larger a pool is, the better performance it can offer its miners in terms of the tradeoff between variance, fees and maturity time. A large pool will be more lucrative and hence attract more miners and become even larger, with the ultimate limit being consolidation within one pool.
Fortunately, I believe the latter cause is easily solvable. All it takes is using a reward framework that does not lead to “the rich get richer” effect. P2pool is often cited as a possible such framework, but while it has its merits, I do not believe it has what it takes to offer a sustainable solution, mostly due to the difficulty of small miners to use it.
Starting with p2pool as a basis, thinking what can be done with it and following it to its logical conclusion, I arrived at Multi-PPS, which I wrote about a year ago. Its basic premise is that miners should mine in multiple pools simultaneously, in proportion to each pool’s strength. Using this framework has two important features:
- The miner enjoys performance that is equivalent to that of a pool with a combined size of all pools he uses together.
- The stable equilibrium is not consolidation in one pool, but rather, maintaining a distribution between many pools according to the merits of each.
Of course, implementing this is nontrivial, and there are some technical performance issues to consider; however, the numbers do look promising, and the effort in implementing it is small relative to the potential gain. More details are available in the linked post.
Because this is such a hotly debated topic now and this proposed solution receives too little attention for my taste, I have decided to choose it as the topic for my technical talk in the upcoming Inside Bitcoin Tel Aviv Conference at the end of July.