Eliminating Mining Pools

How New Economic Models Can Create More Secure Networks

Liang Wu
SKALE
6 min readApr 18, 2019

--

So, why do mining pools exist?

Given that they first appeared on Bitcoin, let’s start there. In short, mining pools began appearing on Bitcoin as a result of its security model (PoW); for those not familiar with proof-of-work, it’s relatively straightforward. The network creates puzzles whose complexity depends upon current network information (ex: hashpower, network load, etc…) and whoever solves the puzzle first gets to create a block with some of the pending network transactions in it.

In Bitcoin’s nascency, when all of these numbers were low, individuals could expect to earn a few Bitcoin on a regular basis by mining with their computer’s GPU. And as Bitcoin gained in value, more and more miners joined the network, which, in turn, increased its overall security. This boost in security was due to the fact that as the number of independent parties in the network increased, the ability for any one party to control the network decreased.

But as the complexity of these puzzles has increased over time, the ability for independent miners to make a profit with their GPUs has become an antiquated concept. This was due to the fact that more and more money coming into the market leading to both the fabrication of specialized chips known as ASICs (which well outpaced GPUs) as well as the creation of mining warehouses. These new entrants into the market began to make it near impossible for a single individual to mine any Bitcoin, so, the pooling of mining resources began to gain more and more popularity.

At a high level, mining pools subsist off of fees collected on the blocks which they mine. Every miner agrees to this fee when joining a pool and in return their hashpower is combined with that of the pool’s to increase the pool’s overall chances of mining a block and then receive share of the Bitcoin mined. Naturally, the popularity of these mining pools has exploded over time with the collective hashrate worrying some of the members within the Bitcoin community of a potential 51% attack.

Current Bitcoin Mining Pool Statistics (source: blockchain.com)

And their worries are justified — it is certainly much easier to pay off a few mining pools than it is to pay off all of the independent miners which comprise each of them. And just because we haven’t seen it happen yet does not mean that there is a 0% probability of it happening.

So, as Bitcoin mining got more and more competitive over time, we saw it go from the gold standard of decentralization to a network run by just a handful of pooled resources. And this was inevitable because the network’s security model did not ensure the profitability of independent miners. If independent miners were able to make a profit and there was no benefit to economies of scale for mining, we would not see these huge pools, like we do today.

So, how can we improve?

Removing Pool Incentives

Recall that the main reason why miners join pools is the fact that they would be highly unlikely to turn a profit, otherwise. And for this reason (amongst many others), every node in the SKALE Network has the same profit potential and is rewarded based upon its network behavior or SLA metrics (Service Level Agreement metrics such as uptime, latency, serving as a good actor).

And each node is judged based on its SLA behavior which includes its ‘virtualized subnodes’ which it creates via containerization to participate in consensus for Elastic Sidechains. The judges for determining the behavior of each of these virtualized subnodes are a subset of other virtualized subnodes in each elastic sidechain and the overall behavior of the node is regularly monitored by 24 independent peer nodes. Combining these metrics yields an overall score which will determine whether or not to reward the node for their network participation. Slashing only occurs upon verifiable determined malicious behavior such as a double-spend attack.

So, malicious behavior by any of the virtualized subnodes will lead to a partial slash of the node, and the slashing will continue until the virtualized subnode corrects its behavior or is removed from the Elastic Sidechain for the reason that the node which created it no longer has enough stake to serve as a validator in the network. Again, slashing occurring on a node’s virtualized subnodes will be reflected in the node’s stake — effectively, the node is partitioned into separate virtualized subnodes which all share the stake of the node and whose behavior can lead to the node’s stake being slashed.

This slashing prevents nodes’ virtualized subnodes from freeriding by failing to participate in consensus in their assigned Elastic Sidechains. So, while the node may still receive a reward for exhibiting good node uptime and latency to its peer nodes, that reward will be eclipsed by the amount slashed due to its virtualized subnodes exhibiting poor network behavior. So, the slashing occurs at the virtualized subnode level and the rewards occur at the node level — and, if a node’s virtualized subnodes are all running fine, then the node itself should also have no problems.

And in this way, SKALE allows every node in the network the same profit potential without risk that they will fail to serve as good actors within the network — removing incentives for mining pools and ensuring network security and growth through system design that protects profitability of independent miners.

Preventing Collusion within Elastic Sidechains

So, we’ve managed to eliminate the need for mining pools, but what about the security of each Elastic Sidechain? Individuals reading might have this exact same question given that each of these Elastic Sidechains has far fewer nodes participating in them than the overall Bitcoin blockchain. In short, this is handled through random appointment of virtualized subnodes to an Elastic Sidechain as well as regular virtualized subnode shuffling.

When an Elastic Sidechain is created, it is done so from a randomly chosen group of virtualized subnodes in the network. To ensure that it is not possible to deduce what nodes will be selected to create the virtualized subnodes, the SKALE Network enforces that 30% of the network’s total virtualized subnode resources within nodes always remains free. This, in tandem with a common coin (serving as SKALE’s randomness) provided by SKALE’s consensus, provide a strong guarantee that nobody will be able to determine, a priori, which nodes will be assigned to their chain.

And to ensure that virtualized subnodes in a chain don’t become too comfortable with one another over time and are able to convince a ⅔ supermajority to launch an attack with them, Elastic Sidechains ship with periodic shuffling of virtualized subnodes. What this means is that the free resources in the network for virtualized subnodes will be regularly used to create new virtualized subnodes which will replace subsets of virtualized subnodes in existing Elastic Sidechains. And with this regular replacement of virtualized subnodes combined with a random sampling from an honest majority, the possibility of ⅓ or ⅔ attacks on Elastic Sidechains decreases dramatically.

Summary

By leveraging a novel security model in tandem with random sampling and validator shuffling, the SKALE Network is able to both ensure the profitability of independent nodes within the network as well as the decentralization / security of the network.

Learn More

If you’d like to learn more about Elastic Sidechains, check out the ‘Elastic Sidechains’ Section of this article. If you are interested in learning more about becoming a validator in the network, node rewards, where SKALE sources its randomness, etc… please ask the community on Discord! And if you’re interested in trying SKALE out, check out the Developer Documentation! Also, feel free to also check out SKALE’s Technical Overview and Consensus Overview for a deeper dive into how SKALE works and is able to provide 20,000 TPS.

SKALE’s mission is to make it quick and easy to set up a cost-effective, high-performance sidechain that runs full-state smart contracts. We aim to deliver a performant experience to developers that offers speed and functionality without giving up security or decentralization. Follow us here on Telegram, Twitter, Discord, and sign up for updates via this form on the SKALE website.

--

--