48 / 691POOL

Mining Pool

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

Mining Pool координирует хеширующую мощность многих независимых майнеров, чтобы распределять доход от майнинга и снижать его колебания по сравнению с Solo Mining.

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.

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Спецификация ↗
Сначала источники · Не является инвестиционной рекомендацией