Механизм Proof of Work возник еще до появления криптовалют. Его основная цель – защита сервера от постоянных запросов (DDos-атак, спама) через добавление специальной задачи, на решение которой необходимо потратить определенное количество времени и ресурсов. При этом сервер (или просто валидатор) на проверку будет тратить намного меньше времени. Механизм PoW предназначен именно для вычислительной техники.
Можно объяснить принцип работы алгоритма на примере обычного урока в школе. Представим, что на уроке математики учитель дал задание всему классу и пообещал хорошую оценку (вознаграждение) тому, кто сделает задание первым. Ученику необходимо "пораскинуть мозгами", чтобы провести ряд математических операций и в итоге решить задачку. В случае с PoW, вместо ученика задачку решает вычислительная техника. Тогда "класс" – это, например, сеть #Bitcoin с майнерами, "ученик" – это один майнер или компьютер, а "пораскинуть мозгами" – по сути, способности вычислительной техники быстро решить задачу. В результате будет "хорошая оценка" – это вознаграждение за майнинг.
Эта концепция впервые была презентована еще в 1993 году в научной статье. Авторы, Синтия Двор и Мони Наор, предлагали сделать так, чтобы доступ к какому-то абстрактному ресурсу появлялся только при условии выполнения некой ресурсоемкой задачи.
Спустя три года Адамом Бэком был запущен проект Hashcash, основная задача которого состояла в защите от спама. Он описывал механизм так: «Нужно найти такое значение Х, при котором функция SHA(x) содержала бы n-е количество нулевых бит».
А в 1999 году впервые появился термин "#Proof of Work" – он был предложен Маркусом Якобсеном и Ари Джуэлсом в научной статье для журнала Communications and Multimedia Security.
В 2004 году Хэл Финни, который позже проведет первую транзакцию в истории сети Bitcoin, предлагал «токенизировать» PoW, а вернее RPoW (Reusable-Proofs-of-Work). То есть, результатом проверок стали бы токены, которые в дальнейшем могли бы использоваться как электронная валюта.
Затем инициативу перехватил (или перехватили) #Сатоши Накамото, заложив механизм Hashcash в качестве алгоритма консенсуса в сеть Bitcoin, а также внедрив алгоритм хеширования SHA-256. Механизм PoW используется в сети Bitcoin для генерации блока и безопасности всего блокчейна. В этих блоках содержится хеш-функция, сумма которой всегда меньше target (намеченной цели).
Евросоюз предлагает запретить майнинг криптовалют по принципу Proof-of-Work из-за избыточного потребления электричества.
— BIG GEEK (@biggeekru) January 20, 2022
Текущий уровень энергопотребления может помешать снижению темпов изменения климата.
Эффективность Proof-of-Work зависит от мощности оборудования. pic.twitter.com/0hcbBjttnX
Это как бы доказывает – или пруфирует (от proof) – что необходимые расчеты (work) для поиска блока были произведены, и дает сигнал к тому, что блок можно записать в общую цепочку (блокчейн). Решить задачу и поставить хорошую оценку (выдать вознаграждение майнеру).
Весь этот процесс отчасти случаен. То есть, нельзя сказать какой именно #майнер в итоге найдет подпись. И даже если ему это удалось сделать, то это не значит, что он получит 12,5 BTC (текущее вознаграждение за поиск блока). Все майнеры получают вознаграждения, которые пропорциональны их «усилиям» (то есть, усилиям их оборудования) по вычислению, в случае, если они майнят коллективно - в #пуле. Так же возможно майнить в одиночку (#соло майниг), но в таком случае можно ждать своей удачи сколь угодно долго. Что касается уровня сложности, то он пересчитывается после каждых добытых 2016 блоков (примерно раз в 2 недели). Если майнерам удалось найти заданное количество блоков раньше, чем за 14 дней, то сложность растет, если ушло больше времени – то уменьшается.