Космос, встречай CometBFT

Feb 02 2023
Сегодня мы объявляем о запуске CometBFT, механизма репликации конечного автомата для интерчейна и не только! CometBFT является ответвлением и преемником Tendermint Core и будет служить официальным механизмом репликации, поддерживающим стек Interchain. Долгосрочное видение CometBFT состоит в том, чтобы стать основным механизмом репликации для надежных, безопасных, крупномасштабных блокчейнов для конкретных приложений.

Сегодня мы объявляем о запуске CometBFT, механизма репликации конечного автомата для интерчейна и не только! CometBFT является ответвлением и преемником Tendermint Core и будет служить официальным механизмом репликации, поддерживающим стек Interchain . Долгосрочное видение CometBFT состоит в том, чтобы стать основным механизмом репликации для надежных, безопасных, крупномасштабных блокчейнов для конкретных приложений. Зафиксируйте свои блоки с CometBFT сегодня!

Interchain Foundation, Informal Systems, команда Cosmos SDK и многие другие команды экосистемы Cosmos работали вместе над подготовкой этого запуска. В этом посте рассматриваются некоторые из наиболее важных вопросов, связанных с этим запуском. Будьте уверены, мы прилагаем все усилия, чтобы сделать обновление или внедрение CometBFT как можно более плавным. Мы расскажем об основных деталях, видении и целях CometBFT, командах, стоящих за этой работой, и следующих шагах с точки зрения технических последствий.

Почему сейчас?

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

С технической стороны интерчейн значительно изменился за последние пару лет. Мы живем в многосетевом мире IBC. ABCI 2.0 — важная часть, отсутствующая в стеке Interchain, равно как и аспекты дизайна или обеспечения качества, такие как модульность, интеграция или тщательное тестирование. Кроме того, отказ от выпусков Tendermint Core v0.35 и v0.36 выявил технические ограничения того, как велась разработка; см . здесь для более подробной информации.

В 2022 году организации, поддерживающие стек Interchain, инициировали стратегический подход к смягчению вышеуказанных технических ограничений. Этот подход включал создание и выделение полной команды для Tendermint Core в Informal Systems. Кроме того, при подготовке релизов мы начали уделять приоритетное внимание качеству и интеграции с остальным стеком Interchain (например, Cosmos SDK, IBC и более широкими строительными блоками Interchain).

Что касается административной стороны, мы не владеем ни организацией Tendermint GitHub, ни правами на товарный знак «Tendermint». All in Bits (AiB) является владельцем. Разработка программного обеспечения Tendermint Core велась вне All in Bits в течение последних трех лет. Однако право собственности AiB на товарный знак создавало постоянный риск судебного разбирательства в отношении товарного знака. Без сложных соглашений с AiB было бы невозможно полностью снизить этот риск, нависший над головами разработчиков наиболее важной части стека Interchain.

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

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

Что дальше?

Как преданный управляющий экосистемой Cosmos и межсетевых цепей, Interchain Foundation служит надежным хозяином для финансирования и активов общественных благ. ICF является владельцем товарного знака «Космос» с момента его создания и защищает его использование в интересах более широкого сообщества. Точно так же ICF зарегистрировала торговую марку «CometBFT» и создала организацию CometBFT GitHub и намерена управлять ими в долгосрочной перспективе в интересах растущей межсетевой сети. CometBFT останется с открытым исходным кодом и лицензированным Apache2.0. Мы приглашаем все заинтересованные стороны внести свой вклад в рост и развитие этого программного обеспечения и продвигать его ценности с открытым исходным кодом.

Как упоминалось ранее, долгосрочный мандат CometBFT заключается в том, чтобы быть основным механизмом репликации для интерчейна. Команда CosmosSDK, команды IBC, специалисты по сопровождению CometBFT и многочисленные инженерные группы, составляющие интерчейн, как на уровне приложений, так и на уровне общественных благ, разделяют общее видение того, как сделать CometBFT местом, где команды могут экспериментировать с новыми функциями, создавать итерации с оптимизацией и обеспечение высокой степени гибкости для пользователей при сохранении целостности и надежности стека. Если вы являетесь участником Interchain Stack, управляете валидаторами или узлами, интегрируетесь с другими экосистемами или находите свой путь в Cosmos в качестве нового пользователя, ваша помощь будет очень признательна для воплощения этого в жизнь. См. раздел «Ссылки» ниже, чтобы узнать, как с нами связаться.

Каковы цели CometBFT?

