Las mining pools they are a group of miners who cooperate with the objective of mining blocks of a blockchain. The purpose of this grouping is to facilitate the work of mining is. and obtain equitable benefits for everyone within the group.
The creation of these groupings responds to the need to be able to satisfactorily solve the puzzles of a blockchain as the power of your network increases and the mining difficulty. A job that individually would be very difficult for each miner to complete.
The first Bitcoin mining pool
The first mining pool that was created is called SlushPool. It was presented in the forum Bitcointalk on November 27, 2010 by the user Slush. This user is currently CEO and co-founder of Safe deposit. SlushPool was implemented in Europe, specifically in Poland, the country of origin of Slush itself. The intention of its creator was to unite the forces of the underpowered miners. This in order to face the growing practice of GPU mining that was born in Bitcoin. The result of this interesting insight was surprising in allowing these miners to make better group profits than solo.
How does a mining pool work?
The operation of the mining pools depends on three clear actors, responsible for cooperativity between all the mining units that are members of said pool.
Cooperative work protocol
The operation of the mining pools would not be possible if the protocol Bitcoin not allow this function. First of all, the responsible for this is a function that is built into the base Bitcoin client. This functionality was known at the time as get work. This allowed a dispersed mining group to have a target block to mine cooperatively. In this way, mining power is concentrated on a specific objective instead of individual ones. Therefore it serves to optimize the global mining process.
What Getwork was actually doing was communicating to a group of miners so that together they mined the same block. Each miner working on unique solutions until one of them could solve it satisfactorily. In this way, the block would be mined more quickly and network delays are avoided due to the increase in difficulty that was coming. Back then Bitcoin was growing rapidly, from mining for CPU it happened at GPUs, while FPGA's and ASICs they were looming at the doors.
However, Getwork had some weaknesses that were later overcome thanks to the function getblocktemplate. This new function allows to overcome the weaknesses of the old systems allowing a better scalability and security.
Cooperative Mining Service (Server)
In order to allow multiple miners to pool their computing power at one point, it is necessary to have a server to serve as a link. It may sound ironic that a decentralized technology like blockchain relies on a centralized service. But there are good reasons for this: keep pace with block production and allow profits for the little ones.
The most common cooperative mining server software is Bitcoin's own official service, the bitcoind. Other fairly common softwares are BFG Miner, p2pool, ecoinpool o stratum. In any of these cases the operation is basically the same.
First, the service software to be used is installed, for example, bitcoind. This service is configured in such a way that you can listen to the connections that come from the Internet to your server. In this way, a communication channel can be opened between the miners and the cooperative mining server. At this point, each miner must have a registered account so that the server can give him access to the service. But not only that, the registry also serves to distribute the profits from mining among those who are part of the pool.
The server job is simple:
- Receive network transactions.
- Communicate the information to the miners.
- Control and monitor the work.
- Send correctly resolved blocks to the network.
- Carry out the accounting of solved blocks and the work contributed by the miners.
- Finally, send the corresponding profit to the miners in the pool.
Mining software (Client)
Each mining software has different features and supports. Miners must correctly choose the mining software that fits the characteristics of the mining pool they will join. The work of a mining software is simple. This will connect to the cooperative or pool mining server, receive the information and begin to solve the puzzle of the given block. Once it finds the answer to the block, it sends it and continues with its work helping to solve the next block.
In addition to this work, the mining software manages the authentication and the corresponding payment to the miner for his work. To do this, mining software usually points a username, password and address for the payment. All this directed to the IP address and port that the server keeps active to carry out its work.
Still, the usage software depends in part on the control part of the mining hardware itself. In the Bitcoin network for example, the software most commonly used by miners in recent years has been cgminer. The cgminer software was developed by an Australian anesthetist. At Bit2Me Academy we have an article dedicated to this creator called With Kolivas, well known in the Bitcointalk forum as “-ck ".
In conclusion, the combination of these three elements is what enables a mining pool to perform its liaison role for communication and task management in a cooperative manner.
Large mining pools today
Since the appearance of the first mining pool, these spaces have expanded. New mining pools appeared and at the same time diversified their options. At first, pools were dedicated to Bitcoin only, but then other cryptocurrency pools began to appear. Currently, practically all major cryptocurrencies have mining pools. The reason behind this is very simple: they facilitate mining and ensure the proper functioning of the network in general.
But of all mining pool services, some stand out for many reasons. Among them the most important are:
AntPool is the largest Bitcoin mining pool in terms of potency of hash rate. Its base of operations is in China. This mining pool is controlled by the ASIC miner manufacturer BitMain, company with the largest distribution of miners in the world in the last five years. The use of the mining pool service is open and free. It has a high level of security and the commissions charged by the service are not very high.
AntPool offers mining pools for cryptocurrencies Bitcoin (BTC), Bitcoin Cash (BCH), Litecoin (LTC), Ethereum (ETH), Ethereum Classic (ETC), Zcash (ZEC), Dash (DASH), Siacoin (SIA), Monero Classic (XMC) and Bitom (BTM).
Nanopool It is one of the largest mining pools on the network. Ethereum and a good alternative for mining popular altcoins. Its servers are distributed around the world, so it has greater fault tolerance. Nanopool's commission charge does not exceed 2% for its group of supported cryptocurrencies, among which are, Ethereum, Ethereum Classic, Zcash, Monero, SiaCoin, Grin, Raven, Electroneum and Pascal. Its security level is on par with that of AntPool, with options to withstand attacks DDOS to your infrastructure.
F2Pool is another of the most relevant Bitcoin mining pools located in China with many more altcoin mining options, launched in 2013. In the mining community it is also known as “Discus Fish mining pool". The site has a Spanish interface available and it is simple and easy to understand. The commissions of this pool are a bit higher but they do not exceed 4%. Among the supported cryptocurrencies are: Bitcoin (BTC), Ether (ETH), Litecoin (LTC), Zcash (ZEC), Ethereum Classic (ETC), Siacoin (SC), Dash (DASH), Monero (XMR), Monero Classic (XMC), Decred (DCR), Zcoin (XZC) and Verge (XVG).