Що таке майнінг, блокчейн і як це працює

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

Почнемо з визначення:

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

Зрозуміло те, що нічого не зрозуміло. Розподілена платформа — це спосіб вирішення завдань відразу на багатьох пристроях, об’єднаних паралельно. Тобто, грубо кажучи, в процесі майнінгу відбувається рішення математичної задачі, в результаті якої можна отримати за це гроші. Іншими словами — продуктивність ПК переводиться в гроші, а ви платите тільки за електрику та інтернет.

Хеш і блокчейн — стовпи майнінгу

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

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

Блокчейн (blockchain, ланцюжок блоків) — побудований за певними правилами безперервний послідовний ланцюжок криптографічно пов’язаних блоків, що містять інформацію.

Розглянемо на прикладі, як працює блокчейн. Створюємо файл і записуємо в нього фразу «Привіт світ-1». Вважаємо його хеш-суму з будь-якого алгоритму — найпоширеніший це sha256. Припустимо, при цьому ми отримали сходинку А (насправді вона довша і різноманітніше десь у 64 рази, але для наочності спростимо ситуацію). Тепер створюємо другий файл, записуємо в нього фразу «Привіт світ-2» і наступною рядком пишемо А. Зберігаємо файл і вважаємо його хеш — він виявляється, припустимо, B. Тепер створюємо третій файл, записуємо в нього «Привіт світ-3» і B, зберігаємо, вважаємо хеш — він виявляється, створюємо новий файл, і так далі. Вітаємо самі себе зі створенням найпростішого блокчейна — всі попередні файли зав’язані на самий перший, тобто всі блоки — елементи одного ланцюга. При цьому перший блок називається Genesis Block (первинний блок), він розглядається окремо, оскільки у нього відсутній батьківський блок.

Зрозуміло, виникає питання — а як перевірити цілісність мережі, може бути 10001 блок був отриманий не з 10000, а з голови? Та дуже просто — в кожному наступному файлі записано кеш попереднього. І так можна рекурсивно «спуститися» аж до самого першого блоку. Якщо десь кеш не співпаде — значить, в мережу були внесені зміни.

Тепер ми, нарешті, можемо перейти до опису майнінгу.

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

Уявімо, що всередині самого першого файлу написано не тільки «Привіт світ-1», але і 00000. Вважаємо його хеш, і він, наприклад, починається з 3f5da… Радісні, відправляємо цей кеш і дізнаємося, що він не підходить. Але чому? Та все просто — хеш повинен починатися з нуля, а кількість нулів на початку підбирається так, щоб кожен блок биткойна з’являвся раз на приблизно 10 хвилин. Хм, скажете ви, ну давайте запишемо у файл не 00000, а 00001 (так-так, самий простий перебір, бо передбачити, який вийде хеш, ми не можемо. А якщо ви зможете отримаєте Нобелівську премію, серйозно). Вважаємо його хеш — і він починається з 7b3fa8… Мда, і знову не нулі на початку. Гаразд, запишемо у файлі 00002. Знову не нулі? Ставимо 00003, і так далі. І ось так, перебираючи, ми нарешті отримуємо хеш, який починається з потрібного числа нулів, з допомогою цього хеша генеруємо новий блок, і отримуємо за нього гроші. Ось так просто і працює майнінг.

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

Відразу ж виникає питання — а чи можна якось підробити цю ланцюг блоків і отримати відразу багато біткойнів? Звичайно можна, для цього всього лише потрібно перемайнить ВСІ блоки з самого початку утворення ланцюга за своїм алгоритмом — як тільки у вас стане на один блок більше, ніж у всіх інших майнер — мережа автоматично прийме ваші умови. Це так звана «атака 51%», і вона можлива лише в теорії: по-перше, для того, щоб перемайнить майже 500 000 блоків біткойнів, будуть просто величезні обчислювальні потужності і гроші, по-друге — навіть став «королем біткойнів», самий максимум, що ви зможете це зупиняти операції в мережі, що грошей вам точно не принесе (але ось обвалити курс, або, навпаки, підняти і зіграти на цьому, буде можна. Але навряд чи людина, що має достатні для створення такої мережі гроші, буде цим займатися — швидше всього він вкладе їх у щось більш вигідне).

Регуляція в мережі биткойна

У мережі биткойна зрозуміло є регулювання: по-перше, це складність: тобто скільки нулів повинно бути на початку хеша. Вона підбирається так, щоб в тиждень з’являлося 2016 блоків — тобто 10 хвилин на блок. Відповідно, чим більше обчислювальних потужностей бере участь у майнінгі — тим більше повинна бути складність, щоб утримувати темп — а значить тим складніше кожному знайти потрібну хеш-суму. Другий обмежувач — це вартість нагороди. У 2009 році за один блок давали 50 BTC, потім 25, а зараз — всього 12.5.

Тому ми отримуємо відразу дві проблеми для майнера: якщо перші блоки біткойнів без проблем розраховувалися на листку паперу з калькулятором (потрібно було знайти хеш з одним нулем на початку), на початку 2010 для цього був потрібен комп’ютер з потужним процесором, то тепер, навіть маючи хороший сервер, поодинці знайти потрібний хеш практично нереально (за розумний час, звичайно). Друга проблема — навіть якщо ви знайдете такий блок, біткойнів ви отримаєте в 4 рази менше, ніж 8 років тому. І їх вартість може не окупити (вірніше вже давно не окупає) витрат на електрику — а працювати собі в збиток навряд чи хтось буде. Але є і плюс — якщо на початку біткойни коштували буквально десяток центів, то тепер їх курс перевищує 2000 доларів — правда, все одно сильно зросла складність призвела до того, щоб майніть біткоини на домашньому ПК невигідно.

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

Поточний стан майнінгу кріптовалют

Виникає питання — чому раптом люди близько місяця тому масово кинулися скуповувати відеокарти і робити ферми? Все просто — завжди курс може зрости настільки, що стає вигідно майніть навіть на відеокартах (процесори для цього підходять гірше — майнінг відмінно распараллюється, і тут GPU з кількома тисячами простих обчислювальних блоків виявляється краще, ніж CPU з 4-8 потужними ядрами). Але тут важливо розуміти, що мало того, щоб зараз курс певної кріптовалюти був високий — потрібно, щоб він був високим протягом принаймні того часу, поки ви не відіб’єте витрати на ферму. І в найкращому випадку для ефиріума це 3-4 місяці, а зазвичай це більше півроку. На жаль, ніхто передбачити курс на такий тривалий проміжок часу не може, тому домашній майнінг був і є ризикованою справою.

І останнє питання — що робити тим, хто хотів купити собі відеокарту, а тепер, дивлячись на ціни, розуміє, що вони їм не по кишені? Просто моніторити авіто та інші майданчики продажів б/в комплектуючих: час працює на вас, чим більше майнер і потужності — тим менш вигідним і важким стає майнінг, і тому ті, у кого були невеликі ферми, що працюють на межі прибутку, вже стали їх розпродавати, та вже можна «урвати» 1080 Ti за старими цінами. Так, це буде б/у відеокарта, але варто розуміти, що вона працювала від сили 1-2 місяці при комфортних для неї умовах. І з урахуванням того, що гарантія на них зазвичай 2-3 року — хвилюватися не про що.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *