Найти в Дзене
#Дружининъ

Изучаем Proof of Stake через его недостатки

[Примечание: Для понимания этой статьи необходимы некоторые знания о криптовалютах. Предполагается, что вы понимаете, что такое блокчейн и Proof of Work.]. Глоссарий Добыча (английский - mining, россиянский - майнинг) - выполнения вычислительной работы в консенсусах основанных на Доказательстве Работы (Proof-of-Work, PoW), результатом которой является доказательство выполненной работы. Добытчик (английский - miner, россиянский - майнер) - участник блокчейн сети, который создаёт блоки, чтобы добыть валюты блокчейна. Доказательство Доли (английский - proof-of-stake, россиянский - пруф оф стейк) - способ выбора участника сети, который будет создавать блок в цепи. В тексте сокращается до ДД. Доказательство Работы (английский - proof-of-work, россиянский - пруф-оф-ворк) - способ выбора создателя блока на основе проведения сложной математической задачи. В тексте сокращается до ДР. Введение В последнее время в криптовалютном сообществе много шумихи вокруг концепции под названием Доказательст
Оглавление

[Примечание: Для понимания этой статьи необходимы некоторые знания о криптовалютах. Предполагается, что вы понимаете, что такое блокчейн и Proof of Work.].

Глоссарий

Добыча (английский - mining, россиянский - майнинг) - выполнения вычислительной работы в консенсусах основанных на Доказательстве Работы (Proof-of-Work, PoW), результатом которой является доказательство выполненной работы.

Добытчик (английский - miner, россиянский - майнер) - участник блокчейн сети, который создаёт блоки, чтобы добыть валюты блокчейна.

Доказательство Доли (английский - proof-of-stake, россиянский - пруф оф стейк) - способ выбора участника сети, который будет создавать блок в цепи. В тексте сокращается до ДД.

Доказательство Работы (английский - proof-of-work, россиянский - пруф-оф-ворк) - способ выбора создателя блока на основе проведения сложной математической задачи. В тексте сокращается до ДР.

Введение

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

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

Сначала я вкратце расскажу о том, что такое Доказательство Доли (далее - ДД) и какую проблему эта концепция пытается решить.

Проблема, которую пытается решить ДД, связана с потреблением энергии. Если вы хоть немного знакомы с блокчейн технологиями, вы знаете, что Доказательство Работы (далее - ДР) используется для того, чтобы решить, кто будет проверять транзакции и создавать блоки и отправлять результаты создания в сеть, получая взамен "вознаграждение", а также собирая комиссии за транзакции, указанные людьми, которые отправляют транзакции. ДР - это название сложнейшей вычислительной головоломки, которую добытчики должны решить, чтобы получить вознаграждение за блок. Добытчики прилагают огромные усилия для увеличения своей вычислительной мощности, поэтому в добывающих центрах установлено оборудование стоимостью в миллионы долларов. Производители видеокарт даже создали специализированное оборудование, настроенное на то, чтобы решать конкретную головоломку быстрее, чем другие карты. По некоторым оценкам, для решения этих головоломок ежегодно расходуется 32 ТВт энергии, что достаточно для электроснабжения нескольких регионов России.

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

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

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

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

-2

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

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

И так оно и есть. У любой криптовалюты основанной на ДД возможно будут серьезные недостатки. В настоящее время существует множество монет, использующих ДД, и все они решают эти проблемы совершенно по-разному.

А теперь поговорим конкретнее про недостатки - уязвимости.

Уязвимость "Ничего не теряем"

Английский термин Nothing-at-Stake.

-3

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

Инженеры используют понятие "консенсус" для обозначения процесса, посредством которого блоки добавляются в блокчейн. Если два разных добытчика подтвердят один и тот же блок в одно и то же время и передадут свои блоки в сеть, то в этот момент одновременно будут существовать две конкурирующие версии цепи. Биткойн (и большинство валют с ДР) решает эту проблему, принимая ту цепочку, которая в итоге растёт дольше и быстрее. Такой способ определения того, какая цепочка является "главной", называется механизмом "консенсуса", и он чрезвычайно важен для биткоина и других криптовалют. Если бы существовало множество различных блокчейнов биткоина, и никто не знал, какой из них пользоваться, валюта была бы бесполезной.

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

Уязвимость "Ничего не теряем" основана на том, что голосование на конкретной версии цепи с ДД не требует никаких ресурсов и, следовательно, не имеет издержек. В отличие от ДР, где добытчики должны выбирать, на какую цепочку направить свои добывательные мощности, исключая другие цепочки, в ДД добытчики могут ставить свои монеты на любую существующую версию цепи ДД. Поскольку нет никаких затрат на добычу на конкретной версии цепи, то добытчики "ничего не теряют". Поэтому рациональные добытчики должны просто добывать на каждой конкурирующей ветви, которую они видят, чтобы максимизировать сумму прибыли от добычи, которую они получают.

В своем эссе "На кону" Виталик предлагает два способа решения проблемы "ничего не теряем":

  1. Ввести в протокол способ наказывать тех, кто "двусмысленно" высказался по данному блоку, т.е. проголосовал за две разные его версии.
  2. Ввести в протокол способ наказывать тех, кто проголосовал за неправильный блок, независимо от того, проголосовали ли они дважды.

Среди валют с ДД, каждая из них решает проблему "ничего не теряем" немного по-разному:

  • CASPER решает эту проблему путем введения в протокол "штрафа за неправильное голосование", который позволяет пользователям предоставить доказательство голосования добытчиков по неправильной цепи, чтобы потом наказать добытчика за неправильное голосование.
  • В Peercoin, чем дольше ваша монета находится в залоге, тем больше вероятность того, что вы сможете добыть следующий блок. Клиенты Peercoin используют цепочку с "наибольшим количеством использованных монет", т.е. ту, в которой сумма общего количества монет, поставленных на каждый блок, умноженная на время, в течение которого эти монеты были поставлены, максимальна.
  • Клиенты NXT решают эту проблему, не имея никакого вознаграждения за блок, и просто позволяют транзакционным сборам диктовать процесс. Кроме того, клиенты NXT используют так называемую "кумулятивную сложность", чтобы прийти к консенсусу по цепочке.

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

Уязвимость "Дальнобойная атака"

Английский вариант название Long-range attacks.

-4

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

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

Большинство клиентов, например, Casper и NXT, решают эту проблему окольным путем, требуя в своих протоколах, чтобы только блоки с определенным набором предшествующих блоков (720 в случае NXT) могли быть оспорены, в то время как остальные являются частью "основной цепи". Однако это просто меняет масштаб проблемы. Согласно этому протоколу, узлы имеют неопределенное поведение, когда они:

  1. возвращаются в сеть через время, превышающее количество времени в "окне", заданное клиентом
  2. выходят в сеть в первый раз.

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

Слабая субъективность

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

Все блокчейны с ДД имеют эту проблему.

  • Peercoin, например, просто обходит ее, ежедневно передавая хэш "законной" цепи.
  • NXT просто игнорирует эту проблему, заявляя в своей вики, что поскольку клиенты автоматически отклоняют любые изменения, произошедшие более 720 блоков назад, они не подвержены "дальнобойным атакам". Однако это просто означает, что они уверены в том, что никакая значительная часть сети не станет жертвой атаки раньше, чем через 720 блоков в прошлом. Тем не менее, они признают существование проблемы: "Из-за крайне низкой вероятности того, что какая-либо учетная запись возьмет под контроль цепь, создав свою собственную цепочку блоков, транзакции считаются безопасными, как только они закодированы в блок, который на 10 блоков отстает от текущей высоты блока".
  • Виталик признает, что CASPER должен будет зависеть от доверенных узлов, которые будут передавать правильный хэш блока.

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

Однако в FAQ по ДД Виталик выдвигает аргумент, почему слабая субъективность вряд ли может сама по себе привести к компрометации цепи:

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

Заключение

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

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

Если мы хотим обуздать огромное потребление криптовалютами энергоресурсов, то нам снова придется доверять друг другу, а не математическим доказательствам.

P.S.:

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