The Russian wiki is no longer maintained and is in read-only mode. Information contained within may be inaccurate or outdated. Please go to the English wiki for more up to date information.
Автоматический перевод с английского: Русская вики больше не поддерживается и находится в режиме только для чтения. Информация, содержащаяся в ней, может быть неточной или устаревшей. Пожалуйста, перейдите на английскую вики для получения более актуальной информации.
Майнинг в пулах
Майнинг в пулах это такой подход к майнингу при котором объединяются вычислительные мощности нескольки или многих участников для генерации нового блока. А при нахождении блока - награда распределяется среди этих участников.
Введение
С возрастающей сложностью генерации, поиск блоков на маломощных устройствах может занимать очень много времени. К примеру при работе 1Mhps и сложностью 14484 (которая была в конце декабря 2010), среднее время генерации блока будет составлять почти 2 года.
Для поиска блоков было разработано несколько различных подходов объединения мощностей участников To provide a more smooth incentive to lower-performance miners, several pooled miners, using different approaches, have been created. Таким образом вместо ожидания в течении лет нахождения блока, более мелкие майнеры могут получать награды в более регулярные сроки.
Было введено понятие share - награда участникам пула, которые нашли правильное proof of work такого же типа которое необходимо для создание blocks, но меньшей сложности, а соответственно и требующее меньших затрат времени для нахождения.
Методы организации работы в пулах
Проблемой совместной добычи является то, что должны быть приняты меры, чтобы предотвратить обман со стороны клиентов и сервера. В настоящее время существует несколько различных подходов.
Метод slush
Майнинг биткойнов получивший название "slush's pool", использует score-based метод. Более старые shares (от начала раунда)имеют меньший вес чем более поздние, что уменьшает мотивацию переключаться между пулами во время раунда.
Метод puddinpop
(С февраля, 2011, работающих по данному методу пулов нету)
Другой подход получивший название 'metahash' техника, используется puddinpop's remote miner. Клиент генерирует хеши и отправляет 'metahashes', которые по сути являются цепочками хешей. Сервер проверяет правильность metahashes. Награда распределяется соответственно количеству найденных metahashes.
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.
The Pay-per-Share (PPS) approach, first described by BitPenny, is to offer 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 a payout lower than the full expected value.
Luke-Jr's approach ("Eligius")
Luke came up with a third approach borrowing strengths from the earlier two. 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 stale 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 0.67108864 BTC (400 TBC). If the amount owed is less, it will be added to the earnings of a later block (which may then total over the threshold amount). 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. When a block is found, the reward is divided among the most recent shares in this share-blockchain. Like the puddinpop and Luke-Jr approaches, p2pool pays via generation.
Comparison
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.
Further, the cooperative mining approach 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.
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.).
Puddinpop and Luke-Jr miners receive coins directly, which eliminates the delay in receiving earnings that is required on slush-based mining servers. However, using some eWallet services for generated coin will cause those coins to be lost.
See Also