Як працює крипто майнінг


Останнє оновлення: 17 лютого 2025

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

Для чого в принципі потрібен крипто майнінг?

Майнінг відіграє ключову роль у досягненні консенсусу в блокчейні та забезпеченні його безпеки шляхом підтвердження транзакцій і захисту системи від атак. Це важливий процес для безпечного функціонування мережі Bitcoin або іншої криптовалюти, що добувається подібним чином. Щоб зрозуміти, чому майнінг так необхідний, давайте розглянемо, як працює сам блокчейн.

Мережа Bitcoin — це публічний децентралізований реєстр, до якого входять відомості про сотні мільйонів транзакцій з часовими мітками. Наприклад, один запис у блокчейні може містити інформацію про те, що Учасник 1 відправив Учаснику 2 в середу о 9 годині вечора 5 BTC. Цей реєстр не зберігається десь в одному місці. Він завантажений на комп'ютери, які називають нодами. Такий підхід дозволяє кожному учаснику мережі отримати доступ до повної історії володіння BTC та поточного його стану, що забезпечує повну прозорість.

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

Крім того, є група нод, що називаються майнерами, які змагаються за право створювати новий блок транзакцій. Це право вони отримують через процес, що називається Proof of Work, під час якого майнери вирішують складні обчислювальні задачі, щоб виграти право на створення нового блоку, випередивши «суперників» і отримати за це винагороду у вигляді нових BTC.

Що таке «Proof of Work» і навіщо це потрібно?

Майнинг з використанням системи захисту Proof of Work (PoW) — це спосіб доказу того, що учасники блокчейну дійсно активно беруть участь у підтримці його функціонування. Для цього вони повинні виконувати складні обчислення, які вимагають значних ресурсів, в тому числі енергії.

```html

Навіщо потрібне це доказProof? Справа в тому, що такі обчислення коштують грошей, і щоб брати участь у майнінгу, потрібно витратити реальні ресурси. Це робить атаки на мережу дуже дорогими та невигідними для зловмисників, оскільки від них вимагається величезна обчислювальна потужність. Іншими словами, PoW захищає Bitcoin від спроб його злому або маніпуляцій, оскільки атака буде надто затратною для тих, хто захоче її провести.

```

Принцип роботи крипто майнінгу

Незважаючи на те, що PoW — це технічно складний процес, розібратися буде простіше, розглянувши його виконання поетапно. Ми розглянемо те, як працює майнінг Bitcoin, хоча цей принцип застосовний і до інших блокчейнів, в основі яких лежить алгоритм Proof of Work.

Етап 1: Поява нової транзакції

Кожній транзакції в мережі Bitcoin спочатку надається статус неподтвердженої. Нова неподтверджена транзакція з'являється в блокчейні в той момент, коли двоє користувачів укладають між собою угоду, наприклад, один надсилає криптовалюту іншому. Сама ця транзакція містить детальну інформацію про цю угоду, а саме: адреси відправника та отримувача, кількість надісланих монет, час тощо. В результаті відбувається трансляція цієї транзакції по всій блокчейн-мережі.

Етап 2: Додавання нової транзакції в «зону очікування»

Кожен майнер, що бере участь у підтримці роботи мережі, постійно слідкує за появою нових дій всередині неї. На комп'ютері, що керує процесом майнінгу, є певна тимчасова зона — mempool. Сюди після появи в мережі додається непідтверджена транзакція. У кожного майнера власний mempool, тому це не якесь єдине «сховище» для всіх. Незважаючи на те, що базовий розмір mempool не може бути більшим за 300 Мб, у різних майнерів він буде відрізнятися. Все через те, що вузли побудовані зовсім інакше один від одного і непідтверджені транзакції додаються в них не одночасно, а в різний час.

Етап 3: Переведення непідтверджених транзакцій у блок-кандидат

Майнер бере неподтверджені транзакції з mempool і додає їх до блоку-кандидата — нового, але ще не підтвердженого мережею блоку, який претендує на те, щоб стати тим самим блоком в ланцюгу блокчейну, за який передбачено винагороду. Розмір блоку-кандидата в мережі Bitcoin складає близько 2 МБ: цей обсяг пам'яті включає приблизно 2000 транзакцій.

Етап 4: Вирішення криптографічних задач

Звідси фактично розпочинається процес майнінгу, який базується на PoW. За допомогою спеціального обладнання майнер додає до блоку-кандидата спеціальне випадкове число (nonce). Після цього вся інформація (включаючи дані блоку та nonce) проходить через алгоритм SHA-256, який генерує хеш (унікальний код-комбінація, отриманий в результаті обчислень).

Мета майнера — знайти такий хеш, який відповідатиме певним умовам (наприклад, починатися з певної кількості нулів). Це складна задача, що вимагає високих обчислювальних потужностей, оскільки якщо хеш не відповідає умовам мережі, майнер змінює число і пробує знову, повторюючи процес мільйони разів.

Той, хто першим знаходить відповідний хеш, додає блок у блокчейн. У цьому випадку блок-кандидат вважається «розв'язаним» і отримує статус повністю перевіреного мережею. Тільки після цього блок додається в блокчейн і стає повноцінним ланкою ланцюга, що містить наступний запис у реєстрі. Майнер, який обігнав інших учасників мережі і розв'язав новий блок, отримує винагороду у вигляді фіксованої суми криптовалюти. Зараз вона становить 3.125 BTC.

Виходя з цього можна зробити висновок, що чим більше обчислювальної потужності обладнання (хешрейт — кількість хешів, обчислюваних за одну секунду), тим вища ймовірність стати першим у гонці на додавання нового блоку. В блокчейні Bitcoin цей процес повторюється приблизно кожні 10 хвилин. Після появи блоку-переможця, майнери припиняють спроби вирішити свій поточний блок-кандидат, видаляють інформацію про транзакції з mempool і приступають до формування нового блоку-кандидата — все повторюється заново і так безперервно.

Корекція складності в майнінгу

Після додавання кожних 2016 блоків, на що йде в середньому близько 2 тижнів, відбувається автоматична корекція рівня складності алгоритму PoW. Це необхідно для того, щоб підтримувати постійну швидкість, з якою добуваються нові блоки — 10 хвилин.

У ході корекції складності враховуються всі обсяги обчислювальних потужностей, які в даний момент застосовуються до хешуючого алгоритму — так званої хеш-потужності. Коли потужність збільшується, процес майнінгу стає складнішим для всіх учасників. Якщо потужність зменшується — то й добувати криптовалюту легше, оскільки складність знижується.

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

З Bitcoin ситуація зовсім інша: протокол мережі задає точну кількість BTC, які можуть бути випущені — 21 мільйон. І це число не змінюється в залежності від того, скільки людей майнить або наскільки потужні в них пристрої. Щоб підтримувати стабільність майнінгу, його складність регулюється автоматично. Це означає, що незалежно від того, скільки майнерів підключається до блокчейну, загальний обсяг нових BTC, який з'являється на ринку, залишається постійним. Це робить роботу мережі стабільною і допомагає уникнути «інфляції» цифрового активу, як це буває з фізичними ресурсами.