Cosmos, incontra CometBFT

blog originale: https://medium.com/the-interchain-foundation/cosmos-meet-cometbft-d89f5dce60dd

Oggi annunciamo il lancio di CometBFT, un motore di replicazione di macchine statali per l'interchain e oltre! CometBFT è un fork e successore di Tendermint Core e fungerà da motore ufficiale di replicazione per l'Interchain Stack. La visione a lungo termine per CometBFT è quella di essere la scelta primaria del motore di replicazione per blockchain affidabili, sicure, su larga scala e specifiche dell'applicazione. Conferma i tuoi blocchi con CometBFT oggi!

L'Interchain Foundation, Informal Systems, il team Cosmos SDK e numerose altre squadre nell'ecosistema Cosmos hanno lavorato insieme per preparare questo lancio. Questo post affronta alcune delle domande più importanti riguardo a questo lancio. Abbiamo lavorato duramente per rendere l'aggiornamento o l'adozione di CometBFT il più fluido possibile. Copriremo dettagli di background, la visione e gli obiettivi di CometBFT, le squadre dietro a questo sforzo e i prossimi passi in termini di implicazioni tecniche.

Perché ora? Abbiamo deciso di sviluppare il motore di consenso principale di Cosmos con questo nuovo nome per segnare molti importanti cambiamenti che stanno attraversando l'ecosistema.

Dal punto di vista tecnico, l'interchain è evoluta significativamente negli ultimi anni. Viviamo in un mondo nativo di IBC, multi-chain. ABCI 2.0 è una parte critica mancante nell'Interchain Stack, così come gli aspetti di progettazione o di assicurazione della qualità come la modularità, l'integrazione o i test rigorosi. Inoltre, l'abbandono delle versioni v0.35 e v0.36 di Tendermint Core ha esposto limitazioni tecniche su come veniva effettuato lo sviluppo; vedi qui per ulteriori dettagli.

Nel 2022, le organizzazioni che mantengono l'Interchain Stack hanno avviato un approccio strategico per mitigare le suddette limitazioni tecniche. Questo approccio ha comportato la costruzione e l'assegnazione di un team completo a Tendermint Core presso Informal Systems. Inoltre, nella preparazione delle release abbiamo iniziato a dare priorità alla qualità e all'integrazione con il resto dell'Interchain Stack (ossia Cosmos SDK, IBC e i blocchi di costruzione interchain più ampi).

Dal lato amministrativo, non possediamo l'organizzazione GitHub di tendermint né i diritti sul marchio "Tendermint". All in Bits (AiB) ne è il proprietario. Lo sviluppo del software Tendermint Core è avvenuto al di fuori di All in Bits negli ultimi tre anni. Tuttavia, la proprietà del marchio registrato da parte di AiB ha posto un rischio continuo di azioni legali legate al marchio. Senza accordi complicati con AiB, non sarebbe stato possibile mitigare completamente questo rischio che gravava sulle teste degli sviluppatori di una delle parti più critiche dell'Interchain Stack.

Come abbiamo già menzionato su Twitter e come discusso qui, AiB ha deciso unilateralmente di archiviare il repository di Tendermint Core. Quindi, la strada da seguire per continuare la traiettoria di sviluppo, e come suggerito da AiB, è stata quella di fare un fork del repository di Tendermint Core. CometBFT si baserà sulle fondamenta gettate da Tendermint Core, con un rinnovato sviluppo focalizzato sugli utenti, sulla qualità e sull'integrazione.

In linea con queste preoccupazioni tecniche e amministrative, i cambiamenti più importanti riguardano la visione a lungo termine del progetto, gli obiettivi e l'amministrazione. Questo ci porta alla prossima parte di questa discussione.

Quali sono i prossimi passi?

Come custode impegnato dell'ecosistema Cosmos e Interchain, l'Interchain Foundation serve da affidabile ospite per il finanziamento di beni pubblici e asset. L'ICF è stato proprietario del marchio "Cosmos" fin dall'inizio e protegge il suo utilizzo nell'interesse della comunità più ampia. Allo stesso modo, l'ICF ha registrato il nome "CometBFT" e ha creato l'organizzazione GitHub di CometBFT, con l'intenzione di essere custode a lungo termine nell'interesse della crescente interchain. CometBFT rimarrà open-source e con licenza Apache 2.0. Invitiamo tutte le parti interessate a contribuire alla crescita e allo sviluppo di questo software e a promuovere i suoi valori open-source.

Come accennato in precedenza, il mandato a lungo termine per CometBFT è quello di essere la scelta primaria del motore di replicazione per l'interchain. Il team Cosmos SDK, i team IBC, i manutentori di CometBFT e le numerose squadre di ingegneria che compongono l'interchain, sia a livello di applicazioni che di beni pubblici, condividono la visione comune di fare di CometBFT un luogo in cui le squadre possono sperimentare nuove funzionalità, costruire e iterare con ottimizzazioni e garantire un alto grado di flessibilità per gli utenti, mantenendo al contempo l'integrità e la robustezza dello stack. Se sei un contributore all'Interchain Stack, operi validatori o nodi, ti integri con altri ecosistemi o ti stai avvicinando a Cosmos come nuovo utente, il tuo aiuto sarebbe molto apprezzato per rendere tutto ciò una realtà. Vedi i "Riferimenti" di seguito su come metterti in contatto con noi.

Quali sono gli obiettivi per CometBFT?

