Сравнение алгоритмов консенсуса: Casper против Tendermint (часть 3)

image

Casper

Proof-of-Stake на основе цепочки

Proof-of-Stake на основе цепочки имитирует консенсус Proof-of-Work в том плане, что протокол присваивает право создания одного нового блока псевдослучайно выбранному валидатору, где новый блок связан хэшем с родительским блоком ранее самой длинной цепочки. PoS на основе цепочки опирается главным образом на синхронные сети, обычно с приоритетом в пользу доступности данных перед их корректностью. Обе версии протокола Casper представляют собой адаптации ключевых идей Tendermint, но с приоритетом в пользу жизнеспособности сети перед её безопасностью.

Casper the Friendly Finality Gadget

Если Casper the Friendly Ghost – это явная PoS-конструкция, то Casper the Friendly Finality Gadget (CFFG) представляет собой PoS-оверлей, накладывающийся поверх существующего PoW-механизма предложений Ethereum, гибридную PoW/PoS реализацию, работа над которой ведётся под руководством Виталика Бутерина.

Ни протокол консенсуса Биткойна, ни протокол консенсуса Ethereum, не принимают «окончательных» решений, и блоки потенциально могут быть реорганизованы в пределах некоторой прошлой высоты блока. Блок считается «окончательным», когда нет возможности его пересмотра. Поскольку Proof-of-Work подобных гарантий не предполагает, то, с точки зрения консенсуса, он в действительности не считается безопасным. Вместо этого, блоки становятся вероятностно в большей степени финализированными по мере того, как мы продвигаемся глубже в историю цепочки. Реализация в блокчейне Эфириума логики CFFG может идеальным образом привнести в него свойства окончательности и устойчивости перед атаками 51%.

Casper Friendly Finality Gadget будет разворачиваться в несколько этапов, с тем, чтобы со временем осторожно полностью заменить PoW-модель безопасности Ethereum на PoS. Первая итерация Casper будет реализована в виде гибридного PoW/PoS-протокола, описываемого в этом разделе. Окончательная итерация Casper, по-видимому, будет представлять собой полноценный PoS-протокол, построенный с учётом опыта реализации CFFG и CTFG.

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

Логика работы Casper кроется в смарт-контракте. Для того чтобы стать валидатором в Casper, нужно либо быть держателем эфиров (ETH), либо отправить некоторое количество ETH на смарт-контракт Casper для использования в качестве доли. Механизм предложения блока в первой итерации Casper остаётся прежним: он по-прежнему использует PoW-консенсус Накамото, в котором майнеры формируют блоки. Однако при финализации блоков в дело вступает PoS-оверлей Casper, валидаторы которого голосуют за блоки, сформированные PoW-майнерами.

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

Процесс финализации контрольной точки одну эпоху назад будет занимать две эпохи, т. е. два раунда голосования. Например, когда более ⅔ валидаторов, называемые «квалифицированным большинством», голосуют за контрольную точку c, то эта контрольная точка считается «подтверждённой». Теперь в следующей эпохе, когда квалифицированное большинство валидаторов голосуют по поводу контрольной точки c, происходят две вещи: c становится подтверждённой, а c финализируется. Эпоха c в этом случае будет рассматриваться как последняя финализированная эпоха (LFE).

В обзоре блок 1 считается финализированным, f, после выполнения двух условий:

  1. Квалифицированное большинство (более ⅔) валидаторов проголосовалоза блок 1 в эпохе 1, тем самым подтвердив блок 1.
  2. Квалифицированное большинство (более⅔) валидаторов проголосовалоза блок 2 в эпохе 2, прямой дочерний блок по отношению к блоку 1, тем самым финализировав блок 1 в период эпохи 2.

В идеальном исполнении, блок финализируется через выполнение следующих шагов:

⅔ голосуют за блок 1 → блок 1 подтверждается → ⅔ голосуют за блок 2 → блок 1 финализируется

  • Где блок 2 является прямым дочерним блоком по отношению к блоку 1.
1_744z4QUKEC5aGo8UT43m9Q.png

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

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

Теперь, что произойдёт, если майнер решит провести PoW-атаку методом грубой силы? Финализированный блокчейн Casper исключает изменение истории транзакций за пределами последней контрольной точки, даже если проводящие PoW-атаку майнеры будут обладать 51% или более хэширующих мощностей. Таким образом, протокол Casper гарантирует безопасность. В отличие от Casper the Friendly Ghost, поскольку Casper the Friendly Finality Gadget представляет собой просто оверлей, надстроенный над отдельным механизмом предложений, Casper не может гарантировать жизнеспособность, так как жизнеспособность зависит от механизма предложений.

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

