BitCoin mining pools

As stated in an earlier post, after I was mining for a few days, the 50btc mining pool was hacked. A month later, I’m still waiting for my coins. So I tried some other pools. As advised in many places, I avoided the biggest pools, thus mitigating the risk of a 51% attack. I mined for about three days each with 50btc, slush, bitminter and eligius. Like 50btc, slush and bitminter required registration and payed for the submitted work to an account on the site. You could manually cash out, or define automatic payouts with a threshold. These pools are good for ease of mind when you start mining, or have underpowered hardware, as you get a predictable, steady flow of income. Because these pools pay for submitted work, they have to absorb the risk of bad luck periods. Thats when the pool doesn’t find as many blocks as it statistically should. Because of that, they naturally need to collect higher fees.

The eligius pool has an entirely different strategy. As happened to 50btc, the pools above accumulate funds for payouts, and are thus exposed to hacks. You don’t have to register for eligius. Instead, you just provide your payout address as user name. When a block is found, it is split amongst the miners, and no funds are kept on the server. This manifested in a different action in my bitcoin client. Rather than an usual transaction with an originating address, it showed two hammers, indicating that this came directly from mining. Though not vulnerable to hacks as the other pools, it is still attackable by DDoS. And yes, the BitCoin world is more hostile than the broader OpenSource community. That’s what money does to people.

Then I found what I consider much more in line with the bitcoin spirit: p2pool. It is decentrally organized as peer to peer network, just as bitcoin itself. Having no single point of failure, it is save from both hacking and DDoS attacks. It is very clever how it works: Blocks with a much lower difficulty requirement, but the same payload as real blocks are committed to the p2p network, verified by the other nodes and stored in a ledger, just like in the real bitcoin blockchain. This makes it very difficult for individual nodes to cheat. The p2pool ledger has a shorter lifespan as it doesn’t need to preserve the full history. Now these blocks with lower difficulty requirement are the shares used to calculate how much to pay to each miner when a real block is found. The downside is that you have to maintain a bitcoind and a p2pool node on your own server. The bandwidth requirement is not much of an issue with a regular broadband connection, but my low power server is a bit short on memory now. And since it is a relatively small pool, the variance is pretty high. That means there are days where the pool finds no block at all, and others where it finds five. Good that the pool luck was above average in the last few weeks. Also the statistics are not as pretty as with the bigger pools, but you find what you need. Android and KDE plasma widgets usually don’t display statistics for p2pool. For me the peer to peer nature outweights those limitations by far.

You can find a comprehensive list of bitcoin mining pools with a good explanation of payout schemes on the bitcoin wiki.

In the five weeks my miner has been running, it found two blocks already:  267864 and  270572.That means it is already more successful than statistics predicted. Since I’m mining in a pool, that doesn’t make much difference for me. With p2pool, you get a 0.1 XBT bonus for a solved block. It would be premature to say, that I would have been better off with solo mining. Although two solved blocks account for almost five times of what I earned so far, there is no way to know if my miner would be as successful in solo mining. And that is all despite the fact that my miner still has lots of disabled cores preventing it to go faster than 250GH/s while the nominal value would be 275GH/s. Thanks to the recent dramatic increase of the BitCoin value, my Saturn reached ROI already.



, ,




Leave a Reply

Your email address will not be published. Required fields are marked *