Доказателство за обяснена работа: Плюсове и минуси на PoW
Консенсусните алгоритми са неразделна част от всички базирани на блокчейн технологии, тъй като няма орган за управление, който да утвърждава транзакциите на мрежата. Консенсусните алгоритми са тук, за да осигурят децентрализирано безпроблемно функциониране на мрежата. Не можем да подценяваме значението на консенсусния алгоритъм, приложен за всеки конкретен базиран на блокчейн проект. Биткойн използва доказателство за работа, което също е оригинален консенсусен алгоритъм за блокчейн Ethereum. Хората спорят дали този алгоритъм на консенсус си струва да се използва или е по-добре да се използват други опции.
Ранната история на доказателствата за работа
Първият пример за алгоритъм, близък до Proof of Work, беше представен през 1993 г. от Синтия Двард и Мони Наор, които излязоха с антиспам решение в научната статия, наречена "За функции, свързани с паметта за борба със спама". Методът, описан в тази статия, предполага, че от неизвестния подател на съобщението се изисква да отдели известно време от своята мощност на процесора (напр. 10 секунди), за да докаже, че подателят не е спамър.
Според Dward и Naor, спамерите, които трябва да отделят 10 секунди от процесорното време, ще могат да изпращат само до 8 хиляди нежелани съобщения на ден, вместо неограничен брой спам съобщения, които те могат да изпращат днес. Не е трудно да се провери функция зад доказателството за работа, но изчисляването й е истинско главоболие за изпращачите на нежелана поща.
Опитайте сега Търгувайте с до 125X ливъридж на Binance Опитайте сега
Терминът Доказване на работа е измислен през 1999 г. Той се появява в статията, наречена "Доказателства за работа и протоколи за пудинг на хляб" (авторите Маркус Якобсон и Ари Джуелс). Самото понятие за доказателство за работа предполага, че "доказвач" трябва да осигури "верификатор" с доказателства за необходимата компютърна работа, извършена в определения интервал от време. Концепцията изглеждаше доста интересна, но не беше оживена до създаването на биткойн, който силно разчита на Proof of Work, за да се създаде мрежа, управлявана от разпределен консенсус без доверие.
Биткойн и доказателство за работа
Доказателство за работата е консенсусен алгоритъм, изискващ скъп и времеви процес на производство на част от данните, при който коректността може да бъде проверена без усилие. Системата за доказателство за работа на Hashcash е създадена като спасение от спам ботове, но в крайна сметка е основна част от биткойн мрежата.
Докато хората си изпращат монети един на друг, книгата отразява тази информация под формата на блокове транзакции. Валидирането на тези транзакции изисква участието на някои работници или работници, извършващи добив.
Хора, желаещи да валидират транзакции (известни като "миньори") трябва да изпълнят процедурата за доказване на работа, за да постигнат целта си. Един работник е един възел. Трудността на тази работа (задачи) е гъвкава, така че новият блок трябва да се генерира на всеки 10 минути. Тъй като броят на миньорите е невероятно огромен, а изтичането на времето от 10 минути е относително кратко, изключително трудно е да се предвиди кой работник (майнер) ще бъде този, който генерира нов блок (проверка на всички транзакции в блока).
Механизмът за доказване на работа
За да генерира нов блок майнер трябва да предостави правилния хеш за блока от транзакции. За целта майньорът трябва да разбере функцията nonce и hash, където nonce е произволно число, което се използва само веднъж (мрежата Bitcoin използва цели числа между нула и 4 294 967 296 като nonce), а hash е низ от 64 символа (комбинация от цифри и букви), съдържащи криптирани данни.
Блоковете в блокчейн имат отделни хешове (такъв хеш се нарича "документ за самоличност"). Всеки хеш се създава в резултат на успешната проверка на блока. За проверка на следващия блок майньорът добавя най-новия хеш към текущия блок, създавайки огромен блок текст. Тогава nonce (произволно число) се добавя в края на блока с текст. Този текст се състои от предишния хеш на блока, новите транзакции, чакащи проверка, и nonce. Оттам започва изчислението. По време на изчисленията работникът променя произволното число до момента, в който се дефинира правилният брой нули пред низ.
Трудността на тази задача не бива да се подценява. Както беше споменато по-рано, трудността е настроена на ниво, че независимо от броя на миньорите и мощността на тяхното оборудване всеки проблем се решава само веднъж на всеки 10 минути. За тази работа компютърът трябва да генерира милиони възможни хешове всяка секунда.
За да проверите дали някой възел е изпълнил правилно необходимата работа, той ще се нуждае от низ, който се е появил в резултат на валидиране и номер на nonce. Прилагането на функцията върху тези две стойности ще даде броя на нулите пред низа. В случай, че този номер е верен, работата е свършена добре. Ако някой има лоши намерения и се опита да добави към веригата някои невалидни данни, това ще бъде спряно от останалите участници в копаенето. По време на мащаба от 10 години тази схема успешно пазеше блокчейна на Биткойн. Това, което прави алгоритъма SHA-256 специален, е, че никой не може да променя тайно дори един бит информация в блока. Ето защо тази книга се нарича неизменяема.
Против доказателства за работа
Не можем да се съгласим, че невероятното потребление на електроенергия, изисквано от PoW, е просто загуба на ресурси (много противници на PoW правят такива твърдения), тъй като вече обяснихме, че този консенсусен алгоритъм е много ефективен, когато става въпрос за охрана на блокчейна. Въпреки това не можем да пренебрегнем факта, че Proof of Work изразходва гигантски количества енергия, за да познае броя на нулите, докато валидира транзакциите. Понастоящем, биткойн мрежата консумира три пъти по-малко енергия от традиционната парична система, но ако си представим, че биткойнът масово се приема, консумацията на енергия ще се увеличи драстично. Както и да е, Bitcoin не замества традиционните банки, така че потреблението се увеличава благодарение на Bitcoin.
Другият проблем е, че хората, които използват своите CPU, GPU или ASIC устройства за добив, имат твърде малък шанс за намиране на нов блок и получаване на награда, тъй като трябва да се конкурират с пуловете за добив, използващи десетки хиляди устройства за добив. Около половината от добива се извършва в относително малката група миньорски пулове. Съществува риск, че ако собствениците на тези пулове решат да се обединят и управляват блокчейна на Биткойн, използвайки своята хешираща сила, те биха могли да го направят. Орган с над 50% от хеширащата мощност всъщност може да управлява блокчейна. Такива прониквания са известни като 51% атака.
Друг забележителен факт е, че 70% от хеширащата мощност идва от Китай, защото тази страна има евтина електроенергия. Това дава предимство на тази страна в добива на биткойни и намалява нивото на децентрализация.
Заключение
Proof of Work всъщност успява да защити мрежата от лоши участници, въпреки че цената на този консенсусен алгоритъм ни кара да мислим за другите възможни начини за валидиране на транзакциите и поддържане на мрежата да работи правилно и безпроблемно. Нищо чудно, че вече има няколко други консенсусни алгоритми, приложени към различни блокчейн проекти. Най-подчертаният конкурент на PoW е Proof of Stake.