Алгоритм Proof-of-Work

Криптовалюти невідривно пов'язані з поняттям 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

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

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

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

Monero є рідкісним прикладом успішної валюти, що використовує ASIC-захищений PoW-алгоритм. Протокол, названий CryptoNight, використовує вбудовані інструкції CPU, виконання яких на пристроях з низькою частотою і швидкою пам'яттю або спеціалізованому обладнанні дуже затратне. Успішність Monero, втім, забезпечується не нововведеннями в алгоритмі консенсусу, а унікально високою анонімністю - на відміну від того ж біткоіна, транзакції в блокчейні Monero НЕ відстежуються в принципі.
Яке майбутнє чекає алгоритм Proof-of-Work?
Proof-of-Work залишається найбільш надійним (багато в чому в силу того, що він - найбільш старий і випробуваний з усіх) алгоритмом консенсусу. У зв'язку з цим, навіть ті розробники криптовалют, які заявляють про свою прихильність альтернативним алгоритмам, змушені використовувати PoW як мінімум для розподілу токенів.
І, хоча недоліки Proof-of-Work призводять до поступового переходу від «чистих» PoW-алгоритмів до гібридних, відмови від використання цієї концепції найближчим часом не відбудеться. І тим більше цього не станеться, поки буде працювати блокчейн біткоіна.
Обробка: Vinci