JT Pedia: Informasi - Pendidikan - Teknologi - Software - And More

Mining Pools and How Computing The Work Revenue For Each Miner

What is Mining?

Now historically, when small business people faced a lot of risk and they wanted to lower it, they got together and formed mutual insurance companies. A mining pool is exactly this kind of organization for mining Bitcoins. Suppose that a group of miner get together and form a pool. They will attempt to mine a block for the same recipient, called pool manager. The pool manager will receive the minted Bitcoin no matter what miner found them. He will take that revenue and distribute it to all of the participants in the pool based on how much work each participant actually does. Of course, the pool manager will also probably take some kind of reward for his management service. The miners are encouraged to join a pool to lower their variance.

Computing the work of each miner

How does the pool manager know how much work each of the members is actually performing? He can’t just take everybody's word for it, since many won’t declare the truth. So, the idea is that miners can prove probabilistically how much work they're doing by outputting shares. Shares are almost valid blocks. It's pretty rare to find an actually valid block, that starts with all the required zeros at the beginning of the output hash. But, there will be a lot more almost blocks that start with a lot of zeros but not all the ones necessary to make it a valid block. So, supposing that a valid block starts with 60 zeros, a almost valid one could start with 40 or 50 bits of zeros.

So the miners participating in the pool send to the manager a bunch of these near-valid blocks. The rate at which every miner is sending them, should give a very good statistical idea of who's doing how much work. In addition, there's no way to fake it. In fact, thanks to hash properties, there's no way to find almost valid blocks without also finding actual blocks at the expected rate.

Computing the revenue for each miner

How can miners work together to find a new valid block? As soon as a new block is discovered by the network a new round starts:
  • The pool manager chooses the new transactions that are going to be inserted, assemble the Merkle tree including the coinbase transaction that creates new coins towards himself.
  • The block header will be sent to all of the participants in the pool. The miners have to prove that they've been working on it by sending in shares showing that they've been hashing this block. Finally one of the miners, hopefully in the pool, finds a valid block that will be published.
  • After this happens, all the miners will send the pool manager all the shares found. He will verify them and distribute the revenue proportionally to how much work they actually did.


Now, in the image below, even if the block was found by the miner on the right, the miner on the left will receive a higher revenue, since he has found more valid shares. There's no bonus for the miner who has actually found the block. So it would have been better if he had just mined alone. While, the miner on the left would be glad since he will receive a higher reward.

Mining Pools and How Computing the Revenue For Each Miner.


Alternative reward methods

There are a lot of variations on the model explained above to compute the miners' reward. A couple of common ones are:
  • pay-per-share: the pool manager pays a flat fee for every share above a certain difficulty that the miners find. In some ways it's the best for miners because the reward is guaranteed. The pool manager is taking all the risk in this scheme, since he will have to pay even if no valid block was found for the current round. In this case the miners don't have any real motivation to send valid blocks, since they will get the same reward as if they have only found shares.
  • proportional model: instead of a flat share, the amount of share depends on whether or not the pool actually found a valid block. In this case the miners still have some risk, while it will be lower for the pool manager. In this case, the miners have a higher motivation to send valid blocks.
  • Luke-Jr approach: the pool owner actually collects no fee, but miners can't receive any revenue until their balance is at least one Bitcoin. So it's the best model to be in after the first Bitcoin, but it's harder to start to earn something. Since it's quite difficult to reach one Bitcoin nowadays, there are few systems that use this model.
 
Copyright © JT Pedia Link • All Rights Reserved.