Proof of Work: что это и в чем суть?

Proof-of-Work (переводится как «доказательство работы») – это один из наиболее распространенных и надежных алгоритмов консенсуса в мире криптовалют. Это механизм, который помогает определить и доказать проделанную внутри сети работу.

Алгоритм Proof-of-Work защищает распределённые системы от нарушений и злоупотреблений, таких как мошенничество, взлом, спам-рассылки или хакерские атаки. Его суть можно коротко свести к двум основным пунктам:

  • Выполнение довольно сложной и очень конкретной задачи
  • Возможность проверить результат быстро и легко

Задачи, основанные на Proof-of-Work, не предназначены для человека. Их решают компьютеры в определенные сроки с использованием серьезных вычислительных мощностей. В свою очередь, проверка результата требует куда меньше времени и энергии.

Как возник Proof-of-Work?

Понятие Proof-of-Work впервые возникло в 1993 году статье под названием «Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology», написанной Мони Наор и Синтией Дворк. В то время названия термина еще не было, но авторами была предложена такая идея:

«Для получения доступа к общему ресурсу, пользователь должен решить некоторую задачу: сложную, но возможную. Таким образом, ресурс можно защитить от злоупотребления.»

В 1997 году Адам Бэк сделал проект Hashcash, который также был нацелен на защиту ресурсов от спама и взлома. Сформулирована идея была таким образом: «Найти такое значение x, что хеш SHA(x) содержал бы N старших нулевых бит».

Система работала с помощью хеширования частичной инверсии при отправке по имейлу. Для того, чтобы рассчитать заголовок, необходимо около 250 вычислений, которые нужно повторять для каждой отдельной отправки. То есть, отправка обычных писем не могла бы встретить никаких препятствий, однако в случае со спамом необходимость постоянного пересчета стала бы проблемной и неоправданно ресурсоемкой. В свою очередь, проверка валидности кода совершалась быстро – с помощью однократного вычисления с заранее подготовленной меткой.

Сам термин Proof-of-Work возник в 1999 году в статье Ари Джуелс и Маркуса Якобссона «Proofs of Work and Bread Pudding Protocols» для журнала Communications and Multimedia Security.

Proof-of-Work и криптовалюты

Биткоин использует Proof-of-Work как алгоритм достижения консенсуса, то есть подтверждения валидности блокчейна и его частей. Создатель биткоина, Сатоши Накамото, использовал описанную выше идею Hashcash и добавил к ней функцию изменяющейся сложности.

Простыми словами, Proof-of-Work помогает сети удостовериться что участник (а точнее – узел, добавляющий блоки в блокчейн) действительно выполнил задачу. Механизм занимается поиском хеша заголовка блока, который содержит информацию о предыдущем блоке и общее значение включенных в него транзакций. Также, этот блок должен соответствовать текущему уровню сложности.

Данный алгоритм породил индустрию майнинга и послужил причиной разработки специального мощнейшего оборудования, поскольку необходимые для хеширования блоков ресурсы очень велики и сильно превышают мощности самых продвинутых компьютеров.

Большой недостаток этого механизма в том, что гонка за прибыльностью майнинга стала потреблять слишком много электричества. Таким образом, в 2012 году общая мощность сети биткоина превысила мощность самого сильного суперкомпьютера в мире.

Действительно ли сложность вычисления так высока?

Вычисления проводятся только в интерактивном режиме, а их сложность действительно очень высока. Однако, проверка результатов по-прежнему остается простой и быстрой. Механизм всегда может проверить и удостоверится, что конкретный участник сети нашел правильное решение задачи. Однако, процесс нахождения блока не только трудоёмкий, но и случайный и потому невозможно предсказать какой именно из участников найдет блок.

Каждый блок внутри сети показывает, что для его нахождения был проделан определенный путь. Система признает блок валидным только в том случае, если значение его хеша меньше текущей цели.

Каждый новый блок содержит хеш предыдущего, таким образом образуется цепь. Вручную изменть блок нельзя, можно только создать новый при помощи решения сложной задачи и включения в него хеш предыдущего блока. То есть, необходимо так же проделать работу по нахождению предыдущих блоков цепи. Данная задача имеет высокий уровень сложности и таким образом защищает цепь от вторжений, атак, двойных трат и несанкционированного доступа.

Какие еще бывают механизмы консенсуса в криптовалютах?

Данный алгоритм базируется на использовании «доли» в качестве ресурса, который определяет, кто из участников получит право поиска следующего блока. Словом, в случае с Proof-of-Stake шансы сгенерировать новый блок имеет пользователь с наибольшим количеством токенов.

  • Proof of Activity (доказательство активности)

Схема, которая совмещает Proof-of-Stake и Proof-of-Work.

  • Proof of Burn (доказательство сжигания)

«Сжигание» монет происходит с помощью отправки их на адрес, с которого их невозможно потратить. Пользователь избавляется от монет и получает право майнинга, который тоже работает как лотерея среди участников сети.

  • Delegated Proof of Stake (делегированное подтверждение доли)

Консенсус-протокол, который работает на основе подтверждения доли, внесенной участником сети в общую задачу.

  • Proof of Capacity (доказательство ресурсов)

Использует мегабайты в качестве ресурса, требуя выделить достаточный объем дискового пространства, чтобы стать участником майнинга.

  • Proof of Storage (доказательство хранения)

Данная концепция похожа на Proof of Capacity по принципу функционирования, но здесь выделенное место на диске каждого участника используется всей сетью в качестве облачного хранилища.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *