У цій статті ви отримаєте посібник початкового рівня з Доказу роботи. Ви дізнаєтеся, для чого він потрібен, в чому різниця між Proof of Work і Proof of Stake та багато іншого.
Для полегшення навігації ознайомтеся зі змістом:
- Що таке підтвердження роботи?
- Навіщо нам потрібні військовополонені?
- Що таке подвійні витрати?
- Як працює PoW?
- Доказ роботи проти доказу частки
- Висновок
- Поширені запитання
Що таке підтвердження роботи?
Proof of Work (скорочено PoW) - це так званий механізм консенсусу (також відомий як алгоритм консенсусу) використовується в криптовалюти. Він запобігає подвійні витрати. Proof of Work зазвичай називають методом захисту реєстру криптовалюти.
Будучи першим алгоритмом консенсусу, який коли-небудь був створений, Proof of Work все ще вважається домінуючим серед інших алгоритмів консенсусу. Сатоші Накамото, "У нас тут є Біткойн представив PoW ще у 2008 році. Але насправді технологія, яка зробила PoW можливою, була відома до періоду.
Найвідомішим прикладом алгоритму PoW докриптовалютної епохи є HashCash Адама Бека. Він працював як інструмент для зменшення кількості спаму, вимагаючи від відправників виконати певну кількість обчислень перед відправленням листа. Обсяг обчислювальної потужності був відносно невеликим для індивідуального відправника, але він різко зростав для того, хто здійснював масову розсилку листів.
Навіщо нам потрібні докази роботи?
Щоб відповісти на це питання, нам спочатку потрібно розглянути, як технологія блокчейн працює.
У мережі Біткоїн користувачам потрібна система підтвердження транзакцій, оскільки, коли вони транслюють свої транзакції в мережу, останні не одразу отримують підтверджений статус. Транзакції повинні спочатку стати частиною системи блокчейн. Оскільки блокчейн - це відкрита база даних, кожен користувач може відстежувати історію всіх коштів у мережі. Найпростіший спосіб переглянути її - блокнот.
Ідея така:
- Ви і ще троє ваших друзів користуєтесь одним блокнотом;
- Ви вчотирьох використовуєте цей блокнот, щоб відстежувати транзакції і бачити, скільки грошей витрачає кожен з вас;
- Щоб кожна нова транзакція була дійсною, при її здійсненні ви посилаєтесь на попередню транзакцію, яка надала кошти;
- Тому якщо хтось із ваших друзів спробує здійснити транзакцію з використанням тих самих коштів - така транзакція буде вважатися недійсною і буде заблокована.
Але ось у чому заковика - така система може працювати лише для невеликої групи людей, які знають один одного і можуть домовитися при здійсненні транзакцій та записати свої дані у спільному блокноті, щоб зробити їхні операції повністю прозорими та відстежуваними. Але що, якщо ви хочете зробити те ж саме для великої групи інтернет-користувачів, скажімо, 10 000 або більше осіб? У цьому випадку блокнотний підхід не спрацює, оскільки ніхто не захоче дозволити незнайомцям керувати транзакціями.
І саме тому мережа цифрових валют потребує системи підтвердження роботи (Proof of Work). Цей механізм слугує блокуванням для користувача витрачати активи, які він не має права витрачати. Алгоритм PoW поєднує в собі теорія ігор і криптографії, що дозволяє користувачам блокчейну Біткоїн оновлювати дані про транзакції в суворій відповідності до системи.
Як працює PoW?
Що таке майнінг?
Щоб зрозуміти, як насправді працює Proof of Work, нам спочатку потрібно дізнатися, що таке майнінг.
Додаючи транзакції до блокчейну, ви не можете додавати їх окремо - ви повинні збирати їх у блоки. Як тільки транзакції з'являються в мережі, концепція полягає в наступному: вони повинні бути додані в певний тип блоку, який називається блок кандидатів. Потім цей блок-кандидат чекає на валідацію, щоб стати дійсним - іншими словами, бути доданим до блокчейну.
Створення нового блоку - не найдешевший процес. Для цього потрібен певний ресурс - обчислювальна потужність. Або майнінгова потужність, оскільки той, хто створює блок, називається майнер. Майнер (за допомогою сучасного комп'ютера з достатньою обчислювальною потужністю) вирішує так звану обчислювальну головоломку - тобто, хешування дані блоку.
Що таке хешування даних блоку? Це означає обробку даних за допомогою хеш-функція яка генерує хеш блоку. Після обробки хеш-функціями новий блок отримує свій унікальний код - своєрідний “відбиток пальця”. Цей "відбиток" надає індивідуальну ідентичність вхідним даним вашого блоку.
Ви не можете витягти вхідні дані з хешу блоку. Однак, якщо ви знаєте вхідні дані, ви можете визначити, чи правильний блок. Все, що вам потрібно для цього - обробити вхідні дані за допомогою хеш-функції і переконатися, що вихідні дані не відрізняються.
Підтвердження роботи вимагає, щоб хеш даних відповідав певним умовам. Щоб переконатися, що хеш даних відповідає умовам, вам потрібно пропустити його через хеш-функцію. Якщо після перевірки дані не збігаються, вам потрібно буде просто виправити їх, трохи змінивши. Важливо знати, що навіть зміна одного символу може мати величезне значення, так що результат на виході буде абсолютно непередбачуваним.
Суть в тому, що створення блоку - це завдання, яке неможливо передбачити. Все зводиться до хешування декількох транзакцій з іншими важливими даними. Що вам завжди потрібно, так це доповнити постійний набір даних частиною змінних даних. Без цього результат хешування завжди буде незмінним.
Фрагмент змінних даних, про який ми згадували, називається Нонсенс.. Це число, яке щоразу змінюється, даючи вам різні хеші. Сам процес називається майнінгом.
Так що ж таке майнінг?
- Майнінг - це процес збору даних блокчейну та хешування їх за допомогою нонче з метою пошуку певного хешу. Коли майнер знаходить хеш, який відповідає умовам, визначеним протоколом, він отримує право транслювати нові блоки в мережу. Водночас блокчейн оновлюється іншими користувачами мережі, які додають до нього нові блоки.
Умови, яких необхідно дотримуватися в процесі майнінгу, відрізняються для різних цифрових валют. Наприклад, є валюти з надзвичайно складними умовами. Все залежить від швидкість хешування від швидкості хешування мережі - чим вища швидкість хешування, тим складніше знайти правильний хеш. Це все частина дизайну - якби швидкість хешування була низькою, майнери знаходили б монети занадто швидко, і їхня кількість швидко зростала б.
Втім, майнінг не є неможливим. Ідея полягає в тому, що він має бути помірно складним. Інакше не було б сенсу для інших майнерів приєднуватися. Майнінг - це змагання. Щодня шахтарі змагаються один з одним. Робота, яку вони виконують, зрештою, винагороджується, що підвищує їхній ентузіазм до подальшого видобутку.
Як ми вже згадували раніше, майнінг (тобто розв'язання математичної головоломки) вимагає величезних обчислювальних потужностей. Але це ще не все. Як відомо, для роботи комп'ютерів потрібна електроенергія. Це робить майнінг важким завданням з точки зору витрат на електроенергію. Але є і хороші новини - правильні хеші винагороджуються. Це означає, що кожен раз, коли майнер знаходить правильний хеш, він отримує винагороду у вигляді блоку в криптовалюта.
Що таке криптографія з відкритим ключем?
Враховуючи всю вищезазначену інформацію, ми отримуємо наступні висновки:
- Майнінг коштує грошей (обладнання для майнінгу + значна кількість використаної електроенергії)
- Майнери отримують винагороду за знаходження дійсних блоків
- За допомогою вхідних даних користувач блокчейну може переконатися, що блок дійсний, не витрачаючи при цьому занадто багато процесорної потужності.
Але справа в тому, що завжди знайдуться ті, хто захоче піти легким шляхом. В даному випадку, ті, хто захоче спробувати схитрувати. Чи можливо це зробити? Чи може людина створити кілька фальшивих транзакцій, хешувати їх в один блок, а потім не створювати новий дійсний блок? Технічно кажучи, відповідь - так. Але є спосіб зупинити зловмисників від зловживання публічним блокчейном для власної вигоди.
Щоб переконатися, що користувач має право витрачати кошти, використовується спеціальний криптографічний механізм - він називається криптографія з відкритим ключем. Концепція полягає в наступному:
- При створенні транзакції користувач повинен підпиши.;
- Підпис є публічним, і будь-який користувач має до нього доступ;
- Інші користувачі можуть порівняти підпис з відкритим ключем - якщо вони збігаються, то транзакція дійсна;
- Користувачі також можуть перевірити, чи може творець транзакції дійсно витрачати свої кошти, і чи не є вихідна сума меншою за вхідну.
Детальніше, будь ласка, прочитайте цю статтю.
Мережа видаляє будь-який недійсний блок транзакцій, що призводить до величезних грошових втрат. Тож шахрайство в мережі блокчейн коштує дуже дорого. І саме в цьому полягає основна ідея Proof of Work (та інших механізмів консенсусу):
- Механізм консенсусу PoW робить шахрайство дорогим, але, з іншого боку, він заохочує вас діяти чесно, отримуючи при цьому великі прибутки.
Що таке подвійні витрати?
Говорячи про "Доказ роботи", є фундаментальний термін, про який ви повинні знати. Цей термін - подвійні витрати.
A подвійні витрати це, по суті, кошти, які користувач намагається витратити більше одного разу. Це загальний термін для операцій з цифровими грошима. Причина в тому, що цифрові кошти - це не те саме, що фіатна валюта, тобто гроші, які реально існують у фізичному світі. Зрештою, в якийсь момент кожній людині, яка має справу з цифровими валютами, доведеться визнати, що вони не мають жодної реальної цінності. Але знову ж таки, через низку причин, криптовалюти стали популярними за останні кілька років, що призвело до криптобуму та безлічі методів шахрайства. Одна з таких технік - подвійні витрати.
Давайте прояснимо:
- ви не можете заплатити двічі фізичною готівкою, але ви МОЖЕТЕ (принаймні спробувати) використовувати той самий фонд цифрової валюти для здійснення біткоїн-транзакцій (що, звісно, є шахрайством).
Уявіть собі таку ситуацію: ви купили чашку кави і заплатили за неї готівкою. Тепер, якщо ви захочете ще одну чашку кави, ви не зможете заплатити за неї тією ж доларовою купюрою, оскільки вона була прийнята касиром і заблокована в касовому апараті. Ви також не зможете використати цю купюру в іншому магазині з причини, зазначеної вище.
Але з цифровими валютами ви можете виконати цей трюк. Оскільки цифрові гроші - це просто набір нулів і одиниць (тобто дані, стиснуті у файлі), ви можете дублювати ці дані і надсилати їх електронною поштою стільком людям, скільки забажаєте. Ось чому так важливо мати механізми, які не дозволять людям використовувати одні й ті самі кошти в різних місцях. Без таких механізмів подвійні витрати руйнують валюту.
Більше інформації про подвійні витрати, прочитайте цей посібник.
Доказ роботи проти доказу частки
Як ми вже говорили вище, Proof of Work (PoW) - не єдиний алгоритм консенсусу. У цьому розділі нашого посібника ми розглянемо потенційного конкурента алгоритму Proof of Work - Підтвердження частки.
Що таке доказ ставки?
Proof of Stake - ще один популярний механізм консенсусу, який дозволяє підтверджувати транзакції і досягати консенсусу. Але PoS використовує зовсім інший підхід, ніж PoW. На відміну від Proof of Work, Proof of Stake працює віртуально.
Це означає, що в той час як PoW вимагає величезної кількості обчислювальної потужності для виконання функції вартості процесора (або для вирішення обчислювальної головоломки), ключовою особливістю PoS є використання валідаторів. Валідатори блокують стейк, щоб запобігти шахрайству. Після цього валідатори повинні вирішити, який наступний блок буде додано до ланцюжка. Потім вони роблять ставки на обрані блоки. Якщо блок з'являється в ланцюжку, валідатори отримують винагороду, пропорційну всій ставці.
Чи є PoS кращим за PoW?
Proof of Stake ще не повністю інтегрована в криптографічні блокчейни. І одна з них, яка зробить це першою, - мережа Ethereum. Спільнота Ethereum з нетерпінням чекає переходу від Proof of Work до Proof of Stake в найближчому майбутньому. Причина в тому, що Proof of Work занадто обтяжливий для споживання електроенергії - функція ціноутворення на процесорах вимагає більшої потужності майнінгу, ніж перевірка транзакцій через PoS. І чим більше майнерів приєднується до майнінг-пулів, тим більше потужності потрібно.
Багато людей по всьому світу стурбовані такими обсягами енергоспоживання. Саме тому блокчейн Ethereum хоче використати механізм Proof of Stake у своїй спробі знайти більш екологічне рішення.
Ще одним моментом у змаганні PoW проти PoS є швидкість (кількість транзакцій в секунду). За допомогою Proof of Stake користувачі можуть відправляти і отримувати кошти всього за кілька секунд, в той час як процес Proof of Work займає значно більше часу. До речі, останній фактор також впливає на зростання комісій за транзакції в криптовалютних мережах.
І, нарешті, питання безпеки. Чи безпечніше Proof of Stake, ніж Proof of Work? Відповідь - так. Завдяки протоколу CASPER, PoS потенційно безпечніше, ніж PoW. І навіть більше, хакерські атаки на системи на основі PoS стануть більш дорогими, а отже, рідкісними.
Висновок
Свого часу Proof of Work (PoW) був оригінальним механізмом для виявлення подвійні витрати в рамках Біткойн блокчейн. Поєднання криптографії, хеш-функції, та теорії ігор, PoW робить безпечнішою роботу в децентралізованій мережі, створюючи стабільну розподілену систему, засновану на консенсусі.
Поширені запитання
Що таке протокол підтвердження виконання робіт?
Протокол PoW - це механізм перевірки транзакцій у децентралізованій криптовалютній системі. Завдяки Proof of Work стає неможливим подвійне витрачання коштів - шахрайська технологія використання одного і того ж фонду для кількох транзакцій.
У чому різниця між Proof of Stake і Proof of Work?
Існує дві основні відмінності між двома найпопулярнішими протоколами консенсусу. Перша відмінність полягає в тому, що Proof of Stake застосовує більш енергоефективний підхід, в той час як Proof of Work потребує великої кількості електричної енергії для роботи. Друга відмінність полягає в тому, що Proof of Stake є потенційно безпечнішим завдяки протоколу CASPER і зростаючій вартості хакерських атак.
Що ви маєте на увазі під “математичною головоломкою”?”
Розв'язання “математичної головоломки” - це процес майнінгу криптовалют. Майнери по всьому світу використовують дороге обчислювальне обладнання і споживають багато електроенергії для “видобутку” біткоїнів (та інших криптовалют), обробляючи величезні обсяги даних для створення нових одиниць і додавання їх до блокчейну.
Що таке токен PoW?
Токен PoW - це “валюта”, яка використовується як форма псевдоплатежу в ряді додатків, наприклад, в електронній пошті. Якщо до електронного листа додано токен PoW, це означає, що він не містить спаму. Токени PoW також використовуються для багаторазового підтвердження роботи. Отже, технічно кажучи, токени PoW є елементами системи захисту від спаму.








