Майнінг

Основні принципи майнінгу біткоїнів

Bitcoin на друкарських верстатах не друкується. Щоб його створити, необхідно вирішити математичне завдання за допомогою комп’ютера. Видобуток біткоїну називається майнінгом. Більшості людей, які вперше почули про криптовалюту, буде достатньо перших трьох речень як пояснення, що таке майнінг біткоїнів, для решти - більш докладний опис механізму видобутку BTC у цій статті.

Біткоїн майнер

Як майнять біткоін? #

Основа видобутку біткоїну – майнінг. Хто займається майнінгом: студенти, які мають доступ до безкоштовної електрики у гуртожитках; компанії, що розробляють спеціалізоване обладнання для видобутку біткоїнів; геймери із потужними ігровими комп’ютерами; хакери, що встановлюють програми, які віддалено крадуть обчислювальні потужності; група, що поділяє витрати на електрику та обладнання з подальшим розподілом зароблених BTC.

Bitcoin не має виділених серверів, всі учасники майнінгу мають рівні права. Для того, щоб забезпечити безповоротність транзакцій та доступ до перевірки їх достовірності кожному учаснику, потрібна база даних. В BTC зберігання транзакцій передбачено в ланцюжку блоків (BlockChain), в якому зберігаються всі операції з бікоїну.

Що записано в блоці:

  • Службові дані: ver, time, nonce, n_tx, size.
  • Хеш-сума заголовку блоку hash.
  • Hash попереднього блоку prev_block.
  • Список та кількість транзакцій mrkl_root.
  • Цільове значення Hash – bits.

Система має адаптивний механізм до збільшення чи зменшення числа майнерів, що ускладнює чи спрощує завдання відповідно. Незважаючи на зростаючу армію майнерів, щоденний видобуток не змінюється.

Кожен майнер завантажує весь ланцюжок блоків. Таким чином, внести якісь зміни до списків транзакцій неможливо – система децентралізована та невразлива. Дані про кожен блок у відкритому доступі на сайті Bitcoin Block Explorer. Як тільки блок згенерований, він розсилається по мережі, проходить перевірку на валідність та схвалення.

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

Назад пропорційна функція швидкості майнінгу до часу

Блоки поповнюються кожні 10 хвилин. Щоб зберегти цей інтервал, відбувається коригування складності майнінгу біткоїнів. Кількість BTC у блоці зменшується вдвічі після кожних 210 тисяч блоків. Оскільки нагорода за майнінг зменшується за певним алгоритмом, до 2032 року буде здобуто 99% усіх монет – близько 21 мільйону.

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

У транзакцій такі властивості:

  • Загальний хеш транзакції, до якого входить hash блок і сама транзакція. Хеші посилаються на попередні, тому змінити щось у ланцюжку локально не вийде.
  • Версія схеми транзакції.
  • Сума минулих транзакцій.
  • Адреси для перекладу біткоїнів.
  • Відстрочені транзакції.
  • Вага у байтах у форматі JSON.
  • Джерела транзакції зі своїми індивідуальними властивостями: hash попередньої транзакції, n - порядковий номер джерела п.т., scriptSig містить публічний ключ та підпис приватного ключа, scriptPubKey сценарій перевірки транзакції на валідність, value число BTC, яке має бути направлене адресату.

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

Окупність чи виправданість майнінгу необхідно серйозно оцінювати, особливо в умовах зростання складності за експонентом. Для обчислення прибутку від майнінгу потрібно підсумовувати спадну кількість монет, що видобуваються в од. часу та віднімати витрати на купівлю, обслуговування ферм та електроенергію. Існують калькулятори онлайн, які допомагають розрахувати прибуток. Продати не актуальне обладнання за прийнятною ціною дуже складно.

Графік складності майнінгу
Графік складності майнінгу

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