Ethereum smart contracts might one day be used to combat one of the biggest problems with cryptocurrencies at large, if a new project called SmartPool comes to fruition.
Today, nine mining pools make up roughly 75% of the bitcoin hashrate, and the situation is similar for ethereum and the rest.
Such "mining centralization" is seen as a potential down-the-road issue for all cryptocurrencies. The problem is that large mining pools have the potential to exert their power in ways that impact users in a negative way.
Some bitcoin developers even think that the threat is so severe that they have discussed developing an emergency hard fork to change the mining algorithm. The alternative code, if deployed, would render current mining pools useless.
While many are wary of using the hard fork upgrading mechanism in other circumstances if all stakeholders don't agree, the strength of this idea is that it could be used to make miners wary of abusing their power.
Countering the risk
So far, the risks seem to be hypothetical, as centralization hasn't necessarily impacted the network negatively in a conspicuous way.
But researchers like computer science PhD student Loi Luu worry that it could.
The reason mining has remained so centralized, in Luu's eyes, is that attempts to decentralize the system have yet to take off.
That's why he and a group of researchers designed SmartPool - a new decentralized mining pool that they believe could address some of the flaws that have led to slow adoption of the changes.
Although SmartPool comprises just a few proposed improvements on past decentralized mining methods, Luu and the team believe the project could bring big changes.
Luu told CoinDesk:
"The main goal is to improve the decentralization of all the existing cryptocurrencies."
And what is most intriguing about their approach, is that they will attempt to solve the problem with the help of ethereum smart contracts, which they say can be used to deploy decentralized mining pools on any cryptocurrency.
Luu expanded on the issue of mining centralization, arguing that one problem is that most mining pools currently have a head to cut off.
Under the rules that most pools follow, mining pool operators are currently the ones who choose which transactions make it into a block, Luu explained. This is potentially a problem if a pool gets a big enough portion of bitcoin's hashing power to be able to stop certain transactions (possibly diminishing one of cryptocurrency's main value propositions).
"That's why, when mining is centralized the transaction censorship threat is rather serious," said Luu. "If the mining pools don't like transactions, they can just exclude them from the blocks."
And, beyond that, there are other ways miners could potentially influence the network, if they rack up enough of hashing power.
Decentralized mining pools could offer a more democratic process, where each miner in the mining pool creates their own set of transactions, according to Luu. This means there's less likelihood that one entity will dictate which transactions go through.
Now, the reason that miners join mining pools in the first place is to ensure that they have a reliable paycheck, but mining solo is more risky in that. Without a lot of hashing power, it's less likely that miners will find blocks and reap the rewards.
Existing decentralized mining protocols along the lines of P2Pool try to merge the best feature of solo mining (that each individual miners chooses their own transactions) with the benefits of pooled mining (that miners can continue to pool resources).
But even with those benefits, miners are overwhelmingly choosing centralized pools. (P2Pool is the best-known decentralized option, but it's still not exactly a popular alternative).
Even with roughly 1,008 blocks mined per week, Luu pointed out that the last block P2Pool mined was a few weeks ago.
Though other decentralized mining alternatives exist, Luu argues that it's not viable for many miners to organize in a single mining pool using P2Pool's model. The more miners that join up, the greater the "variance" - the length of time it takes to get a reward.
"Reducing variance is, you know, the goal of joining the pool in the first place. That's why P2Pool is not scalable and it's very inefficient," Luu said.
His hope is that SmartPool will make all the difference. And, at least, it offers another decentralized mining option on bitcoin, ethereum, and other cryptocurrencies.
He further contends that there aren't many disadvantages to SmartPool's model. Miners need to run their own full nodes on any blockchain, however, which they don't need to do in centralized pools.
The mining centralization issue is complicated, though. Precise data isn't available, nor is the precise make-up of each mining pool, making it difficult to analyze the size of the problem.
Centralization may also be occurring in other ways. In bitcoin, for instance, mining hardware manufacturing has concentrated into the hands of fewer companies.
And, it could be telling that decentralized mining protocols haven't seen more use.
Getblocktemplate (GBT), first proposed for bitcoin in 2012, also gives miners a vote, so to speak, by allowing them to propose their own set of transactions for each block in a mining pool. But, not many pools are using it right now, either.
Luu guessed that one setback is that miners don't care about being able to propose their own transactions, and they want to be able to broadcast their blocks faster, so that they don't risk losing rewards to another pool. Another drawback, of GBT at least, is that miners must trust the pool operators for payouts, unlike in P2Pool or SmartPool.
That said, Luu was surprised that so few mining pools use it.
It's hard to say whether SmartPool will be similarly left in the dust, but Luu plans to experiment further and has big hopes for the project.
The SmartPool team already developed a proof-of-concept and the next step is to deploy a live mining pool on the ethereum network.
From there, the hope is that it will spread to others.
Pool image via Shutterstock