Какво означава доказателство за работа?
Доказателството за работа описва система, която изисква не незначително, но осъществимо количество усилия, за да възпира несериозни или злонамерени употреби на изчислителна мощност, като изпращане на спам имейли или стартиране на отказ на атаки на услуги. Концепцията беше адаптирана към парите от Хал Фини през 2004 г. чрез идеята за „многократно доказателство за работа“. След въвеждането му през 2009 г., bitcoin стана първото широко приложено приложение на идеята на Finney (Finney също беше получател на първата биткойнова транзакция). Доказателството за работа е в основата и на много други криптовалути.
Доказателство за работа обяснено
Това обяснение ще се фокусира върху доказателството за работа, тъй като функционира в биткойн мрежата. Биткойн е цифрова валута, която е подкрепена от вид разпределена книга, известна като "блокчейн". Тази книга съдържа запис на всички биткойн транзакции, подредени в последователни "блокове", така че нито един потребител да не може да харчи два пъти своите притежания. За да се предотврати подправяне, главната книга е публична или „разпространена“; променена версия бързо ще бъде отхвърлена от други потребители.
Начинът, по който потребителите откриват подправяне на практика, е чрез хеши, дълги низове от числа, които служат като доказателство за работа. Поставете даден набор от данни чрез хеш функция (bitcoin използва SHA-256), и той някога ще генерира само един хеш. Поради "лавиновия ефект", дори и малка промяна в която и да е част от оригиналните данни ще доведе до напълно неузнаваем хеш. Независимо от размера на оригиналния набор от данни, хешът, генериран от дадена функция, ще бъде една и съща дължина. Хешът е еднопосочна функция: не може да се използва за получаване на оригиналните данни, само за да се провери дали данните, генерирали хеша, съвпадат с оригиналните данни.
Генерирането на всякакъв хеш за набор от биткойн транзакции би било тривиално за модерен компютър, така че за да превърне процеса в „работа“, биткойн мрежата задава определено ниво на „трудност“. Тази настройка се регулира така, че нов блок да бъде "миниран" - добавен към блокчейн чрез генериране на валиден хеш - приблизително на всеки 10 минути. Задаването на трудност се осъществява чрез установяване на "цел" за хеша: колкото по-ниска е целта, толкова по-малък е наборът на валидни хешове и по-трудно е да се генерира такъв. На практика това означава хеш, който започва с дълъг низ от нули: хешът за блок # 429818 например е 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Този блок съдържа 2012 транзакции, включващи малко над 1000 биткойни, както и заглавката на предишния блок. Ако потребителят промени една сума на транзакцията с 0, 0001 биткойн, полученият хеш ще бъде неузнаваем и мрежата ще отхвърли измамата.
Тъй като даден набор от данни може да генерира само един хеш, как миньорите се уверяват, че генерират хеш под целта? Те променят входа, като добавят цяло число, наречено nonce ("число, използвано веднъж"). След като бъде намерен валиден хеш, той се излъчва към мрежата и блокът се добавя към блокчейна.
Добивът е състезателен процес, но е по-скоро лотария, отколкото състезание. Средно някой ще генерира приемливо доказателство за работа на всеки десет минути, но кой ще бъде, е предположението на някой. Миньорите се обединяват, за да увеличат шансовете си за минни блокове, което генерира такси за транзакции и за ограничено време награда на новосъздадените биткойни.
Доказателството за работа прави изключително трудно да се промени всеки аспект на блокчейна, тъй като такова изменение ще изисква повторно изкопаване на всички следващи блокове. Освен това затруднява потребителя или групата потребители да монополизират изчислителната мощ на мрежата, тъй като машините и мощността, необходими за изпълнение на хеш функциите, са скъпи.