Как описано выше и ранее , это знаменует собой новую фазу в межцепочке. Его механизм консенсуса развивается, чтобы стать строительным блоком, специализированным для мира IBC. Мы стремимся продолжать тесное сотрудничество с командой Cosmos SDK и текущими пользователями, способствуя адаптации растущей экосистемы разработчиков приложений, использующих ABCI и IBC. Основная долгосрочная цель CometBFT — сыграть ключевую роль в поддержке роста межцепочечной сети.

В частности, целями CometBFT являются:

  1. Сильная ориентация на пользователя с четко сформулированной стратегией продукта, которая в первую очередь учитывает потребности пользователей. Это стратегический выбор для обеспечения актуальности и полезности CometBFT.
  2. Улучшение гарантий качества и правильности, направленное на строгое определение и тестирование нашей реализации с использованием передовых методов, таких как тестирование на основе моделей. Мы используем наш опыт в спецификациях и формальных методах для усиления существующего контроля качества, который уже был дополнен крупномасштабными усилиями по тестированию.
  3. Модульность , фокусирующаяся на правильных границах абстракции, позволяющая разбирать систему, если и где это необходимо, позволяющая осуществлять поэтапную интеграцию в проекты, которые от нее зависят. Мы хотим, чтобы CometBFT можно было все чаще использовать в качестве библиотеки, а также минимизировать разветвления и фрагментацию, предоставляя новые интерфейсы для поддержки постоянно растущего набора вариантов использования.
  4. Более быстрое развертывание функциональности без ущерба для качества за счет постепенного обновления архитектуры системы, чтобы она служила надежной платформой для изменений, а также за счет более плавной координации проектов по всему стеку Interchain.

Кто стоит за CometBFT?

Запуск CometBFT был решением многих организаций. CometBFT находится под управлением Informal Systems в сотрудничестве с большим количеством заинтересованных сторон Cosmos. Запуск включал работу нескольких команд внутри сети, включая Cosmos SDK, IBC, Osmosis, Cosmos Hub, а также координацию с Agoric, Axelar, Oasis, Penumbra, Celestia, Anoma, Skip, Umee, Confio, Nomic, Numia, Sei, Evmos. , Сомелье, Андромеда, Кронос и многие другие.

Команда CometBFT в Informal состоит из самых талантливых и увлеченных участников Cosmos. Вслед за новостями в Твиттере мы представим членов основной команды, а также участников из других межсетевых команд. На данный момент достаточно сказать, что основная команда состоит из инженеров-исследователей, ветеранов DevOps и инженеров-программистов с многолетним опытом работы, а также руководителей проектов, продуктов и технических специалистов с более чем 10-летним опытом работы в Cosmos.

Каковы ближайшие следующие шаги?

Запуск CometBFT — это значительная работа, которая все еще продолжается. Вот несколько важных вещей, которые нужно знать.

Если ваша работа зависит от CometBFT , рассмотрите возможность присоединиться к телеконференциям сообщества, которые организуются каждые две недели по четвергам:https://groups.google.com/g/cometbft-community/. В дополнение к репозиторию GitHub важным форумом для обсуждения разработки CometBFT является вызов сообщества. Это место, где разработчики могут получать от вас отзывы, отвечать на вопросы, а вы, как пользователь, обмениваетесь ценными знаниями с другими пользователями.

Если ваше приложение строится на Cosmos SDK: новые версии SDK для линий 0.45, 0.46 и 0.47 будут выпущены командой Cosmos SDK. Эти выпуски будут использовать CometBFT v0.34 вместо Tendermint Core 0.34 по соглашению между участниками и проектами Interchain Stack. Обновление до этой версии SDK не требует скоординированного обновления, так как это незначительное изменение версии. Журнал изменений Cosmos SDK задокументирует соответствующие изменения для вашего приложения.

Если вы выполняете сборку непосредственно поверх Tendermint Core: в качестве сопровождающих мы рекомендуем вам перейти с Tendermint Core v0.34 на CometBFT v0.34. Мы предоставим инструкции по обновлению после того, как вырежем наши первые выпуски. Следите за репозиторием Github здесь .

Если вы поддерживаете форк Tendermint Core: мы рекомендуем перейти на CometBFT как можно скорее, например, путем перебазирования или выбора нужных изменений в форке CometBFT. Мы будем рады помочь в этом процессе. Кроме того, мы будем рады вашим отзывам и информации о ваших конкретных требованиях к устранению необходимости поддерживать вилку (см. ссылку «сообщество» ниже).

