Mining Pool розподіляє роботу та веде облік винагород. Пул призначає завдання, а майнери подають shares, які відповідають легшому цільовому порогу пулу, як статистичні дані для оцінки виконаної роботи. Лише рідкісний результат відповідає також мережевому порогу й дозволяє подати блок-кандидат; цей блок має задовольняти всі правила консенсусу. Звичайний share не є блоком Bitcoin, а контроль завдань не дає пулу права змінювати консенсус.
Solo Mining має високу дисперсію: майнер отримує весь дохід від блоку, коли знаходить прийнятий блок, а інакше — нічого. Пул об’єднує багато майнерів і розподіляє дохід за оціненою часткою роботи. Він не знижує складність мережі, а статистично згладжує виплати. [Bitcoin Developer Guide — Mining] [Meni Rosenfeld — Analysis of Bitcoin Pooled Mining Reward Systems]
Завдання майнінгу походить із Block Template або аналогічної побудови блоку-кандидата. BIP22 описує getblocktemplate, а BIP23 — його розширення для майнінгу в пулі. Протокол пулу передає воркерам потрібні поля, дані транзакції coinbase і простір пошуку. ASIC Miner перебирає заголовки; хеш заголовка поданого блоку має відповідати мережевому порогу Proof of Work, а сам блок — решті правил консенсусу. [BIP 22 — getblocktemplate] [BIP 23 — getblocktemplate pooled mining] [Bitcoin Core mining RPC — getblocktemplate]
Mining Share — поданий результат, хеш якого відповідає порогу пулу, зазвичай значно легшому за мережевий. За прийнятими shares та їхньою складністю пул статистично оцінює внесок кожного воркера, а не точно рахує його спроби. Звичайний share, що відповідає лише порогу пулу, не стає блоком у блокчейні та не створює підтвердження. Це облікова міра продуктивності. [Meni Rosenfeld — Analysis of Bitcoin Pooled Mining Reward Systems] [Stratum V2 — Mining Protocol]
Пул встановлює легший поріг shares, щоб отримувати результати достатньо часто для вимірювання. Порогу мережі Bitcoin відповідати значно складніше. Share, що відповідає лише порогу пулу, дає облікове зарахування; якщо той самий хеш відповідає і мережевому порогу, можна подати блок-кандидат. VarDiff змінює складність shares та їхню частоту, а не консенсусну Difficulty Bitcoin. [Stratum V2 — Mining Protocol]
PPS виплачує встановлену очікувану вартість за прийнятий share відповідної складності та переносить ризик випадкових коливань знахідок блоків на пул. FPPS зазвичай додає оцінку доходу від комісій за транзакції до очікуваної субсидії. PPLNS розподіляє дохід від фактично знайдених блоків за shares у недавньому вікні роботи, залишаючи майнеру більше дисперсії. Конкретні формули, комісії та облік Stale Block залежать від правил пулу. [Meni Rosenfeld — Analysis of Bitcoin Pooled Mining Reward Systems] [Braiins Academy — Rewards and Payouts]
У звичайному пулі оператор зазвичай складає Block Template і визначає отримувача виходу coinbase. Майнер переважно перебирає виділений простір. Це дає пулу вплив на вибір транзакцій, але не можливість нав’язати недійсний блок: кожен Full Node незалежно перевіряє блок. [Bitcoin Developer Guide — Mining] [Stratum V2 — Protocol Overview]
Stratum V1 призначає роботу для майнінгу, а контроль шаблону зазвичай залишається в пулі. Stratum V2 чіткіше розділяє ролі та підтримує зашифрований, автентифікований зв’язок. Необов’язковий Job Declaration Protocol дозволяє майнеру подавати власний шаблон із власним вибором транзакцій, якщо потрібні компоненти підтримують і майнер, і пул. Mining Protocol у Stratum V2 може працювати без цієї можливості; сама назва Stratum V2 не гарантує незалежного вибору транзакцій. [Stratum V2 — Protocol Overview]
Концентрація пулів важлива, бо невелика кількість координаторів може впливати на включення транзакцій, впровадження програмного забезпечення та короткостроковий розподіл Hashrate. Hashrate пулу не означає володіння обладнанням: оператори ASIC можуть перенаправляти пристрої. Ризик зростає, коли витрати на зміну пулу, договори чи прошивка обмежують таку можливість. [Bitcoin Developer Guide — Mining] [Stratum V2 — Protocol Overview]
Share можуть відхилити як застарілий (stale), дубльований, неправильно сформований або невідповідний призначеному завданню. Більша затримка між майнером і пулом, повільне оновлення завдань та збої мережі збільшують втрати роботи. Частка stale shares відображає ефективність зв’язку майнера з пулом; це не те саме, що Stale Block у блокчейні. [Stratum V2 — Mining Protocol]
Майнер має перевірити комісії пулу, модель винагород, мінімальну виплату та правила виплат, Share Difficulty, частки відхилених і stale shares, сервери та резервні з’єднання, сумісність прошивки й те, хто контролює вибір транзакцій. За значних доходів варто звіряти панель пулу з прийнятими shares та його блоками в блокчейні. [Braiins Academy — Rewards and Payouts] [Stratum V2 — Mining Protocol]
Для повної картини прочитайте також Майнінг, Hashrate, Braiins Pool, Stratum V2, Mining Share, Pay Per Share. На цю статтю також посилаються Coinbase-транзакція, ASIC Miner, Hashrate, Nonce.