Что такое мята? Как работает Tendermint consensus?

СреднийJan 08, 2024
Tendermint - это новый протокол блокчейна, который направлен на решение проблемы византийской отказоустойчивости с помощью частично синхронной модели сети и детерминированного алгоритма консенсуса. Он разработан как масштабируемый и безопасный и может использоваться для создания как публичных, так и частных блокчейнов.
Что такое мята? Как работает Tendermint consensus?

Мир блокчейна может быть запутанным даже при рассмотрении самых простых протоколов, таких как Биткойн. Все становится гораздо сложнее, когда мы переходим к более новым протоколам, таким как Ethereum, или даже более новым протоколам, которые берут то, чему нас научили поколения 1 и 2, и пытаются развить это новыми идеями и концепциями.

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

Tendermint - это новый протокол, который помогает упорядочить события в распределенной сети в недоброжелательных условиях. Более известная как алгоритм консенсуса Byzantine Fault Tolerant (BFT) или атомарная трансляция, эта проблема привлекла значительное внимание в последние годы в связи с широким успехом цифровых валют на основе блокчейна, таких как Bitcoin и Ethereum.

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

Что Вы узнаете 👉

Более пристальный взгляд на мяту


Tendermint существует в одном стеке с Cosmos, блокчейн-платформой, выполняющей роль посредника и самоописания "Интернета блокчейн"; эта платформа запустила свой блокчейн всего пару дней назад, положив начало практическому существованию экосистемы Cosmos/Tendermint. Вся экосистема работает аналогично Ethereum, только она более модульная, гибкая и на ней легче разрабатывать.

Cosmos SDK выступает в качестве прикладного уровня экосистемы (аналогично EVM в Ethereum), в то время как Tendermint представляет собой как уровень консенсуса (алгоритм консенсуса Proof-of-Stake, устойчивый к BFT), так и сетевой уровень (Tendermint Core).

Алгоритм консенсуса + протокол p2p-сети, объединенные в стек Tendermint Core, подключены к Cosmos SDK через другой отдельный элемент экосистемы, называемый Application Blockchain Interface (ABCI).

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

Именно поэтому Tendermint и Cosmos используют моникер "Интернет блокчейн"; вся система хочет стать хабом, который обеспечит взаимодействие между различными блокчейнами.

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

Это делается для того, чтобы компоненты технологии было проще использовать и исправлять, не прибегая к разработке для всей экосистемы, когда Вы хотите что-то изменить. Главные разработчики Дже Квон и Итан Бакман хотели создать что-то, что было бы легко понять, внедрить и разработать, и Tendermint - это конечный результат их усилий.

⚡️ До появления Tendermint создание блокчейна требовало создания всех трех уровней (сеть, консенсус, приложение) с нуля. Ethereum упростил эту задачу, предоставив блокчейн с виртуальной машиной, на которой каждый может развернуть пользовательскую логику в виде смарт-контрактов. Оставалась одна проблема: разработка самого блокчейна. Tendermint значительно упрощает этот процесс, поскольку разработчикам на нем нужно беспокоиться только о прикладном уровне.

Сетевой и консенсусный уровни уже обеспечены движком Tendermint Core; все, что Вам нужно сделать, это адаптировать ABCI с помощью выбранного языка программирования, разработать свое уникальное приложение и начать использовать возможности Tendermint.

Команда Tendermint сделала нечто подобное, взяв кодовую базу Ethereum, вычеркнув PoW и подключив конечный результат поверх своего ядра Tendermint Core. Это позволило создать Ethermint, протокол, похожий на Ethereum, с возможностью Proof of Stake. Все существующие инструменты Ethereum (Truffle, Metamask, ...) совместимы с Ethermint, и Вы можете перенести туда свои смарт-контракты без каких-либо дополнительных работ.

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

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

Зоны - это обычные гетерогенные блокчейны, а хабы - блокчейны, специально созданные для соединения зон между собой. Когда зона создает IBC-соединение с концентратором, она может автоматически получить доступ (т.е. отправлять и получать от) каждой другой Зоны, которая подключена к ней. В результате, каждой зоне необходимо установить лишь ограниченное количество соединений с ограниченным набором концентраторов.

Концентраторы также предотвращают двойные расходы между зонами. Это означает, что когда Зона получает токен от Хаба, ей нужно доверять только Зоне происхождения этого токена и Хабу. Первый хаб (Cosmos Hub) уже был запущен пару дней назад. Некоторые сети не будут полностью совместимы с Tendermint; для решения этой проблемы разработчики предусмотрели так называемые зоны привязки.

Сама криптография в Tendermint не такая уж продвинутая: подписи ECDSA - самая "экзотическая" технология в экосистеме. Агрегация подписей BLS, доказательства с нулевым знанием и аккаунты Ristretto были упомянуты во время недавней прямой трансляции после запуска, но, похоже, ни одна из этих функций пока не появилась на горизонте.

