48 / 736POOL

Mining Pool

Майнінговий пул

Mining Pool об'єднує роботу майнерів, щоб вони отримували менші регулярні винагороди, не чекаючи на власний блок. Важливо розуміти, за що платить пул, хто зберігає невиплачені кошти та хто добирає транзакції.

Mining Pool координує кількох майнерів і розподіляє доходи за узгодженими правилами. Окремому майнеру не обов'язково чекати, поки саме його пристрій знайде блок, щоб отримати дохід. Пул не знижує складність Bitcoin і не гарантує прибутку: передусім він змінює спосіб обліку роботи та виплати винагород.

Mining: модель операційного результатуПорівняйте очікувану частку субсидії блоку з електроенергією за вибраних хешрейту, потужності та комісії пулу.

Анна має один майнер. За електрику вона платить щодня, але за самостійного майнінгу може дуже довго чекати на власний блок. Якщо вона знайде блок, який мережа прийме, винагорода належатиме їй; до того від цього майнінгу вона нічого не отримує. Тривале очікування не означає, що успіх уже близько. За незмінних умов кожна нова спроба має ту саму ймовірність. У пулі її пристрій працює разом з іншими. Пул може винагороджувати й майнера, який не знайшов конкретного блока, бо вимірює внески та застосовує узгоджену модель виплат. Анна відмовляється від можливості залишити собі весь дохід свого блока в обмін на менші, зазвичай регулярніші надходження. Це не зменшує складність мережі й не створює додаткових винагород. Зазвичай пул ще й бере комісію. Чи вистачить доходу на електрику та обладнання — окреме питання. [6] [7]

Пул не бачить кожного обчислення Анниного пристрою. Проте він має перевіряти, що пристрій працює, і приблизно оцінювати його внесок. Тому пул задає легшу умову, ніж мережа Bitcoin. Результат, що її виконує, називається Mining Share, або share. Так пристрій регулярно надсилає результати, які можна перевірити, навіть не знайшовши блока. За прийнятими shares та їхньою складністю пул статистично оцінює роботу. Це не точний лічильник усіх спроб. Якщо два пристрої мають різну складність shares, саму кількість результатів не можна порівнювати напряму. Звичайний share не створює блока Bitcoin і не підтверджує платіж. Лише рідкісний результат, який виконує також умову мережі, дозволяє подати блок; той має пройти й решту перевірок. Отже, share засвідчує роботу для пулу, а не є щойно створеним шматочком біткоїна. [7] [9]

Анна може підключити той самий пристрій до різних пулів і побачити різний розподіл винагород у часі. Одна з причин — модель розрахунку. PPS, Pay Per Share, зараховує за прийнятий share заздалегідь визначену очікувану суму відповідно до його складності. Анні не треба чекати, поки її пулу пощастить знайти блок: ризик випадкових коливань знахідок бере оператор. Це не гарантує, що він завжди зможе заплатити, і не означає фіксованої погодинної оплати. Кількість shares та умови майнінгу змінюються. FPPS, Full Pay Per Share, зазвичай додає оцінку транзакційних комісій до очікуваної частки нововипущених біткоїнів. Натомість PPLNS, Pay Per Last N Shares, розподіляє дохід від реально знайдених блоків відповідно до роботи в певному недавньому вікні. Винагороди сильніше залежать від удачі пулу. Межі вікна визначають його правила; це не обов'язково просто остання година. Самої абревіатури для порівняння замало. Важливі комісії, метод оцінки, розмір вікна та облік блоків поза основною історією — Stale Block. Модель визначає право на винагороду та її розрахунок; графік переказів у гаманець — окреме правило. [7] [8]

Анна бачить, як зростає баланс рахунку. Поки кошти не надійшли до її гаманця, вона покладається на правильний облік і виплату з боку пулу. Варто знати термін виплати, можливий мінімум, комісії та адресу отримання. Умови сервісів різняться: автоматичне нарахування винагород не означає миттєвого переказу. Треба стежити й за роботою: прийнятими та відхиленими shares, їхньою складністю Share Difficulty, доступністю серверів і резервними з'єднаннями. Firmware — це керувальне програмне забезпечення майнера, яке має працювати з пулом. Порівняння звітів пулу за триваліший період із власними журналами роботи та фактичними виплатами допомагає помітити розбіжності. Знайдені блоки можна перевірити в блокчейні, але він не показує всю внутрішню бухгалтерію пулу. Важливо також мати змогу змінити пул і знати, хто добирає транзакції. [8] [9]

