Cosmos, conoce al cometa BFT
¡Hoy anunciamos el lanzamiento de CometBFT, un motor de replicación de máquinas de estado para intercadenas y más allá! CometBFT es una bifurcación y un sucesor de Tendermint Core , y servirá como el motor de replicación oficial que impulsará Interchain Stack . La visión a largo plazo de CometBFT es ser la opción principal de motor de replicación para blockchains confiables, seguras, a gran escala y específicas de la aplicación. ¡Comprometa sus bloques con CometBFT hoy!
La Fundación Interchain, Informal Systems, el equipo SDK de Cosmos y muchos otros equipos en el ecosistema de Cosmos han estado trabajando juntos para preparar este lanzamiento. Esta publicación aborda algunas de las preguntas más importantes que rodean este lanzamiento. Tenga la seguridad de que hemos estado trabajando arduamente para que la actualización o la adopción de CometBFT sea lo más sencilla posible. Cubriremos los detalles de fondo, la visión y los objetivos de CometBFT, los equipos detrás de este esfuerzo y los próximos pasos en términos de implicaciones técnicas.
¿Porqué ahora?
Decidimos desarrollar el motor de consenso insignia de Cosmos con este nuevo nombre para marcar múltiples cambios importantes que se extienden por todo el ecosistema.
En el aspecto técnico, la intercadena ha evolucionado significativamente en los últimos años. Vivimos en un mundo de múltiples cadenas nativo de IBC. ABCI 2.0 es una pieza crítica que falta en Interchain Stack, al igual que los aspectos de diseño o garantía de calidad, como la modularidad, la integración o las pruebas rigurosas. Además, el abandono de las versiones v0.35 y v0.36 de Tendermint Core expuso limitaciones técnicas sobre cómo se realizó el desarrollo; ver aquí para más detalles.
En 2022, las organizaciones que mantienen Interchain Stack iniciaron un enfoque estratégico para mitigar las limitaciones técnicas anteriores. Este enfoque implicó construir y dedicar un equipo completo a Tendermint Core en Informal Systems. Además, al preparar los lanzamientos, comenzamos a priorizar la calidad y la integración con el resto de Interchain Stack (es decir, Cosmos SDK, IBC y los componentes básicos más amplios de Interchain).
En el aspecto administrativo, no somos propietarios de la organización tendermint GitHub ni de los derechos de marca registrada sobre "Tendermint''. All in Bits (AiB) es el propietario. El desarrollo del software Tendermint Core ha tenido lugar fuera de All in Bits durante los últimos tres años. Sin embargo, la propiedad de AiB de la marca comercial planteó un riesgo continuo de acción de marca comercial. Sin acuerdos complicados con AiB, no sería posible mitigar por completo este riesgo que pende sobre las cabezas de los desarrolladores de una de las piezas más críticas de Interchain Stack.
Como mencionamos anteriormente en Twitter y según esta discusión , AiB decidió unilateralmente archivar el repositorio de Tendermint Core. Por lo tanto, el camino a seguir para continuar con la trayectoria de desarrollo, y como alentó AiB, fue bifurcar el repositorio Tendermint Core. CometBFT se basará en los cimientos establecidos por Tendermint Core, con un desarrollo renovado centrado en los usuarios, la calidad y la integración.
De acuerdo con estas preocupaciones técnicas y administrativas, los cambios más importantes están en la visión, los objetivos y la administración a largo plazo del proyecto. Esto nos lleva a la siguiente parte de esta discusión.
¿Que sigue?
Como administrador comprometido del Cosmos y el ecosistema intercadena, la Fundación Interchain sirve como un anfitrión confiable para la financiación y los activos de bienes públicos. La ICF ha sido propietaria de la marca comercial "Cosmos" desde su creación y protege su uso en el mejor interés de la comunidad en general. De manera similar, la ICF ha registrado el nombre "CometBFT" y ha establecido la organización CometBFT GitHub , y tiene la intención de administrar ambos a largo plazo en el mejor interés de la creciente intercadena. CometBFT seguirá siendo de código abierto y con licencia Apache2.0. Invitamos a todas las partes interesadas a contribuir al crecimiento y desarrollo de este software y a promover sus valores de código abierto.
Como se mencionó anteriormente, el mandato a largo plazo de CometBFT es ser la opción principal de motor de replicación para la intercadena. El equipo de CosmosSDK, los equipos de IBC, los mantenedores de CometBFT y los numerosos equipos de ingeniería que componen la intercadena, tanto a nivel de aplicación como de bienes públicos, comparten la visión común de hacer de CometBFT un lugar donde los equipos puedan experimentar con funciones novedosas, crear e iterar con optimizaciones, y garantizar un alto grado de flexibilidad para los usuarios, manteniendo la integridad y solidez de la pila. Si usted es un colaborador de Interchain Stack, opera validadores o nodos, se integra con otros ecosistemas o encuentra su camino en Cosmos como un nuevo usuario, su ayuda sería muy apreciada para hacer esto realidad. Consulte las "Referencias" a continuación sobre cómo ponerse en contacto con nosotros.
¿Cuáles son los objetivos de CometBFT?
Como se describió anteriormente y anteriormente , esto marca una nueva fase en la intercadena. Su motor de consenso está evolucionando para convertirse en un bloque de construcción especializado para un mundo nativo de IBC. Buscamos continuar trabajando en estrecha colaboración con el equipo de SDK de Cosmos y los usuarios actuales, mientras facilitamos la adopción para el creciente ecosistema de desarrolladores de aplicaciones que construyen sobre ABCI y con IBC. El objetivo subyacente a largo plazo de CometBFT es desempeñar un papel clave en el apoyo al crecimiento de la intercadena.
Más específicamente, los objetivos de CometBFT son:
- Fuerte enfoque en el usuario , con una estrategia de producto claramente articulada que tiene en cuenta las necesidades de sus usuarios en primer lugar. Esta es una elección estratégica para garantizar que CometBFT sea relevante y brinde utilidad.
- Mejorar el aseguramiento de la calidad y las garantías de corrección, con el objetivo de especificar y probar rigurosamente nuestra implementación utilizando técnicas avanzadas como las pruebas basadas en modelos. Estamos aportando nuestra experiencia en especificaciones y métodos formales para reforzar el control de calidad existente, que ya se complementó con esfuerzos de prueba a gran escala.
- Modularidad , centrándose en los límites correctos de la abstracción, permitiendo que el sistema se separe si es necesario y donde sea necesario, permitiendo una integración por partes en proyectos que dependen de él. Queremos permitir que CometBFT se use cada vez más como una biblioteca y minimizar las bifurcaciones y la fragmentación al proporcionar nuevas interfaces para admitir la variedad cada vez mayor de casos de uso.
- Implementación más rápida de la funcionalidad sin sacrificar la calidad mediante la actualización progresiva de la arquitectura del sistema para que actúe como una plataforma sólida para el cambio, así como una coordinación más fluida del proyecto en todo el Interchain Stack.
¿Quién está detrás de CometBFT?
El lanzamiento de CometBFT fue una decisión de varias organizaciones. CometBFT está administrado por Informal Systems en colaboración con una gran cantidad de partes interesadas de Cosmos. El lanzamiento implicó el trabajo de varios equipos en la intercadena, incluidos Cosmos SDK, IBC, Osmosis, Cosmos Hub y la coordinación con Agoric, Axelar, Oasis, Penumbra, Celestia, Anoma, Skip, Umee, Confio, Nomic, Numia, Sei, Evmos , Sommelier, Andromeda, Cronos entre muchos otros.
El equipo de CometBFT en Informal está compuesto por algunos de los colaboradores de Cosmos más talentosos y apasionados. Haremos un seguimiento en Twitter con una presentación de los miembros del equipo central, así como miembros contribuyentes de otros equipos intercadenas. Por el momento, baste decir que el equipo central está compuesto por ingenieros de investigación, ingenieros de software y DevOps veteranos con décadas de experiencia combinada, así como líderes de proyectos, productos y tecnología con más de 10 años combinados de experiencia en Cosmos.
¿Cuáles son los próximos pasos inmediatos?
El lanzamiento de CometBFT es un esfuerzo sustancial que aún continúa. Aquí hay algunas cosas importantes que debe saber.
Si su trabajo depende de CometBFT , considere unirse a las llamadas comunitarias, que se organizan cada dos semanas los jueves:https://groups.google.com/g/cometbft-community/. Además del repositorio de GitHub, la llamada de la comunidad es un foro importante para discutir el desarrollo de CometBFT. Es el lugar para que los desarrolladores recopilen sus comentarios, respondan preguntas y usted, como usuario, intercambie conocimientos valiosos con otros usuarios.
Si su aplicación se basa en Cosmos SDK: el equipo de Cosmos SDK lanzará nuevas versiones de SDK para las líneas 0.45, 0.46 y 0.47. Estos lanzamientos utilizarán CometBFT v0.34 en lugar de Tendermint Core 0.34, según acuerdo entre los colaboradores y proyectos de Interchain Stack. La actualización a esta versión de SDK no requiere una actualización coordinada, ya que es un cambio de versión menor. El registro de cambios de Cosmos SDK documentará los cambios relevantes para su aplicación.
Si está construyendo directamente sobre Tendermint Core: como mantenedores, le recomendamos que cambie de Tendermint Core v0.34 a CometBFT v0.34. Proporcionaremos instrucciones de actualización una vez que cortemos nuestros primeros lanzamientos. Esté atento al repositorio de Github aquí .
Si está manteniendo una bifurcación de Tendermint Core: le recomendamos que haga la transición a CometBFT lo antes posible, por ejemplo, reorganizando o seleccionando sus cambios relevantes en una bifurcación de CometBFT. Estaremos encantados de ayudar en este proceso. Además, agradeceremos sus comentarios e información sobre sus requisitos específicos para eliminar la necesidad de mantener una bifurcación (consulte la referencia de "comunidad" a continuación).
Referencias
Aquí encontrará enlaces oficiales e instrucciones relevantes para Comet:
- ¿Dónde encontrar el motor de consenso CometBFT?https://github.com/cometbft/cometbft/. ¡No olvides destacar el repositorio!
- ¿Cómo encontrar apoyo? Si es un desarrollador, el mejor lugar para obtener soporte es el servidor Discord de Cosmos Network , en el canal `#cometbft` .
- Hemos introducido un canal de Telegram para permitir comentarios y comunicaciones rápidos, y para manejar este período de transición. Únase aquí:https://t.me/CometBFT
- Enlace a la documentación:https://docs.cometbft.com/
- Los nuevos identificadores para el proyecto, de la siguiente manera. Organización GitHub:https://github.com/cometbft/. Discord: en el servidor de Cosmos Network , únase al canal `#cometbft` . El canal `#tendermint-core` existente quedará obsoleto.
- Twitter: Los anuncios y actualizaciones se realizarán desde @cometbft y @informalinc .
- Para información general: [email protected] .
- Para seguridad o vulnerabilidades: [email protected] .
¿Cuál es el algoritmo de consenso subyacente a CometBFT?
El algoritmo de consenso subyacente a CometBFT se basa actualmente en (es decir, es una implementación de) Tendermint Consensus .
¿Se alejará CometBFT del algoritmo de consenso de Tendermint?
No en los lanzamientos iniciales. Nuestro objetivo es construir CometBFT como una biblioteca de consenso componible donde el algoritmo de consenso predeterminado se puede cambiar fácilmente por otros, pero no limitado a los implementados por los mantenedores principales.
También planeamos trabajar con equipos que realizaron cambios u optimizaciones en el algoritmo de consenso o en otro lugar (consulte las bifurcaciones de LINE , PeggyJV , SeiNetwork o Celestia Org ) para incorporar las modificaciones que otros usuarios necesitan en la línea de desarrollo principal.
¿Habrá múltiples bifurcaciones competidoras de Tendermint Core impulsando la intercadena?
Todo es de código abierto, así que podría haberlo. Sin embargo, los componentes básicos canónicos se construirán sobre CometBFT. Las cadenas Cosmos se crean con Cosmos SDK (@cosmossdk), que se basará en CometBFT. El desarrollo de Cosmos SDK continuará como de costumbre.
A nivel de IBC, las bibliotecas seguirán admitiendo clientes ligeros de Tendermint; CometBFT contiene una implementación del algoritmo de consenso de Tendermint, por lo que los clientes ligeros de Tendermint seguirán trabajando con CometBFT como de costumbre.
Cualquier equipo puede bifurcar CometBFT y reemplazar el motor de replicación en sus aplicaciones. Pero le recomendamos que se ponga en contacto con nosotros si necesita cambios significativos (consulte "¿Cómo encontrar soporte?" más arriba). Tendremos en cuenta sus necesidades y adaptaremos nuestra hoja de ruta técnica en consecuencia para evitar, si es posible, bifurcaciones innecesarias o inseguras.
¿Esto hará que alguna cadena se bifurque?
Un firme “no”. Los sistemas basados en Tendermint Core v0.34 se pueden actualizar a CometBFT v0.34. Y la línea CometBFT v0.34 seguirá siendo compatible con Tendermint Core v0.34.
Si estoy validando en una red basada en Tendermint Core, ¿hay alguna preocupación por mis operaciones?
Señalaremos cuidadosamente los cambios importantes en el registro de cambios de la versión, y los cambios importantes serán mínimos. Se cambiará el nombre binario de Tendermint Core, pero la mayoría de las aplicaciones tienen un binario específico de la aplicación (como `osmosisd` , `gaiad` ) con Tendermint Core compilado (reemplazado por CometBFT). A menos que ejecute un binario Tendermint Core separado, esto no afectará sus operaciones. Un cambio relevante es que la variable de entorno `TMHOME` se renombrará como `CMTHOME` . Los subcomandos como `gaiad tendermint` podrían cambiar de nombre a su debido tiempo, dependiendo del equipo que mantenga el binario. Esto también estará claramente marcado en el registro de cambios.
¿Qué sucede con tendermint-rs
( https://github.com/informalsystems/tendermint-rs/ )?
Cambiaremos el nombre de este proyecto en breve a cometbft-rs y continuaremos con el desarrollo.
¿Qué sucede con tm-db o tm-load-test?
Bifurcamos y cambiamos el nombre de tm-db a cometbft-db y continuaremos con el desarrollo. De lo contrario, no se rompieron las API y el uso es el mismo, excepto que es un módulo Go diferente: `github.com/cometbft/cometbft-db`.
Moveremos y cambiaremos el nombre de tm-load-test a cmt-load-test y continuaremos con el desarrollo. Nota: Es posible que algunos de los nombres anteriores todavía estén cambiando.
PD. Por un golpe de placer cósmico, el lanzamiento del cometa BFT coincide con el cometa C/2022 E3 (ZTF) haciendo su acercamiento más cercano a nuestro planeta . El brillo del cometa alcanzará su punto máximo hoy y brindará una experiencia visual inolvidable para quienes lo observen.

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































