Пояснення Proof-of-Work
Атака 51%, про що ви говорите?
Атака 51%, або атака з більшістю, — це випадок, коли користувач або група користувачів контролюють більшість потужності видобутку.
Нападники отримують достатньо сил для контролю більшості подій у мережі.
Вони можуть монополізувати генерацію нових блоків і отримувати винагороду, оскільки здатні заважати іншим майнерам завершувати блоки.
Вони можуть скасувати транзакції.
Припустимо, що Аліса відправила Бобу гроші, використовуючи Blockchain. Аліса залучена до випадку атаки 51%, Боб — ні. Ця транзакція розміщується в блоці. Але нападники не дозволяють грошам бути переведеними. У ланцюгу відбувається розгалуження.
Далі майнери приєднуються до одного з гілок. І оскільки вони мають більшість обчислювальної потужності, їхній ланцюг містить більше блоків.
У мережі залишається гілка, яка триваліша, а коротка – відхиляється. Тому транзакція між Алісою і Бобом не відбувається. Боб не отримує гроші.
Слідуючи цим крокам, нападники можуть скасувати транзакції.
Атака 51% не є вигідною опцією. Вона вимагає величезної кількості потужності видобутку. І як тільки вона стає публічною, мережа вважається скомпрометованою, що призводить до відпливу користувачів. Це неминуче призведе до зниження ціни криптовалюти. Усі в результаті, кошти втрачають свою вартість.
Чи є якісь недоліки в консенсусному алгоритмі PoW?
Основними недоліками є величезні витрати, “некорисність” обчислень та атака 51%.
Величезні витрати. Видобуток вимагає високоспеціалізованого комп’ютерного обладнання для запуску складних алгоритмів. Витрати є нездоланними. Видобуток стає доступним лише для спеціальних майнінгових пулів. Ці спеціалізовані машини споживають великі обсяги електроенергії, що підвищує витрати. Великі витрати загрожують централізації системи, оскільки це приваблює вигоди. Це легко помітити в випадку з Bitcoin.
“Некорисність” обчислень. Майнери виконують багато роботи для генерації блоків і споживають багато енергії. Однак їхні обчислення не використовуються в жодній іншій сфері. Вони гарантують безпеку мережі, але не можуть бути застосовані у бізнесі, науці чи будь-якій іншій області.
Чому взагалі використовувати консенсусний алгоритм PoW?
Основні переваги — це захист від DoS-атак і низький вплив ставки на можливості видобутку.
Захист від DoS-атак. PoW накладає певні обмеження на дії в мережі. Для їх реалізації потрібно багато зусиль. Ефективна атака вимагає великої обчислювальної потужності і багато часу для виконання обчислень. Отже, атака можлива, але в якийсь мірі безглузда, оскільки витрати занадто високі.
Можливості видобутку. Не важливо, скільки грошей у вас у гаманці. Важливо мати велику обчислювальну потужність для вирішення головоломок і формування нових блоків. Таким чином, власники великих сум грошей не вирішують, хто матиме право приймати рішення для всієї мережі.
Де зазвичай реалізується PoW?
Proof-of-Work використовується в багатьох криптовалютах.
Найвідоміший застосунок PoW — це Bitcoin. Саме Bitcoin заклав основу для цього типу консенсусу. Головоломка — це Hashcash. Цей алгоритм дозволяє змінювати складність головоломки в залежності від загальної потужності мережі. Середній час формування блоку — 10 хвилин. Криптовалюти на базі Bitcoin, такі як Litecoin, мають подібну систему.
Інший великий проект з PoW — це Ethereum. Оскільки майже три з чотирьох проектів реалізовано на платформі Ethereum, можна з упевненістю стверджувати, що більшість застосувань Blockchain використовують модель консенсусу PoW.
Як цей алгоритм реалізується в Blockchain?
Майнери вирішують головоломку, формують новий блок і підтверджують транзакції.
Складність головоломки залежить від кількості користувачів, поточної потужності та навантаження мережі. Хеш кожного блоку містить хеш попереднього блоку, що підвищує безпеку і запобігає будь-яким порушенням блоку.
Якщо майнеру вдається вирішити головоломку, формується новий блок. Транзакції розміщуються в цьому блоці та вважаються підтвердженими.
Чому так?
Точність роботи та швидкість системи Blockchain залежать від цього.
Але проблема не повинна бути надто складною. Якщо вона така, генерація блоку займає багато часу. Транзакції завмираються без виконання, і в результаті робочий процес затримується на деякий час. Якщо проблему не можна вирішити протягом певного часу, генерація блоку буде чимось на зразок дива.
Але якщо проблема занадто проста, це робить її сприйнятливою до вразливостей, DoS-атак і спаму.
Рішення повинно бути легко перевіреним. Інакше не всі вузли здатні аналізувати, чи є обчислення правильними.
Тоді вам доведеться довіряти іншим вузлам, що порушує одну з найважливіших характеристик Blockchain — прозорість.
Що ви маєте на увазі під “математичною головоломкою”?
Це проблема, яка вимагає великої обчислювальної потужності для вирішення.
Є багато таких, наприклад:
- функція хешування, або як знайти вхідні дані, знаючи вихідні;
- ціле факторизація, іншими словами, як представити число як множення двох інших чисел;
- протокол головоломки екскурсій. Якщо сервер підозрює DoS-атаку, він вимагає обчислення хеш-функцій для деяких вузлів у визначеному порядку. У цьому випадку це проблема “як знайти ланцюг значень хеш-функцій”.
Відповідь на проблему PoW або математичне рівняння називається хешем.
З ростом мережі виникає все більше труднощів. Алгоритми потребують все більшого хеш-потужності для розв’язання. Отже, складність задачі є чутливим питанням.
Що таке Proof-of-Work?
Proof-of-Work, або PoW, є оригінальним алгоритмом консенсусу в мережі Blockchain.
У Blockchain цей алгоритм використовується для підтвердження транзакцій та створення нових блоків до ланцюга. З PoW майнери змагаються один з одним, щоб завершити транзакції в мережі та отримати винагороду.
У мережі користувачі надсилають один одному цифрові токени. Децентралізований реєстр збирає всі транзакції в блоки. Однак потрібно подбати про підтвердження транзакцій та упорядкування блоків.
Цю відповідальність несуть спеціальні вузли, звані майнерами, а процес називається видобутком.
Основні робочі принципи — це складна математична головоломка та можливість легко довести рішення.