майнінг

Криптовалюти невідривно пов'язані з поняттям Proof-of-Work. Але що це таке?

У більшості криптовалют нові монети випускаються у вигляді винагороди, тому учаснику мережі (вузла), який перевірив певну кількість транзакцій в мережі на валідність, зібрав ці транзакції в так званий блок і додав цей блок в блокчейн - розподілену базу даних. Створення механізму захисту від безконтрольного створення блоків і випуску монет, а також інших зловживань - необхідний елемент розробки криптовалюти. Найбільш поширеним механізмом є алгоритм Proof-of-Work, що вимагає довести, що для створення блоку були дійсно проведені необхідні обчислення.

Для цього вузлу-творцю потрібно вирішити задачку. Завдання при цьому повинно бути складним, але посильним і вирішуваним, а перевірка результату повинна бути максимально простою і швидкою.

Історія створення алгоритму Proof-of-Work

Ідея механізму PoW з'явилася в літературі ще в далекому 1993 році. Тоді його запропонували використовувати для захисту електронної пошти від спаму. Хоча словосполучення Proof-of-Work ще не прозвучало - термін з'явився лише у 1999.

Перше практичне втілення відбулося через чотири роки, у 1997 і також було пов'язано з боротьбою зі спамом. Проект отримав назву HashCash.

Для створення блокчейну біткоіна, Сатоши Накамото застосував захисний алгоритм HashCash (який вже довів до того часу свою працездатність), а в якості обчислюваної хеш-функції використовував SHA-256 - найбільш популярну у 2008 році.

Що таке Proof-of-Work?

Використовуючи PoW для додавання блоку в ланцюжок, вузлу необхідно вирішити складну задачку.

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

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

Особливості Proof-of-Work

Однією з найважливіших особливостей використовуваного в криптовалютах алгоритму PoW (в порівнянні, скажімо, з механізмом захисту від спаму) є механізм динамічної зміни складності розв'язуваної задачі. Без нього емісія того ж біткоіна дуже швидко стала б неконтрольованою, оскільки з ростом сумарної обчислювальної потужності мережі, швидкість випуску блоків збільшиться і, відповідно, швидкість випуску нових монет також.

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

У зв'язку з тим, що обчислювальні потужності мережі безперервно ростуть, складність завдання також постійно підвищується. Це призводить до підвищення витратності майнінгу, в зв'язку з чим почалися роботи над альтернативними алгоритмами. Найбільш успішним з них став Proof-of-Stake, в якому доводити потрібно не факт проведення обчислень, а факт володіння видобуваною криптовалютою.

Плюси Proof-of-Work

Proof-of-Work пропонує достатньо високий рівень безпеки блокчейну, стрімко зростаючий по мірі того, як збільшується число вузлів в мережі і їхня сумарна обчислювальна потужність.

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

Теоретично, у зловмисника є можливість підтверджувати тільки свої блоки, ігноруючи інші, збирати 100% нових монет і блокувати транзакції. Однак для цього йому потрібно контролювати більше половини обчислювальних потужностей (звідси назва «атака 51%»). Це, за великим рахунком, позбавляє атаку економічного сенсу.

Інші атаки, призначені, наприклад, для забезпечення подвійного витрачання коштів за допомогою форків, не вимагають обов'язкового контролю над більшою частиною потужностей, однак, все ще «ненажерливі» - зловмиснику потрібно підтримувати розгалуження протягом тривалого часу.

Мінуси PoW

Основна проблема Proof-of-Work - це постійно зростаюча складність обчислень. Виникаючі через це вимоги до обладнання і величезна енерговитратність, роблять пошук нових блоків вкрай дорогим і енергонеефективним процесом.

Проекти, які намагаються знайти корисне застосування цим ресурсам, які «йдуть в порожнечу», з'являються регулярно (чого вартий тільки проект біткоін-ферми, що опалює будинок) але особливого успіху поки не здобули.

