I am pleased to announce Multipool - the pool mining pool.
EDIT: Multipool is down for the meantime due to VPS problems. Use source code at
github to run your own multipool locally!
---
Connect your miners to multipool.hpc.tw:8337. Use your bitcoin address as username and anything as password. The pool will request work from other mining pools and transparently forward it to you. If any mining pools go offline or experience delays due to overloading/DoS, Multipool will switch automatically to alternative pools. Multipool keeps track of how many shares each user contributes to each pool in each round. When the pools send bitcoin rewards to Multipool, each user's balance is increased in proportion to their contribution in the rounds that are paid for.
Multipool will pay out user balances once a day as long as the balance is above 0.25BTC, or one week after the last share submitted as long as the balance is above 0.10BTC. Users can keep track of their shares, earnings, and payouts by going to multipool.hpc.tw/user/***bitcoin-address***. These stats pages displays the shares received by Multipool, the earnings confirmed by the pools, the bitcoin rewards actually collected by Multipool, and the bitcoin rewards paid out to users. The shares counts are those for confirmed rounds only - pending rounds are not summed. Multipool can only pay rewards it has actually collected; therefore it takes more time to receive the rewards - they have to be confirmed by the pools (some have 120 block confirmation intervals), paid out by the pools, confirmed by Multipool (10 block confirmation), and paid out by Multipool.
Multipool implements pool-hopping-strategy to achieve greatest mining efficiency for Multipool users. The stats page displays the expected utility for each pool for each round based on the Multipool prediction algorithms, and the actual efficiency (in comparison to solo mining) after the necessary stats data becomes available. The stats page also displays the overall user efficiency, based on all the pools combined.
Multipool charges 5% fee on any earnings
above 100% efficiency. Multipool also pays pool fees, including optional ones. So for example, if Multipool earns 1.60 BTC in a round in a pool with 2.5% fee by forwarding shares with an expected solo utility of 1.00 BTC (a round with 160% efficiency), Multipool will pay a 0.04 BTC fee to the pool, collect 1.56 BTC reward, keep 0.028 BTC fee for itself, and distribute 1.532 BTC to the users.
I expect pool-hopping may be controversial, but it has become necessary to make this issue public to better secure the bitcoin mining community. There are
known ways to implement a
provably secure and fair pool payment algorithm. On the other hand, there are
many other ways that are not secure, despite claims to the contrary. The pool operators and users that deny any perceived insecurities within their chosen system (and critique the alternatives as being "unfair"), and their lackluster attempts to patch up the holes are an unending source of hilarity. Yet reality is not that what we believe in, even if we believe that believing in something makes it real. Pool hopping is very possible and very much effective, as any user of Multipool will find out. While hopping is not very rampant in the wild, it
is happening (as the public pool stats will show to the right person), and denying it or implementing patchwork defenses without trying to understand the root of the problem will not make it go away. And this isn't even a problem that cannot be solved - the solutions are right there, available for anyone to use. Even though I am hurting my own pool-hopping operation by publicly advocating algorithms that will make it impossible, it is my hope that using Multipool to draw attention to the issue will finally put enough pressure on pool operators to resolve the problem on their end, rather than sweep it out of sight. Doing so will be more fair for all the other bitcoin miners who currently neither have the choice of a secure and fair pool (with one exception), nor have the knowledge necessary to implement pool hopping on their own.
I've had lots of fun putting this pool together. The task of mining many pools is proportionally more difficult than implementing just a single mining pool. There is a lot of screen scrapping going on and I cannot guarantee error-free operation, though I've taken precautions to the best of my ability to ensure accurate operations. Likewise, I cannot guarantee all payments if pool operators decide to start banning accounts. However, only the uncollected amounts in the pool accounts are at risk at any point, and if the pool operators do decide to go on banning sprees rather than solving the problem outright, I will have lots more fun implementing avoidance measures.