In this part we will talk about “pooled mining” and compare the different approaches.
With increasing block generation difficulty, mining essentially becomes a lottery, as it may take years before an individual node manages to create. To provide a more smooth incentive to lower-performance miners, several pooled miners have been created. With a mining pool, a lot of different people contribute to generating a block, and the reward is then split among them according to their processing contribution. This way, instead of waiting for years to generate 50btc in a block, a smaller miner may get a fraction of a bitcoin on a more regular basis.A share is awarded by the mining pool to the clients who present a valid proof of work of the same type as the proof of work that is used for creating blocks, but of lesser complexity, so that it requires less time on average to generate.
Pooled Mining Approaches
Currently there are several pooled mining different approaches used:
- The Slush Approach – Sometimes referred to as “slush’s pool”, follows a score-based method. Older shares (from beginning of the round) has lower weight than newer shares, which demotivate cheater from switching between pools inside one round.
- The Pay-Per-Share Approach – This approach consists, in to offering an instant flat payout for each share that is solved. The payout is offered from the pool’s existing balance and can therefore be withdrawn immediately, without waiting for a block to be solved or confirmed. The possibility of cheating the miners by the pool operator and by timing attacks is thus completely eliminated.This method results in the least possible variance for miners while transferring all risk to the pool operator. The resulting possibility of loss for the server is offset by setting the payout lower than the full expected value.
- Luke-Jr’s approach – Luke came up with an approach borrowing strengths from the other approaches. Like slush’s approach, miners submit proofs-of-work to earn shares. Like puddinpop’s approach, the pool pays out immediately via block generation. When distributing block rewards, it is divided equally among all shares since the last valid block. Unlike any preexisting pool approach, this means that the shares contributed toward orphaned blocks are recycled into the next block’s shares. In order to spare participating miners from transaction fees, rewards are only paid out if a miner has earned at least 1 BTC. If the amount owed is less, it will be added to the earnings of a later block (which may then total over 1 BTC). If a miner does not submit a share for over a week, the pool sends any balance remaining, regardless of its size.
- The Triplemining approach – The Triplemining approach is to bring together a medium-sized pool with no fees and clever redistribution of 1% of every found block to allow your share to grow more rapidly than on any other bitcoin mining pool.For every found block, Triplemining redistributes 1% of the profits to all minipool owners (people with 1 or more friends mining with them). The redistribution is connected to the shares found by the members of the minipool. So if the hash rate of the minipool members equals or is bigger than yours, the part in the redistribution will be equally bigger.
- P2Pool approach – P2Pool mining nodes work on a chain of shares similar to Bitcoin’s blockchain. There is no central point of failure and thus P2Pool becomes DoS resistant.P2Pool works different from existing mining pool technologies — each node works on a block that includes payouts to the previous shares’ owners and the node itself. 99% of the block reward (the 50BTC reward plus any included transaction fees) is distributed evenly to miners based on work done recently. An additional 0.5% is awarded to the node which solves the block.
- The puddinpop approach – Another approach is the ‘metahash’ technique, used by puddinpop’s remote miner. Clients generate hashes, and also submit ‘metahashes’, which are hashes of a large chunk of generated hashes. The server checks that the metahashes are correct (in a round-robin fashion, picking up a metahash from a client that hasn’t been checked on the longest), thus preventing clients from simply claiming that they have done work without actually doing the work. The withholding of good blocks by the clients is prevented via the server being in possession of the private key, just as in the previous approach. Rewards are distributed based on the number of metahashes submitted by the clients.The generated blocks contain multiple keys in the generation transaction, giving fractional bitcoin amounts to each key, in proportion to their hashing contribution for that block. As of February, 2011, there are no puddinpop pools running.
The cooperative mining approach (slush and Luke-Jr) uses a lot less resources on the pool server, since rather than continuously checking metahashes, all that has to be checked is the validity of submitted shares. The number of shares sent can be adjusted by adjusting the artificial difficulty level. Furthermore, cooperative mining allows the clients to use existing miners without any modification, while the puddinpop approach requires the custom pool miner, which are as of now not as efficient on GPU mining as the existing GPU miners.
Puddinpop and Luke-Jr miners receive coins directly, which eliminates the delay in receiving earnings that is required on slush-based mining servers. Additionally, the puddinpop and Luke-Jr approaches of distributing the earnings by way of including precise sub-cent amounts in the generation transaction for the participants, results in the presence of sub-cent bitcoin amounts in your wallet, which are liable to disappear (as unnecessary fees) later due to a bug in old (before 0.3.21) bitcoin nodes. (E.g., if you have a transaction with 0.052 in your wallet, and you later send .05 to someone, your .002 will disappear.).
P2Pool’s main advantage is not technical, but rather political – if all the miners mine through a few traditional pools, then the owners of those pools end up having a great amount of power over the network, while P2Pool operates without anyone having control of it.