Якщо завдання змінилося до надходження результату, пул може його вже не зарахувати. Латентність тут означає затримку зв'язку між пристроєм і пулом. Share можуть відхилити як застарілий (stale), дубльований, неправильно сформований або невідповідний призначеному завданню. Більша затримка між майнером і пулом, повільне оновлення завдань та збої мережі збільшують втрати роботи. Частка stale shares відображає ефективність зв’язку майнера з пулом; це не те саме, що Stale Block у блокчейні. [9]

Винагорода за блок записується в особливій першій транзакції — Coinbase Transaction. Її виходи визначають суми й умови, за яких ці кошти можна буде витратити. Отже, винагорода може призначатися одному або кільком одержувачам. Block Template — це проєкт блока з обраними транзакціями. У звичайному пулі оператор зазвичай складає Block Template і визначає отримувача виходу coinbase. Майнер переважно перебирає різні значення у призначеному завданні, шукаючи результат, який відповідає умові мережі. Це дає пулу вплив на вибір транзакцій, але не можливість нав’язати недійсний блок: кожен Full Node незалежно перевіряє блок. Full Node — програма, яка перевіряє блоки й транзакції за правилами Bitcoin. [6] [10]

Крім суми виплат, важливо, хто вирішує, які платежі потраплять до блоків. Пропуск певних транзакцій може затримати їх підтвердження. Концентрація пулів важлива, бо невелика кількість координаторів може впливати на включення транзакцій, впровадження програмного забезпечення та короткостроковий розподіл Hashrate — кількості майнінгових обчислень за секунду. Hashrate пулу не означає володіння обладнанням: оператори ASIC, спеціалізованих майнінгових пристроїв, можуть підключати їх до іншого пулу. Ризик зростає, коли витрати на зміну пулу, договори чи прошивка обмежують таку можливість. [6] [10]

Stratum задає правила обміну між майнером і пулом. Шифрування захищає передані повідомлення, а автентифікація допомагає перевірити іншу сторону. Stratum V1 призначає роботу для майнінгу, а контроль шаблону зазвичай залишається в пулі. Stratum V2 чіткіше розділяє ролі та підтримує зашифрований, автентифікований зв’язок. Необов’язковий Job Declaration Protocol дозволяє майнеру подавати власний шаблон із власним вибором транзакцій, якщо потрібні компоненти підтримують і майнер, і пул. Mining Protocol у Stratum V2 може працювати без цієї можливості; сама назва Stratum V2 не гарантує незалежного вибору транзакцій. [10]

Для тих, хто хоче зрозуміти техніку: Block Template — це запропонований вміст блока. Worker позначає підключений пристрій або обліковий запис, на який записують його роботу; заголовок містить стислий набір даних про блок. Завдання майнінгу походить із Block Template або аналогічної побудови блоку-кандидата. BIP22 описує getblocktemplate, а BIP23 — його розширення для майнінгу в пулі. Протокол пулу передає воркерам потрібні поля, дані транзакції coinbase і простір пошуку. ASIC Miner перебирає різні заголовки й обчислює їхній хеш — числовий відбиток. Щоб виконати вимогу Proof of Work, доказу обчислювальної роботи, цей хеш має бути меншим або дорівнювати мережевій межі, яку називають target. Блок також має відповідати решті правил Bitcoin. [1] [2] [5]

Технічна деталь: target — числова межа, яку хеш, результат обчислення, не має перевищувати; рівність також підходить. VarDiff означає змінну складність shares. Пул встановлює легший поріг shares, щоб отримувати результати достатньо часто для вимірювання. Порогу мережі Bitcoin відповідати значно складніше. Прийнятий share, що відповідає лише порогу пулу, враховується за правилами винагород цього пулу; якщо той самий хеш відповідає і мережевому порогу, можна подати блок-кандидат. VarDiff змінює складність shares та їхню частоту, а не консенсусну Difficulty Bitcoin. [9]

Для повної картини прочитайте також Майнінг, Hashrate, Braiins Pool, Stratum V2, Mining Share, Pay Per Share. На цю статтю також посилаються Coinbase-транзакція, ASIC Miner, Hashrate, Nonce.

DOC · 001BIP 22 — getblocktemplateСпецифікація DOC · 002BIP 23 — getblocktemplate pooled miningСпецифікація DOC · 003Stratum V2 specificationСпецифікація DOC · 004Stratum V2 website and protocol overviewДокументація DOC · 005Bitcoin Core mining RPC — getblocktemplateДокументація DOC · 006Bitcoin Developer Guide — MiningДокументація DOC · 007Meni Rosenfeld — Analysis of Bitcoin Pooled Mining Reward SystemsЛегальне безкоштовне видання DOC · 008Braiins Academy — Rewards and PayoutsДокументація DOC · 009Stratum V2 — Mining ProtocolСпецифікація DOC · 010Stratum V2 — Protocol OverviewСпецифікація
Переглянуто: Спочатку джерела · Не інвестиційна порада