47 / 691ASIC

ASIC Miner

Спеціалізоване обладнання для майнінгу

ASIC для майнінгу біткойнів — це спеціально створена інтегральна схема, призначена для надзвичайно швидкого та енергоефективного тестування кандидатів на підтвердження роботи SHA-256; Унікальна робота забезпечується прошивкою, контролером і пулом або власним вузлом.

ASIC означає спеціалізацію обладнання, а не владу над консенсусом. Чип багаторазово обчислює double-SHA-256 для 80-байтових заголовків блоків-кандидатів і повідомляє результати, що відповідають заданому target. Повному майнеру також потрібні контролер, живлення, тактові сигнали, охолодження, прошивка та джерело block templates або завдань пулу. Hashrate вимірює кількість спроб за секунду, а J/TH — енергію на терахеш. Жоден показник сам по собі не гарантує прибутку або права змінювати правила Bitcoin.

ASIC реалізує вузьке завдання безпосередньо в кремнії замість логіки інструкцій загального призначення. Таким чином, майнінг історично перейшов від процесорів і графічних процесорів до FPGA і SHA-256 ASIC: фіксований шлях даних може обробляти набагато більше хешів на джоуль. Ціною є негнучкість — 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.

DOC · 001BIP 22 — getblocktemplate fundamentalsСпецифікація ↗DOC · 002BIP 23 — getblocktemplate pooled miningСпецифікація ↗DOC · 003BIP 320 — nVersion bits for general purpose useСпецифікація ↗DOC · 004Stratum V2 — Mining Protocol specificationСпецифікація ↗DOC · 005Stratum V2 — Protocol overviewСпецифікація ↗DOC · 006Bitcoin Developer Guide — MiningДокументація ↗DOC · 007Braiins OS — AutotuningДокументація ↗DOC · 008Bitaxe — open-source ASIC miner hardwareПервинне джерело ↗DOC · 009Bitcoin Core — getblocktemplate RPCДокументація ↗DOC · 010Bitcoin Core v29.0 — CheckProofOfWorkImplПервинне джерело ↗
Спочатку джерела · Не інвестиційна порада