Проблема «ненажерливості» PoW посилюється ризиком витратити ресурси «в нікуди». Передбачити, який саме вузол знайде новий блок, неможливо, а винагороду отримає тільки «переможець». Всі інші вузли палили електрику марно.

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

Зосередження обчислювальних ресурсів під контролем нечисленних компаній суперечить самій ідеї децентралізації, закладеної в криптовалюти. Роботи над «ASIC-захищеними» PoW-алгоритмами ведуться, однак, говорити про їхню повну успішність поки рано. В основному вони лише роблять використання спеціального устаткування більш витратним.

Використання Proof-of-Work в криптовалютах

Proof-of-Work використовується в абсолютній більшості криптовалют, представлених сьогодні на ринку. Виняток становлять ті валюти, в яких випуск нових токенів або не передбачений (всі монети перебували в мережі з самого початку роботи), або здійснюється централізовано (як в Ripple).

Навіть ті валюти, розробники яких заявили про намір використовувати альтернативні алгоритми для захисту проведення транзакцій, для початкового розподілу токенів використовують PoW.

Майнінг криптовалют, що використовують Proof-of-Work

Proof-of-Work

На сьогоднішній день всі цифрові валюти, які майняться, використовують саме алгоритм PoW. Однак, майнінг найбільших криптовалют для одинаків, які використовують неспеціалізоване обладнання і не входять до великих пулів, практично недоступний. Їх нішею стали нечисленні ASIC-захищені крипти або монети «з дна», які нікому з великих гравців не потрібні.

Популярні криптовалюти на алгоритмі Proof-of-Work

BitCoin

Само собою, головна PoW-крипта в світі - це Bitcoin. З нього почалася історія криптовалют і поки що не видно монети, яка змогла б змістити біткоін з вершини і відібрати у нього звання «цифрового золота».

Велика частина нашого матеріалу і присвячена роботі алгоритму PoW в тому вигляді, в якому він реалізований в біткоінах. Пов'язано це з тим, що в більшості валют використовується той же самий алгоритм. Причому не тільки в тих, які є форками біткоіна: більшість розробників цілком природно краще «не винаходити велосипед» і використовувати перевірене і працююче рішення.

efir

Друга криптовалюта за капіталізацією - Ethereum, на даний момент також використовує для захисту мережі алгоритм PoW, званий Ethash. Надалі розробники планують перейти спершу на гібридну схему PoW+PoS, а потім і повністю відмовитися від алгоритму Proof-of-Work.

Подібний підхід викликаний тим, що творець Ethereum спочатку мав намір використовувати концепцію Proof-of-Stake, однак, невирішені проблеми цього алгоритму змусили його звернутися до більш перевірених варіантів. Зараз же розробники сподіваються, що створюваний ними протокол PoS під назвою Casper вирішить проблеми доказу частки і захисту блокчейна від форків, що дозволить відмовитися від PoW.

monero

Monero є рідкісним прикладом успішної валюти, що використовує ASIC-захищений PoW-алгоритм. Протокол, названий CryptoNight, використовує вбудовані інструкції CPU, виконання яких на пристроях з низькою частотою і швидкою пам'яттю або спеціалізованому обладнанні дуже затратне. Успішність Monero, втім, забезпечується не нововведеннями в алгоритмі консенсусу, а унікально високою анонімністю - на відміну від того ж біткоіна, транзакції в блокчейні Monero НЕ відстежуються в принципі.

Яке майбутнє чекає алгоритм Proof-of-Work?

Proof-of-Work залишається найбільш надійним (багато в чому в силу того, що він - найбільш старий і випробуваний з усіх) алгоритмом консенсусу. У зв'язку з цим, навіть ті розробники криптовалют, які заявляють про свою прихильність альтернативним алгоритмам, змушені використовувати PoW як мінімум для розподілу токенів.

І, хоча недоліки Proof-of-Work призводять до поступового переходу від «чистих» PoW-алгоритмів до гібридних, відмови від використання цієї концепції найближчим часом не відбудеться. І тим більше цього не станеться, поки буде працювати блокчейн біткоіна.

Фото: flickr.com
Обробка: Vinci