Алгоритм Proof of Work - популярный протокол достижения консенсуса для криптовалют, чьи позиции теснят альтернативы - PoS, PoC и др.

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

Понятие и принцип алгоритма Proof of Work

Итак, PoW-технологии и Proof of Work – что это? PoW, как следует из сказанного выше – алгоритм, по которому достигается консенсус в некотором блокчейне. Термин переводится как «доказательство выполнения работы», обычно фразу сокращают до PoW. С помощью этого алгоритма майнеры конкурируют за получение вознаграждения за найденный блок и за подтверждение сетевой транзакции.

PoW – самый «старый» алгоритм консенсуса, использованный в 2009 году в сети биткоина. Первое описание протокола появилось еще в 1993 году, в контексте борьбы со спамом.

Необходимость подтверждения обусловлена самой технологией блокчейна. Как происходит перевод в сети, например, BTC:

  • пользователи отправляют друг другу токены (обмен, продажа и т. д.);
  • сформированные ими транзакции компонуются в блоки;
  • майнеры делают процедуры вычисления, подтверждающие легитимность транзакций и блока;
  • первый, кто решил задачу по блоку, получает вознаграждение;
  • блоки попадают в общий распределенный реестр – блокчейн.

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

В случае с алгоритмом Proof of Work используется вычисление хеш-функции – контрольной суммы от данных, содержащихся в транзакции и блоке. PoW позволяет:

  • избежать коллизий в сети;
  • противостоять DDoS-атакам, когда система зависает и теряет возможность обрабатывать пользовательские запросы;
  • бороться со спам-запросами.

Коротко работу алгоритма можно описать так: протокол Proof of Work позволяет ноде проверить, что другой узел, желающий добавить в цепочку новый блок (майнер), выполнил требуемые расчеты, и сделал это правильно. Если система убеждается, что расчеты верны, блок включается в блокчейн.

Сложность и вознаграждение

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

Например, алгоритм BTC создан так, чтобы новый блок открывался в среднем за 10 минут, и сложность увеличивается автоматически. Сегодня, с учетом большого числа пользователей и задействованных мощностей, она весьма высока. Если в начале жизненного цикла биткоина майнить новые монеты можно было даже на относительно слабых видеокартах, сегодня для этого требуются специальные, дорогие и высокопроизводительные устройства – ASIC майнеры.

Рисунок 1. График роста сложности добычи BTC с 2009 года.

Вознаграждение за открытый блок распределяется следующим образом:

Рисунок 2. Принцип распределения наград.

Т. е., решение может быть найдено несколькими узлами, но выплату получит тот, кто первым отправил на сервер правильно вычисленный хеш.

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

Особенности протокола

PoW обладает двумя характерными особенностями;

  • для исполнения консенсуса приходится решать длительную и сложную математическую задачу;
  • проверка результата, в отличие от решения, делается очень быстро.

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

Можно изобразить схематически работу алгоритма:

Рисунок 3. Хеширование в PoW.

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

Производимые вычисления

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

Хеширование частичной инверсии, нашедшее применение в системе Hashcash. Изначально эта система использовалась в решениях борьбы со спамом и DDoS-атаками, а позднее вошла в сеть биткоина и иных криптовалют в качестве части алгоритма.

Функции, базирующиеся на Merkle Tree (деревьях Меркла). Применительно к криптовалютам самый известный пример имплементации деревьев Меркла – биткоин, использующий упомянутое выше многоуровневое хеширование: каждый последующий блок, помимо собственного хеша, содержит и хеш предыдущего.
Пример дерева Меркла:

Рисунок 4. Простой пример дерева Меркла для четырех транзакций (A, B, C и D).

Здесь Merkle Root – блок, содержащий суммарную информацию о четырех предыдущих, с отсылками на хеши ранее сгенерированных блоков.

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

Также используются:

  • функции Диффи-Хеллмана;
  • протокол Фиата-Шамира и другие методы.

Видеообзор PoW:

Преимущества PoW