Технология может быть использована для создания как государственных, так и частных цепочек, причем первые будут работать через PoS, а вторые - через разрешенные узлы; обе системы будут BFT. Блоки на ядре Tendermint Core могут иметь время блока в одну секунду и считаются мгновенно завершенными; в противном случае можно было бы предположить, что сеть подвергается 33%-ной атаке (более трети валидаторов являются вредоносными).

Вредоносные узлы и византийская отказоустойчивость


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

Те немногочисленные исследования, которые были проведены, касались небольших сетей размером до 7 узлов; разработчики Tendermint хотели получить что-то, что могло бы масштабироваться на более высоком уровне. Даже когда Биткойн представил систему, способную поддерживать тысячи независимых узлов, у системы был (и остается) один административный домен, что значительно ограничивает ее масштабируемость.

Квон и его партнеры представляют себе протокол BFT, который может масштабироваться до сотен узлов в условиях отсутствия разрешений, с Proof-of-Stake (PoS) в качестве основного механизма безопасности. Они придумали систему на основе BFT, которая состоит из двух ключевых элементов, которые мы уже назвали: Tendermint Core, который используется для достижения консенсуса и "сплетен", и Cosmos SDK, который служит в качестве прикладного уровня.

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

⚡️ В Биткойне, который считается "полностью синхронным", у нас есть установленный 10-минутный временной интервал, в течение которого узлы должны искать, собирать, подтверждать и добавлять транзакции в блок. В случае с Ethereum этот таймфрейм составляет всего 15 секунд. Все это хорошо до тех пор, пока синхронность не нарушается; некоторые узлы могут выйти из сети и испытывать проблемы с задержкой, и в этом случае цепочка может либо остановиться, либо получить развилку.

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

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

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

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

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

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

Постигая смысл всего этого...


Tendermint - это интересная концепция, которая, возможно, выглядит и звучит сложнее на бумаге, чем на самом деле. По сути, это EOS, обеспечивающий совместимость, и у него много общего с Ethereum и целым рядом проектов-клонов. Основная цель Tendermint - решить проблему совместимости блокчейна, и на этом рынке она сталкивается с сильной оппозицией. Ark, ICON, Polkadot, AION и другие подобные проекты преследуют ту же цель, так что еще предстоит выяснить, кто выйдет на первое место.

Отказ от ответственности:

  1. Эта статья перепечатана с сайта captainaltcoin]. Все авторские права принадлежат оригинальному автору [Добрице Благоевич]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.

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

  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.

Что такое мята? Как работает Tendermint consensus?

СреднийJan 08, 2024
Tendermint - это новый протокол блокчейна, который направлен на решение проблемы византийской отказоустойчивости с помощью частично синхронной модели сети и детерминированного алгоритма консенсуса. Он разработан как масштабируемый и безопасный и может использоваться для создания как публичных, так и частных блокчейнов.
Что такое мята? Как работает Tendermint consensus?

Мир блокчейна может быть запутанным даже при рассмотрении самых простых протоколов, таких как Биткойн. Все становится гораздо сложнее, когда мы переходим к более новым протоколам, таким как Ethereum, или даже более новым протоколам, которые берут то, чему нас научили поколения 1 и 2, и пытаются развить это новыми идеями и концепциями.

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

Tendermint - это новый протокол, который помогает упорядочить события в распределенной сети в недоброжелательных условиях. Более известная как алгоритм консенсуса Byzantine Fault Tolerant (BFT) или атомарная трансляция, эта проблема привлекла значительное внимание в последние годы в связи с широким успехом цифровых валют на основе блокчейна, таких как Bitcoin и Ethereum.

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

Что Вы узнаете 👉

Более пристальный взгляд на мяту


Tendermint существует в одном стеке с Cosmos, блокчейн-платформой, выполняющей роль посредника и самоописания "Интернета блокчейн"; эта платформа запустила свой блокчейн всего пару дней назад, положив начало практическому существованию экосистемы Cosmos/Tendermint. Вся экосистема работает аналогично Ethereum, только она более модульная, гибкая и на ней легче разрабатывать.

Cosmos SDK выступает в качестве прикладного уровня экосистемы (аналогично EVM в Ethereum), в то время как Tendermint представляет собой как уровень консенсуса (алгоритм консенсуса Proof-of-Stake, устойчивый к BFT), так и сетевой уровень (Tendermint Core).

Алгоритм консенсуса + протокол p2p-сети, объединенные в стек Tendermint Core, подключены к Cosmos SDK через другой отдельный элемент экосистемы, называемый Application Blockchain Interface (ABCI).

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

Именно поэтому Tendermint и Cosmos используют моникер "Интернет блокчейн"; вся система хочет стать хабом, который обеспечит взаимодействие между различными блокчейнами.

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

Это делается для того, чтобы компоненты технологии было проще использовать и исправлять, не прибегая к разработке для всей экосистемы, когда Вы хотите что-то изменить. Главные разработчики Дже Квон и Итан Бакман хотели создать что-то, что было бы легко понять, внедрить и разработать, и Tendermint - это конечный результат их усилий.

