Въведение
Доказателството за работа беше първият консенсусен алгоритъм, който се появи и към днешна дата остава доминиращият. То е въведено от Сатоши Накамото в бялата книга за биткойн от 2008 г., но самата технология е замислена много преди това.
HashCash на Адам Бек е ранен пример за алгоритъм за доказателство за работа в дните преди криптовалутата. Като изисква от подателите да извършат малко количество изчисления, преди да изпратят имейл, получателите биха могли да смекчат спама. Това изчисление не би струвало на практика нищо за легитимен подател, но бързо се оказва много работа за някой, който изпраща имейли масово.
Какво е двойно харчене?
Двойното харчене възниква, когато едни и същи средства се изразходват повече от веднъж. Терминът се използва почти изключително в контекста на дигиталните пари – в края на краищата, ще ви е трудно да похарчите едни и същи физически пари два пъти. Когато плащате за кафе днес, вие предавате пари в брой на касиер, който вероятно ги заключва в каса. Не можете да отидете до кафенето отсреща и да платите още едно кафе със същата сметка.
В схемите за цифрови пари има възможност да го направите. Със сигурност сте дублирали компютърен файл преди – просто го копирате и поставяте. Можете да изпратите един и същ файл по имейл до десет, двадесет, петдесет души.
Тъй като цифровите пари са само данни, трябва да попречите на хората да копират и харчат едни и същи единици на различни места. В противен случай вашата валута ще се срине за нула време.
Защо е необходимо доказателство за работа?
Сега имаме начин да проследим единиците. Ако Боб се опита да извърши друга трансакция, използвайки същите единици, които току-що изпрати на Керъл, всички ще разберат веднага. Групата няма да позволи на трансакцията да бъде добавена към бележника.
Сега това може да работи добре в малка група. Всички се познават, така че вероятно ще се споразумеят кой от приятелите трябва да добави трансакции в бележника. Ами ако искаме група от 10 000 участници? Идеята за бележника не се мащабира добре, защото никой не иска да се довери на непознат да я управлява.
Тук идва доказателството за работа. То гарантира, че потребителите не харчат пари, които нямат право да харчат. Чрез използване на комбинация от теория на игрите и криптография, PoW алгоритъм позволява на всеки да актуализира блокчейна според правилата на системата.
Как работи PoW?
Нашият бележник по-горе е блокчейнът. Но ние не добавяме трансакции една по една – вместо това ги обединяваме в блокове. Обявяваме трансакциите в мрежата, след което потребителите, създаващи блок, ще ги включат в кандидат-блок. Трансакциите ще се считат за валидни само след като техният кандидат-блок стане потвърден блок, което означава, че е добавен към блокчейна.
На практика е невъзможно да се обърне хеш на блока, за да се получат входните данни. Познавайки даден вход обаче, за вас е тривиално да потвърдите, че хешът е правилен. Просто трябва да подадете входа чрез функцията и да проверите дали изходът е същият.
В доказателството за работа трябва да предоставите данни, чийто хеш отговаря на определени условия. Но не знаете как да стигнете до там. Единствената ви възможност е да прехвърлите данните си през хеш функция и да проверите дали отговарят на условията. Ако не стане, ще трябва леко да промените данните си, за да получите различен хеш. Промяната на дори един знак във вашите данни ще доведе до напълно различен резултат, така че няма начин да се предвиди какъв може да бъде изходът.
Накратко, копаенето е процес на събиране на блокчейн данни и хеширането им заедно с еднократен номер, докато не намерите конкретен хеш. Ако намерите хеш, който отговаря на условията, определени от протокола, вие получавате правото да излъчвате новия блок към мрежата. В този момент другите участници в мрежата актуализират своите блокчейни, за да включат новия блок.
За основните криптовалути днес тези условия е много трудно да бъдат удовлетворени. Колкото по-висок е хешрейтът в мрежата, толкова по-трудно е да се намери валиден хеш. Това се прави, за да се гарантира, че блоковете няма да бъдат намерени твърде бързо.
Както можете да си представите, опитът да отгатнете огромни количества хешове може да струва скъпо на вашия компютър. Вие губите изчислителни цикли и електричество. Но протоколът ще ви възнагради с криптовалута, ако намерите валиден хеш.
Нека обобщим какво знаем досега:
- Копаенето е скъпо.
- Вие получавате възнаграждение, ако създадете валиден блок.
- Познавайки даден вход, потребителят може лесно да провери неговия хеш – потребителите, които не копаят, могат да проверят дали блокът е валиден, без да изразходват много изчислителна мощност.
Дотук добре. Но какво ще стане, ако се опитате да измамите? Какво ви пречи да поставите куп измамни трансакции в блока и да създадете валиден хеш?
Всеки блок, който включва невалидна трансакция, ще бъде автоматично отхвърлен от мрежата. За вас е скъпо дори да се опитате да мамите. Ще губите собствените си ресурси без никаква награда.
Искате да започнете с криптовалута? Купете биткойн в Binance!
Доказателство за работа срещу доказателство за залог
Въпреки това, то не е близо до постиженията на PoW. Въпреки че може да се възприеме като разточителен, копането е единственият консенсусен алгоритъм, който се е доказал в мащаб. За малко повече от десетилетие той осигури трансакции на стойност трилиони долари. За да се каже със сигурност дали PoS може да се конкурира със сигурността му, залагането трябва да бъде правилно тествано на практика.
Заключителни мисли
Доказателството за работа беше оригиналното решение на проблема с двойното харчене и се оказа надеждно и сигурно. Биткойн доказа, че не се нуждаем от централизирани субекти, за да предотвратим двойното изразходване на едни и същи средства. С умно използване на криптография, хеш функции и теория на игрите, участниците в децентрализирана среда могат да се споразумеят за състоянието на финансова база данни.