Алгоритм, когда создаваемый блок сети подписывается доказательством работы майнера, а сложность доказательства изменяется соответственно хешрейту системы, получил название Консенсуса Накамото, по имени создателя (или коллектива авторов) биткоина. Его плюсы:

  • Избежание так называемой «Атаки Сибиллы», когда создается множество фейковых нод, чья совокупная вычислительная мощность выше таковой у «легальных» пользователей, соответственно, вычисления в сети злоумышленника имеют больший «вес». Сейчас такая атака почти неосуществима, поскольку требуются огромные мощности, а подделать или как-то эмулировать их невозможно.
  • Полученное через PoW доказательство нельзя перенести на другой блок цепочки или подделать.
  • Невозможно и «сделать» доказательство заранее – каждый блок ссылается на предыдущий.
  • Добыча монет происходит честно: награда за майнинг распределяется в зависимости от вклада пользователя в общий хешрейт. Чем больше вычислительной мощности задействовано, тем выше награда.
  • Майнеры имеют стимул не нарушать протокол работы, поскольку нелегальные действия лишат их заработка.

Кроме того, консенсус Накамото делает систему устойчивой к цензуре (сеть децентрализована, ее работу нельзя проконтролировать, невозможно модифицировать или заменить блок), а легкость проверки позволяет системе оставаться объективной: для контроля правильности доказательства работы нужно только вычислительное устройство и блокчейн.

Где используется PoW

Самый известный пример – это Bitcoin и его «младшие братья», такие как Litecoin, Dogecoin, и др. Схожие принципы эксплуатируются и в сети Ethereum, где новые монеты также добываются посредством майнинга. Многие из реализуемых на платформе эфира приложений также используют консенсус PoW.

Таблица 1. Несколько популярных монет с консенсусом PoW.

ВалютаТикерАлгоритм хеширования
BitcoinBTCSHA256
EthereumETHEthash
Bitcoin CashBCHSHA256
DashDASHX11
LitecoinLTCScrypt
MoneroXMRCryptoNight
Ethereum ClassicETCEthash
ZcashZECEquihash

Недостатки консенсуса

У доказательства выполнения работы есть и некоторые недостатки.

  • Огромные вычислительные мощности.

Чтобы работать над хешированием, требуются значительные мощности: так, биткоин майнить на относительно дешевых видеокартах не получится, требуются мощные майнеры, стоящие многие сотни тысяч рублей. Помимо затрат на дорогое оборудование, придется тратиться и на энергию, и эти затраты могут быть весьма велики. Например, крупнейшая русская майнинг-ферма тратит, по примерным подсчетам, около 6 миллионов в месяц «на свет».

  • Повышение централизации сети.

Этот пункт вытекает из предыдущего. По мере роста сложности стоимость оборудования перестает быть доступной «простым» пользователям, добывать блоки и подтверждать транзакции могут только большие сообщества майнеров или состоятельные люди/компании с мощными майнинг-фермами. И это ведет к централизации, поскольку обладатели больших мощностей начинают диктовать правила сети. Одиночки с небольшими возможностями майнить уже не могут.

  • Высокое энергопотребление и бесполезность вычислений.

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

  • Экологический аспект.

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

  • Подверженность атаке «51%».

В общих чертах она описывалась выше: атака возможна, если злоумышленник контролирует 51% хешрейта сети или более. Атакующий может вмешиваться в ход проведения транзакций, отменяя их и проводя другие манипуляции, поскольку его мощности выше, а значит, будет принята именно «его» цепочка, а не легальная.

Сегодня такие атаки малоосуществимы из-за крайне высокого хешрейта.

Перспективы Proof of Work

PoW остается самым «старым» и известным методом обеспечения работы криптовалютных проектов. Но многие считают его эволюционно устаревшим, и появляющиеся в последнее время криптовалюты используют альтернативные варианты консенсусов – Proof of Stake, Proof of Capacity (майнинг на жестких дисках) и др. Эти консенсусы требуют меньших вложений для конечного потребителя и более доступны.

Если они покажут себя достаточно успешными, PoW-технологии майнинга и подтверждения могут в перспективе отойти на задний план. Так, еще в ноябре 2017 года состоялся релиз протокола Casper для сети Ethereum – реализации алгоритма Proof of Stake, а в 2018 году планируется реализовать полный переход на этот консенсус с целью ухода от последствий дальнейшего увеличения сложности.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: