Алгоритмы консенсуса блокчейна: PoW, PoS и другие

2
ПОДЕЛИТЬСЯ

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

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

Блокчейн позволяет упорядочивать и верифицировать транзакции в распределённом реестре и, в конечном счёте, обеспечивает достоверную запись истории.

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

Происхождение доказательства выполнения работы

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

Может ли армия при таком сценарии реализовать какую-нибудь стратегию?

Да, может, но для этого выбранную стратегию должно поддержать большинство (т. е. 51% или больше генералов).

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


По словам создателя Ethereum Виталика Бутерина, цель алгоритма консенсуса – «сделать возможным безопасное обновление состояния согласно определённым правилам смены состояний, где право производить смену состояний распределено между определённым экономическим множеством».

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

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

Основные недостатки PoW

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

Более того, майнинг – дело дорогостоящее. По некоторым оценкам, стоимость всего электричества, ежегодно уходящего на майнинг Биткойна, составляет порядка $500 млн. В одном исследовании всё энергопотребление майнинга Биткойна даже сравнили со средним потреблением электричества Ирландии. И это только Биткойн – есть масса новых криптовалют, использующих ту или иную разновидность алгоритма PoW.

Кроме того, в процессе майнинга, как правило, используется продвинутое и дорогое фирменное оборудование. В результате майнеры массово скупают это оборудование, что, в свою очередь, привело к активным разработкам производителями максимально продвинутого специализированного аппаратного обеспечения для майнинга. Возьмём, к примеру, интегральные схемы специального назначения (ASIC) – высокоспециализированное оборудование, специально разработанное для майнинга Биткойна и других криптовалют. Хотя ASIC существенно улучшают эффективность процесса майнинга, уникальный характер такого нишевого оборудования делает его достаточно дорогим. Разработки ASIC сейчас в значительной степени сосредоточены в Китае – стране, где электричество также сравнительно дёшево. Так как китайские производители ASIC существенно мотивированы просто майнить биткойны для себя – и действительно это делают, – это привело к тому, что, по оценкам, 60-70% всей вычислительной мощности Биткойна сосредоточено в этой единственной стране.

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

Доказательство доли владения (Proof-of-Stake, PoS)

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

В алгоритме PoS токены выдаются подтверждающим узлам в самом начале существования сети. То есть, в отличие от PoW, с добавлением в реестр новых блоков токены не создаются (хотя есть блокчейны, использующие гибридный алгоритм PoW/PoS, допускающий майнинг PoW с последующим переходом к PoS). Каждые несколько секунд или минут выбирается узел, записывающий новый блок. Но чем больше у узла монет, тем больше его вес в определении того, что в реестре считается истиной. Следовательно, на выбор сильно влияют те, у кого больше всего монет, – чем больше они инвестировали в сеть, тем больше могут потерять, если что-то пойдёт не так. Ещё один влияющий фактор – время владения монетами, что указывает на то, инвестировал ли пользователь долгосрочно, – что явно более желательная позиция, чем кто-то, кто купил монеты лишь вчера.

Таким образом, те, чья доля в сети больше, считаются более надёжными и менее склонными атаковать сеть. Чтобы осуществить атаку, пользователю понадобилось бы купить 51% монет всей сети. Это дорого и бессмысленно – у пользователя нет мотивации атаковать сеть, в которую он столько вложил. Атаковать самого себя – явно нелогично. (Прим.ред.: Примечательно, что та же самая аргументация применима и к майнерам PoW. Вложившись в дорогостоящее оборудование, у них нет мотивации атаковать сеть, роняя цену монеты, которую они же и добывают).

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

Проблема «ничего на кону»

Одна из чаще всего упоминаемых проблем доказательства доли владения известна как «ничего на кону». В блокчейнах с PoW существует стимул продолжать майнить в самой длинной цепочке реестра, поскольку эта цепочка будет считаться главной версией истины и той, которая даёт майнерам их вознаграждения. Таким образом, майнеры явно мотивированы майнить в этом единственном блокчейне.

Но в случае PoS мало что мешает майнеру майнить в нескольких блокчейнах с PoS, особенно с учётом того, что вычислительные издержки для «майнера» при участии в этом алгоритме ничтожно малы. Таким образом, гипотетически, при участии майнеров в нескольких блокчейнах с PoS, сети может быть сложно достичь консенсуса, причём злоумышленник может попытаться переписать историю.

Данная проблема особенно актуальна, когда в блокчейне происходит форк (как в случае Ethereum, от которого ответвился Ethereum Classic). В таких ситуациях валидаторы, использующие PoS, могут сделать ставки в обоих блокчейнах, вследствие чего становится проще изменить истину в их пользу и получить прибыль. Отчасти для решения этой проблемы Ethereum сейчас переходит с PoW на новую стратегию консенсуса под названием Casper, которая использует алгоритм PoS. Переход должен сделать обработку новых блоков в блокчейне намного более эффективной, причём будет использоваться механизм, наказывающий участников, пытающихся делать ставку в двух разных блокчейнах. Многие крупнейшие криптовалюты одна за другой представляют дальнейшие совершенствования модели PoS.

В числе самых популярных – алгоритм делегированного доказательства доли владения (Delegated Proof of Stake, DPoS), разработанный Дэном Ларимером, движущей силой нескольких высококлассных блокчейн-проектов, включая BitShares, Steemit и EOS. DPoS отличается от PoS тем, что процесс валидации выполняет группа делегатов, избранных пользователями сети и имеющих отдельные узлы для майнинга блоков. Поскольку эти делегаты считаются надёжными, это частично решает проблему «ничего на кону». А популярная китайская платформа NEO использует алгоритм под названием делегированная византийская отказоустойчивость (Delegated Byzantine Fault Tolerance), которая применяет процесс делегированного голосования для предотвращения раскола блокчейна надвое. Ripple, между тем, использует собственный «реестр консенсуса», позволяющий определять истину в системе не технологии, а участникам и истории. И продолжает появляться множество других алгоритмов консенсуса, каждый из которых решает уникальные проблемы того или иного применения блокчейна:

Обзор механизмов распределённого консенсуса

Нажмите, чтобы увеличить.
Перевод инфографики: bitnovosti.com / источник

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

Источник

2 КОММЕНТАРИИ

  1. Почему все пишут «сложные высислительные действия»? Я так понимаю, что вычислительнве действия не сложные, а просто очень частые.
    Это похоже на решение уравнения методом подбора, которое нельзя решить аналитически. Кто нашел решение, тот получает ПРАВО создать блок.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here