Як влаштований майнінг біткоіна
Коли ви чуєте про майнінг біткоінів, ви вважаєте, що криптовалюта викопується із землі. Але біткоін не є фізичним. Тоді чому ми називаємо це "майнінгом"?
Тому, що за своєю сутністю він схожий на золото. Той самий видобуток золота схожий з тим, як видобувають крипту: біткоіни існують в середині протоколу (так само, як золото існує під землею), але вони ще не виведені на світло (так само, як золото ще не вирито). Протокол bitcoin передбачає, що існує 21 мільйон біткоінів. А те, що роблять "майнери", виводить їх на поверхню по кілька штук за раз.
Вони отримують свою криптовалюту як нагороду за створення блоків перевірених транзакцій та їх включення до блокчейну.
Ноди
Варто трохи повернутися і поговорити про "ноди" ("вузли"). Нода - це потужний комп'ютер, який керує програмним забезпеченням біткоіна та допомагає підтримувати криптовалюту, беручи участь у ретрансляції інформації. Будь-хто може запустити ноду, ви просто завантажуєте програмне забезпечення bitcoin (безкоштовно) і залишаєте відкритим певний порт (недолік полягає в тому, що сам майнінг є досить витратним, тому краще заздалегідь обрахувти його рентабельність. Він споживає енергію та використовує пам'ять, а мережа на момент написання складає близько 145 Гб). Ноди розповсюджують по мережі транзакції біткоіна. Одна нода буде надсилати інформацію до кількох нод, які вона знає, котрі будуть передавати інформацію до нод, які вони знають і т. д. Таким чином, транзакції швидко розповсюджується всією мережею.
Деякі ноди є вузлами видобутку (зазвичай їх називають "майнерами"). Ці групи видокремлюють транзакції в блоки та додають їх до blockchain. Як вони це роблять? Вирішуючи складну математичну загадку, яка є частиною програми біткоіна, і включають відповідь у блок. Головоломка, яка потребує вирішення, полягає в тому, щоб знайти число, яке, коли поєднується з даними в блоці і проходить через хеш-функції, виробляє результат, який знаходиться в певному діапазоні. Це набагато важче, ніж це звучить.
(Для любителів подробиць, це число називається "nonce", тобто скорочене "number used once" - "номер використовується один раз". У випадку біткоіну, nonce - це ціле число від 0 до 4 294 967 296.)
Рішення головоломки
Як майнери знаходять це число? Вгадують випадково. Функція хеш робить неможливим передбачення, який результат буде. Тому майнери вгадують загадку і застосовують хеш-функцію до комбінації цього вгаданого числа та даних у блоці. Отриманий хеш повинен починатися з попередньо встановленої кількості нулів. Немає можливості дізнатися, який номер буде працювати, тому що два послідовні цілі числа дадуть різко різні результати. Більше того, може бути кілька nonce, які виробляють бажаний результат, або їх може не бути взагалі (у цьому випадку майнери продовжують намагатися вирішити задачу, але з іншою конфігурацією блоків).
Перший майнер, щоб отримати результативний хеш в потрібному діапазоні, оголошує свою перемогу іншій частині мережі. Всі інші майнери негайно припиняють роботу над цим блоком і починають намагатися з'ясувати номер таємниці для наступного. Як нагорода за свою роботу, переможець отримує певну кількість нових біткоінів.
Економіка
На момент написання статті, нагорода складає 12.5 біткоінів, які вартують майже 125 000 доларів.
Та це не настільки просто як це звучить. Існує багато вузлів видобутку, які конкурують за цю нагороду. Майнери можуть об'єднуватись в майнінгові пули. Отримання це питання успіху та обчислювальної потужності (чим більші потужності для розрахунків, тим ви щасливіші).
Крім того, витрати на створення майнінгового вузла значні не тільки через потужність апаратного забезпечення (якщо у вас швидший процесор, ніж у ваших конкурентів, у вас є кращі шанси знайти правильний номер), а також через великі обсяги електроенергії, що витрачаються на майнінг біткоінів.
Та з часом кількість біткоінів, отриманих у винагороду, зменшується. Це зараз виногорода складає 12.5 біткоінів, однак з часом (кожні чотири роки) вона зменшується вдвічі (наступне зменшення очікується у 2020-21 роках). З часом, щоб компенсувати вартість електроенергії та обладнання, вартість біткоіна повинна зростати протягом найближчих кількох років. Та коли вона виросте чи впаде не відомо.
Труднощі
Складність розрахунку (необхідна кількість нулів на початку хеш-строки) коригується з певною періодичністю, так що для обробки блоку потрібно приблизно 10 хвилин.
Чому 10 хвилин? Це час, який розробники біткоіну вважають необхідним для постійно зменшуваного потоку нових монет, доки не буде досягнуто максимально 21 мільйон (видобуток останнього біткоіна очікується приблизно у 2140 році).
Існує ще набагато більш глибше пояснення системи, та метою цієї статі не є ідея доповісти вам про широкий контур генія програмування і його концепції. На данний момент це система, яка дозволяє зручно здійснювати цифрові перекази децентралізовано, довірчо та захищено від несанкціонованого доступу, наслідки якої можуть бути величезними.
Обробка: Vinci