Краткий перечень свойств

  • Финализация~20 минут до финализации. Финализация блоков через каждые 50 блоков (эпоху) делает блокчейн в будущем устойчивым к атакам методом грубой силы со стороны PoW-майнеров.
  • Безопасность консенсуса.
  • Доказуемая жизнеспособность.
  • Приоритет в пользу доступности.

Casper the Friendly Ghost

Casper the Friendly Ghost (CTFG) – это correct-by-construction (CBC) (проектируемый путём последовательного улучшения конструкции) протокол консенсуса, разработанный Владом Замфиром для противостояния олигополистической среде реального мира. CFTG – это адаптированный для PoS вариант протокола Greedy Heaviest-Observed Subtree («Жадное и самое весомое видимое поддерево») – или протокола GHOST в PoW – который был выбран из-за его правила выбора форка. Направляющий принцип Casper the Friendly Ghost основан на криптоэкономике с использованием формальных методов, направленных на получение оценочной безопасности. CTFG представляет собой чистый Proof-of-Stake-концепт, в отличие от гибридного протокола Casper the Friendly Finality Gadget, описанного в предыдущем разделе.

«Casper создавался как просто адаптация GHOST к алгоритму Proof-of-Stake, дополненная стимулами, призванными сделать картель более «дружественным» к валидаторам не из числа картеля.»

– Влад Замфир, «История Casper» – Глава 5

Подобно другим протоколам с Proof-of-Work, Casper the Friendly Ghost (CTFG) разработан с приоритетом в пользу доступности данных перед их корректностью. В частности, блоки в нём не финализируются; скорее они становятся «надёжнее» по мере дальнейшего роста сети. Casper the Friendly Ghost похож на CFFG в том, головная часть цепочки всегда прогрессирует быстрее, чем блоки финализируются.

Ключевое отличие PoS-механизма предложений Casper от Tendermint заключается в том, что, вместо псевдослучайно выбираемых лидеров, валидаторы в последнем могут предлагать блоки, исходя из тех блоков, которые они видели.

Уникальная функциональность, предлагаемая Casper – это настраиваемые параметры порогов безопасности. Подобно тому как в Биткойне требуется 6 подтверждений для определения экономической завершённости, «оценочная безопасность» в CTFG гарантирует, что один валидатор может иметь отличный от другого валидатора порог безопасности. Цель дизайна Casper заключается в том, чтобы позволить валидаторам выбирать свой порог устойчивости к ошибкам, в то время как сеть поддерживает низкое значение Proof-of-Work.

Основное преимущество Casper перед Tendermint – это количество валидаторов, которое сеть может вместить в любой момент времени. Поскольку создание блока в Tendermint требует финализации в момент создания, интервалы между блоками должны быть короткими. И для того чтобы достичь коротких интервалов между блоками, необходимо ограничивать количество PoS-валидаторов Tendermint. Поскольку ни CTFG, ни CFFG, не требуют гарантированной безопасности в момент создания блока, сеть Ethereum сможет вместить намного больше, чем, скажем, 100 валидаторов.

Краткий перечень свойств

  • Доступный. Ноды Casper могут иметь свои форки до тех пор, пока они не пришли к консенсусу.
  • Асинхронно безопасный.
  • Живой. Решения Casper могут существовать в частичной асинхронности, но не существуют в асинхронности.
  • Устойчивый к образованию картелей. Весь замысел Casper построен на сопротивлении олигополистическому атакующему, так что никакая тайная группа валидаторов не может обойти протокол.
  • Безопасность. Зависит от оценочного порога безопасности каждого валидатора.

Дальнейшая работа

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

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

Вторым направлением будущей работы могло бы стать применение более совершенной криптографии для уменьшения размера подписей в заголовках блоков. Поскольку, посредством Cosmos, мы строим «интернет блокчейнов», то движение лёгких клиентских доказательств с одного блокчейна в другой является нашей ключевой задачей. С этой точки зрения, было бы чрезвычайно выгодно использовать более передовую криптографию, чтобы снизить размер заголовков блоков в тридцать или более раз. Сейчас, при 100 валидаторах, заголовки блоков в Tendermint «весят» чуть меньше 4 Кбайт и они полны подписей валидаторов. Используя более продвинутую криптографию, мы можем сделать так, чтобы 100 подписей занимали объём от 3,2 Кбайт до 64 байт.

Существуют также и способы оптимизации peer-to-peer слоя, чтобы мы смогли снизить количество peer-to-peer траффика, необходимого для финализации блока. В перспективе это не только позволит сжать объём данных, помещаемых в заголовок блока, но и сократить количество данных, отправляемых каждому одноранговому узлу. Это позволило бы Tendermint вместить намного большее число валидаторов по сравнению с изначальным порогом в 100 валидаторов, с которым может работать сеть Cosmos.

Источник



Рубрики:Виталик Бутерин, Теория, Ethereum, эфир

Метки: , ,

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

w

Connecting to %s