ASIC означает специализацию оборудования, а не власть над консенсусом. Чип многократно вычисляет double-SHA-256 для 80-байтовых заголовков блоков-кандидатов и сообщает результаты, удовлетворяющие заданному target. Полному майнеру также нужны контроллер, питание, тактовые сигналы, охлаждение, прошивка и источник block templates или заданий пула. Hashrate измеряет число попыток в секунду, J/TH — энергию на терахеш. Ни один показатель сам по себе не гарантирует прибыль или право менять правила Bitcoin.
ASIC реализует узкую задачу непосредственно в микросхеме вместо логики команд общего назначения. Поэтому исторически майнинг перешел от процессоров и графических процессоров к FPGA и ASIC SHA-256: фиксированный путь данных может обрабатывать гораздо больше хэшей на джоуль. Цена — негибкость: ASIC для майнинга SHA-256 — это не универсальный компьютер, который можно легко перепрограммировать при изменении задачи. [Bitcoin Developer Guide — Mining] [Bitaxe — open-source ASIC miner hardware]
Proof of work в Bitcoin вычисляет SHA-256(SHA-256(header)) из сериализованного 80-байтового заголовка. Он содержит version, хеш предыдущего блока, Merkle root, timestamp, nBits и 32-битный nonce. Чип может повторно использовать промежуточные результаты для неизменных частей заголовка, но сеть оценивает только итоговый хеш относительно target (hash ≤ target), а не внутреннюю оптимизацию майнера. [Bitcoin Developer Guide — Mining] [Bitcoin Core v29.0 — CheckProofOfWorkImpl]
32-битный nonce дает лишь 2^32 значений, которые при современном hashrate перебираются очень быстро. Поэтому майнер меняет и другие переменные: extranonce в coinbase изменяет транзакцию coinbase и тем самым Merkle root; nTime можно менять в пределах консенсуса, а предложение BIP320 резервирует version bits для общего использования. Stratum V2 выделяет устройствам непересекающиеся части пространства поиска, чтобы они не вычисляли одних и тех же кандидатов. [BIP 320 — nVersion bits for general purpose use] [Stratum V2 — Mining Protocol specification]
ASIC сам не выбирает транзакции и не устанавливает правила. Full node или поставщик шаблонов формирует блок-кандидат; BIP22 стандартизирует getblocktemplate, а BIP23 — его расширения для майнинга в пуле. Пул или прокси готовит задание с target и переменными для устройства. Stratum V2 разделяет Mining Protocol, Job Declaration и Template Distribution, поэтому распределение работы и выбор транзакций могут быть отдельными ролями. [BIP 22 — getblocktemplate fundamentals] [BIP 23 — getblocktemplate pooled mining] [Stratum V2 — Protocol overview] [Bitcoin Core — getblocktemplate RPC]
Пул обычно задает share target, выполнить который гораздо легче, чем target сети Bitcoin. Share, удовлетворяющий target пула, служит статистическим свидетельством выполненной работы для учета вознаграждений; лишь гораздо более редкий хеш, удовлетворяющий network target, становится кандидатом на действительный блок. Сложность пула меняет частоту shares, а не сложность консенсуса или физический hashrate машины. [Bitcoin Developer Guide — Mining]
Hashrate показывает число хешей в секунду. Потребляемая мощность измеряется в ваттах, а энергоэффективность обычно выражают как J/TH = W, деленное на TH/s. Меньшее J/TH означает меньше электрической энергии на тот же объем поиска. Прибыль также зависит от сложности сети, цены BTC, комиссий, времени работы, электроэнергии, охлаждения, финансирования и амортизации оборудования. [Braiins OS — Autotuning] [Bitaxe — open-source ASIC miner hardware]
Даже чипы одного типа электрически не идентичны; Производственные вариации меняют ток утечки, временные характеристики и требуемый запас напряжения. Таким образом, прошивка может настраивать частоту и напряжение ядра. Понижение частоты часто улучшает J/TH, а разгон увеличивает хешрейт за счет непропорционально большего количества энергии и тепла. Автонастройка ищет подходящую точку для конкретного чипа или хешборда. [Braiins OS — Autotuning]
Майнер — это не только ASIC. Результат ограничивают блок питания, регулирование DC-DC, разъемы, hashboards, вентиляторы или жидкостный контур и контроллер. Высокая температура, пыль, неисправный вентилятор, нестабильное напряжение или завышенная тактовая частота увеличивают число аппаратных ошибок и риск остановки. Эффективность самого чипа поэтому не равна эффективности всей системы, измеренной по потреблению из розетки. [Braiins OS — Autotuning] [Bitaxe — open-source ASIC miner hardware]
ASIC поднимают капитальный и технический барьер для конкурентоспособного майнинга, создавая эффект масштаба в закупках, энергетике, ремонте и инфраструктуре. Это может сконцентрировать производителя или хэшрейт, но это не означает автоматического владения консенсусом. Необходимо разделить концентрацию производства чипов, пулы, физические локации и реальных владельцев хэшрейта. [Bitcoin Developer Guide — Mining]
ASIC может искать заголовки и выполнять конкретное задание по указаниям программного обеспечения, которое поставляет ему работу. Он не может сделать недействительный блок действительным, изменить лимит эмиссии, потратить чужие монеты или заставить full node принять другие правила. Оператор должен проверять прошивку, endpoint пула, hashrate на стороне пула, отклоненные shares, потребляемую из розетки мощность, температуры и собственную политику block templates. [Bitcoin Developer Guide — Mining] [Bitcoin Core — getblocktemplate RPC] [Bitcoin Core v29.0 — CheckProofOfWorkImpl]
Для полной картины прочитайте эту статью вместе с Майнинг, Hashrate, SHA-256, Заголовок блока, Nonce, Extranonce. На эту статью также ссылаются Mining Pool, Hashrate, Nonce, Braiins.