⚡️ До появления Tendermint создание блокчейна требовало создания всех трех уровней (сеть, консенсус, приложение) с нуля. Ethereum упростил эту задачу, предоставив блокчейн с виртуальной машиной, на которой каждый может развернуть пользовательскую логику в виде смарт-контрактов. Оставалась одна проблема: разработка самого блокчейна. Tendermint значительно упрощает этот процесс, поскольку разработчикам на нем нужно беспокоиться только о прикладном уровне.

Сетевой и консенсусный уровни уже обеспечены движком Tendermint Core; все, что Вам нужно сделать, это адаптировать ABCI с помощью выбранного языка программирования, разработать свое уникальное приложение и начать использовать возможности Tendermint.

Команда Tendermint сделала нечто подобное, взяв кодовую базу Ethereum, вычеркнув PoW и подключив конечный результат поверх своего ядра Tendermint Core. Это позволило создать Ethermint, протокол, похожий на Ethereum, с возможностью Proof of Stake. Все существующие инструменты Ethereum (Truffle, Metamask, ...) совместимы с Ethermint, и Вы можете перенести туда свои смарт-контракты без каких-либо дополнительных работ.

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

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

Зоны - это обычные гетерогенные блокчейны, а хабы - блокчейны, специально созданные для соединения зон между собой. Когда зона создает IBC-соединение с концентратором, она может автоматически получить доступ (т.е. отправлять и получать от) каждой другой Зоны, которая подключена к ней. В результате, каждой зоне необходимо установить лишь ограниченное количество соединений с ограниченным набором концентраторов.

Концентраторы также предотвращают двойные расходы между зонами. Это означает, что когда Зона получает токен от Хаба, ей нужно доверять только Зоне происхождения этого токена и Хабу. Первый хаб (Cosmos Hub) уже был запущен пару дней назад. Некоторые сети не будут полностью совместимы с Tendermint; для решения этой проблемы разработчики предусмотрели так называемые зоны привязки.

Сама криптография в Tendermint не такая уж продвинутая: подписи ECDSA - самая "экзотическая" технология в экосистеме. Агрегация подписей BLS, доказательства с нулевым знанием и аккаунты Ristretto были упомянуты во время недавней прямой трансляции после запуска, но, похоже, ни одна из этих функций пока не появилась на горизонте.

Технология может быть использована для создания как государственных, так и частных цепочек, причем первые будут работать через PoS, а вторые - через разрешенные узлы; обе системы будут BFT. Блоки на ядре Tendermint Core могут иметь время блока в одну секунду и считаются мгновенно завершенными; в противном случае можно было бы предположить, что сеть подвергается 33%-ной атаке (более трети валидаторов являются вредоносными).

Вредоносные узлы и византийская отказоустойчивость


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

Те немногочисленные исследования, которые были проведены, касались небольших сетей размером до 7 узлов; разработчики Tendermint хотели получить что-то, что могло бы масштабироваться на более высоком уровне. Даже когда Биткойн представил систему, способную поддерживать тысячи независимых узлов, у системы был (и остается) один административный домен, что значительно ограничивает ее масштабируемость.

Квон и его партнеры представляют себе протокол BFT, который может масштабироваться до сотен узлов в условиях отсутствия разрешений, с Proof-of-Stake (PoS) в качестве основного механизма безопасности. Они придумали систему на основе BFT, которая состоит из двух ключевых элементов, которые мы уже назвали: Tendermint Core, который используется для достижения консенсуса и "сплетен", и Cosmos SDK, который служит в качестве прикладного уровня.

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

⚡️ В Биткойне, который считается "полностью синхронным", у нас есть установленный 10-минутный временной интервал, в течение которого узлы должны искать, собирать, подтверждать и добавлять транзакции в блок. В случае с Ethereum этот таймфрейм составляет всего 15 секунд. Все это хорошо до тех пор, пока синхронность не нарушается; некоторые узлы могут выйти из сети и испытывать проблемы с задержкой, и в этом случае цепочка может либо остановиться, либо получить развилку.

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

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

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

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

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

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

Постигая смысл всего этого...


Tendermint - это интересная концепция, которая, возможно, выглядит и звучит сложнее на бумаге, чем на самом деле. По сути, это EOS, обеспечивающий совместимость, и у него много общего с Ethereum и целым рядом проектов-клонов. Основная цель Tendermint - решить проблему совместимости блокчейна, и на этом рынке она сталкивается с сильной оппозицией. Ark, ICON, Polkadot, AION и другие подобные проекты преследуют ту же цель, так что еще предстоит выяснить, кто выйдет на первое место.

Отказ от ответственности:

  1. Эта статья перепечатана с сайта captainaltcoin]. Все авторские права принадлежат оригинальному автору [Добрице Благоевич]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.

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

  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.

Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!