The harnessing of graphic card GPUs pushed mining rates to Gigahashes per second, and recently, the development of ASICs made Terahash rates possible. Many miners either fell out of the race or were forced to form pools - combining their hashing power in order to mine profitably. So began the era of the mining pools, behind whose power to make or break small altcoins, lay a greater threat: the 51% Attack. More on that later.
The sheer hashing difficulty and cumulative network hash rate of the Bitcoin (and now many other cryptocurrencies) network makes pooled mining a necessity. Whereas much negative publicity surrounds the traditional pools, it must be emphasized that reputable mining pools do exist. One such pool, Eligius, predates P2Pool and was created by Bitcoin core developer Luke-Jr, whose vested trust and community standing guides Eligius operations.
With many other traditional pools, however, this degree of responsibility cannot be assumed, and pool operators have been known to skim payments or even abscond with miners' funds. Attacks on traditional pools are also frequent due to the lure of fat payroll wallets accumulating there between block pay-outs. Other times, miners may simply want to setup their own pool and control their own mining operation.
This article explores a secure and miner friendly pool implementation that allows profitability while enhancing cryptocurrency networks in many integral ways.
What is P2Pool?
P2Pool is a decentralized mining pool implementation that provides mining operators with a secure, flexible and highly customizable mining platform. The P2Pool network is made up of interconnected nodes - each node representing a mining operator who is running the p2pool software.
Collectively, nodes are connected in a peer-to-peer network arrangement, much like the Bitcoin network itself. There is no hierarchy of greater or lesser nodes, and network state information is shared between nodes. Because blocks are effectively being mined on different nodes across the network, the P2Pool network is said to be "decentralized". Decentralization a Good Thing for cryptocurrency networks because it enhances security and promotes wider distribution.
Miners can choose to mine on any public P2Pool node, or they can setup their own node and join it to the P2Pool network. To join the network (i.e. become a node), a miner simply runs the p2pool software on a networked host and then points their mining software at the p2pool instance. There is no fee or registration for setting up a node and the software is free and Open Source. In addition to being inherently secure and customizable, at least one study suggests that - in its default configuration - P2Pool provides miners with a statistical advantage over most traditional pooled mining and, specifically, solo mining.
Even so, P2Pool has characteristics of both solo mining and pooled mining. As with solo mining, the node operator is in charge of their own mining operation with the freedom to configure it as they see fit. Similar to pooled mining, block rewards and network transaction fees are shared amongst all contributors to the pool.
It should be pointed out that, when a miner mines on someone else's public node (as opposed to setting up their own node), they are sacrificing the greater benefit of network decentralization and could make themselves vulnerable to all of the disadvantages of traditional pools. This is not to say that a group of miners shouldn't mine the same node, but there is the matter of the greater good for the network and issues of trust involved. Miners should determine this for themselves.
A P2Pool node provides connected miners with low difficulty work. Upon completion of each portion of work, the miner is awarded a pool share. Shares are communicated among P2Pool nodes and assembled into a sharechain - just like the Bitcoin network assembles blocks into the blockchain.
Once the pool finds a block, all contributors are paid directly, according to their shareholding as reflected in the sharechain. Payment is issued by the sharechain and without third party involvement.
Shares and Payment
The notion of 'shares' informs all P2Pool mining production and payment. P2Pool enables all connected miner nodes to combine their hash rates and collectively work on creating a transaction block. Each node earns mining shares according to their percentage contribution. Once the mining pool successfully solves a block, each contributing miner is paid their share of the total block reward and associated transaction fees. P2Pool implements a PPLNS reward system and payment always goes directly to a miner's wallet - not into a central fund or holding account. Because of this transparency and equitability, P2Pool can, therefore, offer node operators immunity to the theft and corruption that clouds centralized pools.
Because information about the P2Pool network, such as share-ownership, block creation progress, and so forth, is stored in the distributed sharechain, there is no single point of vulnerability. No single node can be disrupted in order to compromise the network state. This is a direct benefit of the decentralized design of peer-to-peer networks.
In the event that a node is compromised, there is no mining data to steal or destroy, since all mining shares and payout information related to that node are preserved in the public sharechain. The node operator can reinstall the node, rejoin the network and regain share and state information from the sharechain within minutes.
Another example of how decentralization protects P2Pool is illustrated by the all too familiar DDoS attack. P2Pool is said to be DDoS tolerant:
Whilst a denial-of-service attack does not need to disable all nodes in a network to be effective, in the case of P2Pool there is salvation in the survival of at least one node. A well-orchestrated DDoS attack can disable most (and possibly all) nodes in the peer-to-peer network, yet if only a single node survives - and is able to maintain the sharechain - it can allow the entire pool network to be rebuilt.
This means that the P2Pool network and its most important cargo, namely blocks destined for the blockchain, is more secure in the hands of a distributed network than it would be with a centralized network. Compromise of a central node (or nodes) halts all production and the state of the network is destroyed and most likely lost. This is part reason why the Bitcoin network is based on a peer-to-peer model.
With a centralized pool, there is the possibility that the pool's combined hash rate exceeds 50% of the entire network's hash rate. This scenario makes the protocol vulnerable to blockchain manipulation by such a mining cartel, in what has been dubbed the "51% Attack". In contrast, a decentralized mining pool does not impose it's combined hash rate directly on the protocol network, and hence cannot manipulate the blockchain in a fundamental way.
Practically, this means that even if 100% of miners were to use P2Pool, there is no take-over risk to the Bitcoin (or any other cryptocurrency) network. In fact, this scenario would mitigate the risk of a 51% attack on the cryptocurrency network.
Secure, more profitable, easy to use. The P2Pool network is live and well, and pools have been established for almost every cryptocurrency out there. Suitable for beginning miners, seasoned 49s and mining operators, the protocol platform is evolving every day and adoption is growing fast.
Try P2Pool - Miners
Why not try P2Pool mining for a day and experience the platform and profitability benefits for yourself? Try P2Pool guide
Get P2Pool - Mining Operators
Choose the correct software version and set up your own P2Pool node. Build P2Pool guide