Рекомендации

Здесь вы найдете официальные ссылки и инструкции, относящиеся к Comet:

  • Где найти механизм консенсуса CometBFT?https://github.com/cometbft/cometbft/. Не забудьте отметить репозиторий звездочкой!
  • Как найти поддержку? Если вы разработчик, лучшим местом для поддержки является сервер Cosmos Network Discord на канале `#cometbft` .
  • Мы ввели канал Telegram, чтобы обеспечить быструю обратную связь и общение, а также справиться с этим переходным периодом. Пожалуйста, присоединяйтесь сюда:https://t.me/CometBFT
  • Ссылка на документацию:https://docs.cometbft.com/
  • Новые ручки для проекта выглядят следующим образом. Организация GitHub:https://github.com/cometbft/. Discord: на сервере Cosmos Network присоединитесь к каналу `#cometbft` . Существующий канал `#tendermint-core` будет объявлен устаревшим.
  • Твиттер: Объявления и обновления будут делаться с @cometbft и @informalinc .
  • Для общей информации: [email protected] .
  • По вопросам безопасности или уязвимостей: [email protected] .

Какой алгоритм консенсуса лежит в основе CometBFT?

Алгоритм консенсуса, лежащий в основе CometBFT, в настоящее время основан (то есть является реализацией) Tendermint Consensus .

Откажется ли CometBFT от алгоритма консенсуса Tendermint?

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

Мы также планируем работать с командами, которые вносили изменения или оптимизации в алгоритм консенсуса или где-либо еще (см. форки от LINE , PeggyJV , SeiNetwork или Celestia Org ) для внедрения модификаций, которые нужны другим пользователям, в основную линию разработки.

Будут ли несколько конкурирующих форков Tendermint Core, поддерживающих интерчейн?

Это все с открытым исходным кодом, так что может быть. Однако канонические строительные блоки будут построены поверх CometBFT. Цепочки Cosmos создаются с помощью Cosmos SDK (@cosmossdk), который будет построен на основе CometBFT. Разработка Cosmos SDK продолжится в обычном режиме.

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

Любая команда может создать форк CometBFT и заменить механизм репликации в своих приложениях. Но мы рекомендуем вам связаться с нами, если вам потребуются существенные изменения (см. «Как найти поддержку?» выше). Мы примем во внимание ваши потребности и соответствующим образом адаптируем нашу техническую дорожную карту, чтобы избежать, если это возможно, ненужных или небезопасных форков.

Приведет ли это к разветвлению какой-либо цепи?

Твердое «нет». Системы на базе Tendermint Core v0.34 можно обновить до CometBFT v0.34. А линейка CometBFT v0.34 останется совместимой с Tendermint Core v0.34.

Если я проверяю в сети на основе Tendermint Core, есть ли какие-либо проблемы с моими операциями?

Мы будем тщательно сообщать о критических изменениях в журнале изменений выпуска, и критические изменения будут минимальными. Двоичное имя для Tendermint Core будет изменено, но большинство приложений имеют двоичный файл для конкретного приложения (например, `osmosisd` , `gaiad` ) с Tendermint Core, скомпилированным в (замененный CometBFT). Если вы не запустите отдельный двоичный файл Tendermint Core, это не повлияет на ваши операции. Важным изменением является то, что переменная env TMHOME будет переименована в CMTHOME . Подкоманды, такие как `gaiad тендерминт`, могут быть переименованы в свое время, в зависимости от команды, поддерживающей двоичный файл. Это также будет четко отмечено в журнале изменений.

Что происходит с тендерминт-рс
(
https://github.com/informalsystems/tendermint-rs/ )?

Вскоре мы переименуем этот проект в cometbft-rs и продолжим разработку.

Что происходит с tm-db или tm-load-test?

Мы разветвили и переименовали tm-db в cometbft-db и продолжим разработку. Никакие другие API не были сломаны, и использование было таким же, за исключением того, что это другой модуль Go: `github.com/cometbft/cometbft-db`.

Мы переместим и переименуем tm-load-test в cmt-load-test и продолжим разработку. Примечание. Некоторые из приведенных выше имен могут все еще изменяться.

PS. По воле космического восторга запуск CometBFT совпадает с моментом приближения кометы C/2022 E3 (ZTF) к нашей планете . Яркость кометы сегодня достигает пика и дарит незабываемые визуальные впечатления тем, кто ее наблюдает.