Come descritto in precedenza e in precedenza, questo segna una nuova fase nell'interchain. Il suo motore di consenso sta evolvendo per diventare un blocco di costruzione specializzato per un mondo nativo di IBC. Cerchiamo di continuare a lavorare a stretto contatto con il team Cosmos SDK e gli utenti attuali, facilitando al contempo l'adozione per l'ecosistema in crescita di sviluppatori di applicazioni che stanno costruendo sopra ABCI e con IBC. L'obiettivo sottostante a lungo termine per CometBFT è quello di svolgere un ruolo chiave nel supportare la crescita dell'interchain.

Più specificamente, gli obiettivi di CometBFT sono:

  • Un forte focus sull'utente, con una strategia di prodotto chiaramente articolata che pone le esigenze degli utenti al primo posto. Si tratta di una scelta strategica per garantire che CometBFT sia rilevante e fornisca utilità.

  • Miglioramento dell'assicurazione della qualità e delle garanzie di correttezza, puntando a specificare e testare rigorosamente la nostra implementazione utilizzando tecniche avanzate come il testing basato su modelli. Stiamo portando la nostra esperienza nelle specifiche e nei metodi formali per rafforzare la QA esistente, che era già completata da sforzi di testing su larga scala.

  • Modularità, concentrando l'attenzione sui giusti confini dell'astrazione, consentendo al sistema di essere smontato se e dove necessario, consentendo un'integrazione pezzo per pezzo in progetti che ne dipendono. Vogliamo permettere sempre di più l'uso di CometBFT come libreria e ridurre al minimo i fork e la frammentazione fornendo nuove interfacce per supportare la sempre crescente serie di casi d'uso.

  • Rollout più rapido delle funzionalità senza sacrificare la qualità attraverso un aggiornamento progressivo dell'architettura del sistema per agire come una piattaforma solida per il cambiamento, nonché attraverso una coordinazione più fluida del progetto in tutto l'Interchain Stack.

Una tattica essenziale per raggiungere questi quattro obiettivi è la stretta integrazione in tutto l'Interchain Stack; ciò servirà come punto di distinzione principale tra CometBFT e altri fork di Tendermint Core. Costruendo sul solido fondamento che Tendermint Core offre, ABCI 2.0 sarà la prima iterazione di questo approccio sopra indicato. Seguirà un piano dettagliato per il 2023 all'inizio del secondo trimestre.

Chi c'è dietro a CometBFT? Il lancio di CometBFT è stata una decisione multi-organizzativa. CometBFT è gestito da Informal Systems in collaborazione con un gran numero di stakeholder di Cosmos. Il lancio ha coinvolto il lavoro di diverse squadre nell'interchain, tra cui Cosmos SDK, IBC, Osmosis, Cosmos Hub e coordinazione con Agoric, Axelar, Oasis, Penumbra, Celestia, Anoma, Skip, Umee, Confio, Nomic, Numia, Sei, Evmos, Sommelier, Andromeda, Cronos e molti altri.

Il team di CometBFT presso Informal è composto da alcuni dei contributori più talentuosi e appassionati di Cosmos. Seguiranno su Twitter con una presentazione dei membri del team principale e dei membri contributori provenienti da altre squadre interchain. Per ora, basta dire che il team principale comprende ingegneri di ricerca, veterani di DevOps e ingegneri del software con decenni di esperienza combinata, nonché project manager, product manager e tech lead con più di 10 anni di esperienza combinata in Cosmos.

Quali sono i prossimi passi immediati? Il lancio di CometBFT è uno sforzo sostanziale che è ancora in corso. Ecco alcune informazioni importanti da tenere a mente.

  • Se il tuo lavoro dipende da CometBFT, considera di partecipare alle chiamate della community, che si tengono ogni due settimane di giovedì: https://groups.google.com/g/cometbft-community/. Oltre al repository GitHub, la chiamata della community è un forum importante per discutere lo sviluppo di CometBFT. È il luogo in cui gli sviluppatori possono raccogliere feedback da parte tua, rispondere alle tue domande e dove tu, come utente, puoi scambiare conoscenze preziose con altri utenti.

  • Se la tua applicazione si basa sul Cosmos SDK: il team Cosmos SDK rilascerà nuove versioni per le linee 0.45, 0.46 e 0.47. Questi rilasci utilizzeranno CometBFT v0.34 invece di Tendermint Core 0.34, secondo quanto concordato tra i contributori e i progetti di Interchain Stack. L'aggiornamento a questa versione dello SDK non richiede un aggiornamento coordinato, in quanto si tratta di una modifica di versione minore. Il changelog del Cosmos SDK documenterà le modifiche rilevanti per la tua applicazione.

  • Se stai sviluppando direttamente sopra Tendermint Core: come manutentori, ti consigliamo di passare da Tendermint Core v0.34 a CometBFT v0.34. Forniremo istruzioni per l'aggiornamento una volta che avremo effettuato i nostri primi rilasci. Tieni d'occhio il repository Github qui.

  • Se mantieni un fork di Tendermint Core: ti consigliamo di passare a CometBFT il prima possibile, ad esempio, tramite un rebase o cherry pick delle tue modifiche rilevanti su un fork di CometBFT. Saremo lieti di assisterti in questo processo. Inoltre, accoglieremo i tuoi feedback e le informazioni sulle tue specifiche esigenze per eliminare la necessità di mantenere un fork (vedi il riferimento alla "community" di seguito)

Last updated