From 01451d46c7d9085e0fc2b2e2d17e885aeb95cebc Mon Sep 17 00:00:00 2001 From: ryzhkevichpavel-del <261831486+ryzhkevichpavel-del@users.noreply.github.com> Date: Wed, 27 May 2026 20:56:23 +0300 Subject: [PATCH] docs: expand p2pool mining guidance --- devguide/mining.rst | 60 ++++ img/dev/en-p2pool-decentralized-mining.png | Bin 0 -> 8228 bytes img/dev/en-p2pool-decentralized-mining.svg | 102 +++++++ img/dev/en-share-chain-block-chain.png | Bin 0 -> 7700 bytes img/dev/en-share-chain-block-chain.svg | 312 +++++++++++++++++++++ 5 files changed, 474 insertions(+) create mode 100644 img/dev/en-p2pool-decentralized-mining.png create mode 100644 img/dev/en-p2pool-decentralized-mining.svg create mode 100644 img/dev/en-share-chain-block-chain.png create mode 100644 img/dev/en-share-chain-block-chain.svg diff --git a/devguide/mining.rst b/devguide/mining.rst index b28fa470..5e35de73 100644 --- a/devguide/mining.rst +++ b/devguide/mining.rst @@ -46,6 +46,66 @@ The information the miner sends to the pool is called a share because it proves The block reward and transaction fees that come from mining that block are paid to the mining pool. The mining pool pays out a portion of these proceeds to individual miners based on how many shares they generated. For example, if the mining pool’s target threshold is 100 times lower than the `network <../devguide/p2p_network.html>`__ target threshold, 100 shares will need to be generated on average to create a successful block, so the mining pool can pay 1/100th of its payout for each share received. Different mining pools use different reward distribution systems based on this basic share system. +P2Pool +------ + +P2Pool is a decentralized mining pool design that reduces payout +variance without requiring miners to trust a central pool operator to +choose transactions or account for shares. To use P2Pool, miners run +P2Pool software alongside a full node such as Bitcoin Core. The full +node provides validated transactions and blocks; P2Pool coordinates +lower-difficulty shares over its own peer-to-peer network. + +Unlike a traditional pool, P2Pool does not rely on a server-side +database to track submitted shares. Instead it builds an alternative +block chain called a *share chain*. New shares are added to the share +chain much more frequently than Bitcoin blocks, and each share refers to +previous shares so that P2Pool nodes can choose the best share chain by +cumulative proof of work in much the same way Bitcoin nodes choose the +best block chain. + +.. figure:: /img/dev/en-share-chain-block-chain.svg + :alt: Comparison of the Bitcoin block chain and the P2Pool share chain + + Comparison of the Bitcoin block chain and the P2Pool share chain + +Each P2Pool share is a block candidate whose header hash is below the +P2Pool share target but usually above Bitcoin's network target. Shares +therefore provide frequent proof that miners contributed work even when +they do not find a Bitcoin block. Occasionally a share is also below the +Bitcoin network target; in that case it is a valid Bitcoin block and can +be broadcast to the network. + +The share chain is what lets P2Pool avoid custodial pool accounting. A +valid P2Pool share commits to a coinbase transaction that pays recent +share owners directly, commonly using a pay-per-last-N-shares-style +formula. There is no separate pool wallet that receives the full block +reward and later redistributes it; the payout commitments are part of +the block candidate itself. + +To mine on P2Pool, the miner's software gets transactions from the local +full node, constructs block candidates, and returns the shares and +blocks it finds to the P2Pool and Bitcoin networks. + +.. figure:: /img/dev/en-p2pool-decentralized-mining.svg + :alt: Peer-to-peer decentralized mining with P2Pool + + Peer-to-peer decentralized mining with P2Pool + +P2Pool improves decentralization because miners can build blocks from +their own full node's view of valid transactions instead of delegating +all block construction policy to a pool server. This reduces the ability +of a large pool operator to censor transactions or direct many miners +into an attack. The tradeoff is that miners must run additional +software, keep a full node available, and still accept the variance of +the P2Pool network they join. Very small miners may still experience +high share variance if total P2Pool hash rate is low. + +**Resources:** The Bitcoin Wiki has a `P2Pool overview +`__, and the original `P2Pool source +repository `__ is available on +GitHub. + Block Prototypes ---------------- diff --git a/img/dev/en-p2pool-decentralized-mining.png b/img/dev/en-p2pool-decentralized-mining.png new file mode 100644 index 0000000000000000000000000000000000000000..01b8829acf105b2277aa0bd4240d56f8ac81287c GIT binary patch literal 8228 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 iaPIxTC!R>-DVJImvoi0?o7(5)e^nKA + + + + + +_anonymous_0 + + +Peer-To-Peer Creating Your Own Blocks (P2Pool Decentralized Mining) +cluster_p2pool + + + +p2pnetwork + +Decentralized +Bitcoin +Network +(Block Chain) + + +bitcoind + +Local +Full Node + + +p2pnetwork->bitcoind + + + + +bitcoind->p2pnetwork + + + + + + +bitcoind->pool0 + + +Transactions→ + + +poolnetwork + +Decentralized +P2Pool +Network +(Share chain) + + + +poolnetwork->pool1 + + +               Other Miners' Shares→ + + +pool0->bitcoind + + +←Blocks + + +p2pool_label +Local +P2Pool +Software + + +software + +Mining +Software + + +p2pool_label->software + + +GetBlock Or +Stratum→ + + +pool1->poolnetwork + + +←Your Shares + + +software->p2pool_label + + +←Shares + + + diff --git a/img/dev/en-share-chain-block-chain.png b/img/dev/en-share-chain-block-chain.png new file mode 100644 index 0000000000000000000000000000000000000000..8d57a2139527f8b3fae04680d7c54a906e095ea4 GIT binary patch literal 7700 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 + + + + + +_anonymous_0 + +cluster_block_chain + +Bitcoin Block Chain (Blocks Every 10 Minutes On Average) +Some Blocks Come From P2Pool + +cluster_share_chain + +P2Pool Share Chain (Shares Every 30 Seconds On Average) +Some Shares Also Valid Blocks + + + +block1 + + + +invis0->block1 + + + + + +block2 + + + +block1->block2 + + + + +block3 + + + +block3->invis1 + + + + +block2->block3 + + + + + +share0 + + + +invis2->share0 + + + + + +share1 + + + +share0->share1 + + + + +share26 + + + +share26->invis3 + + + + +share2 + + + +share1->share2 + + + + +share3 + + + +share2->share3 + + + + +share4 + + + +share3->share4 + + + + +share5 + + + +share4->share5 + + + + +share6 + + + +share5->share6 + + + + +share7 + + + +share6->share7 + + + + +share8 + + + +share7->share8 + + + + +share9 + + + +share8->share9 + + + + +share10 + + + +share9->share10 + + + + +share11 + + + +share10->share11 + + + + +share12 + + + +share11->share12 + + + + +share13 + + + +share12->share13 + + + + +share13->block2 + + + + +share14 + + + +share13->share14 + + + + +share15 + + + +share14->share15 + + + + +share16 + + + +share15->share16 + + + + +share17 + + + +share16->share17 + + + + +share18 + + + +share17->share18 + + + + +share19 + + + +share18->share19 + + + + +share20 + + + +share19->share20 + + + + +share21 + + + +share20->share21 + + + + +share22 + + + +share21->share22 + + + + +share23 + + + +share22->share23 + + + + +share24 + + + +share23->share24 + + + + +share25 + + + +share24->share25 + + + + +share25->share26 + + + + +