Cosmos, das ist CometBFT
Heute geben wir die Einführung von CometBFT bekannt, einer State-Machine-Replikations-Engine für die Interchain und darüber hinaus! CometBFT ist ein Fork und Nachfolger von Tendermint Core und wird als offizielle Replikations-Engine für den Interchain Stack dienen . Die langfristige Vision für CometBFT besteht darin, die erste Wahl als Replikations-Engine für zuverlässige, sichere, große und anwendungsspezifische Blockchains zu sein. Übertragen Sie Ihre Blöcke noch heute mit CometBFT!
Die Interchain Foundation, Informal Systems, das Cosmos SDK-Team und zahlreiche andere Teams im Cosmos- Ökosystem haben zusammengearbeitet, um diesen Start vorzubereiten. In diesem Beitrag werden einige der wichtigsten Fragen im Zusammenhang mit dieser Einführung behandelt. Seien Sie versichert, wir haben hart daran gearbeitet, das Upgrade auf oder die Einführung von CometBFT so reibungslos wie möglich zu gestalten. Wir werden Hintergrunddetails, die Vision und Ziele von CometBFT, die Teams hinter dieser Anstrengung und die nächsten Schritte im Hinblick auf technische Auswirkungen besprechen.
Warum jetzt?
Wir haben beschlossen, die Flaggschiff-Konsens-Engine von Cosmos unter diesem neuen Namen zu entwickeln, um mehrere wichtige Veränderungen im gesamten Ökosystem zu markieren.
Auf technischer Seite hat sich die Interchain in den letzten Jahren erheblich weiterentwickelt. Wir leben in einer IBC-nativen Welt mit mehreren Ketten. ABCI 2.0 ist ein entscheidender Teil, der im Interchain Stack fehlt, ebenso wie Design- oder Qualitätssicherungsaspekte wie Modularität, Integration oder strenge Tests. Darüber hinaus hat der Verzicht auf die Versionen v0.35 und v0.36 von Tendermint Core technische Einschränkungen bei der Art und Weise der Entwicklung offengelegt; Weitere Einzelheiten finden Sie hier .
Im Jahr 2022 haben die Organisationen, die den Interchain Stack pflegen, einen strategischen Ansatz initiiert, um die oben genannten technischen Einschränkungen abzumildern. Dieser Ansatz beinhaltete den Aufbau und die Bereitstellung eines kompletten Teams für Tendermint Core bei Informal Systems. Darüber hinaus haben wir bei der Vorbereitung von Veröffentlichungen damit begonnen, der Qualität und der Integration mit dem Rest des Interchain Stack (z. B. Cosmos SDK, IBC und den umfassenderen Interchain-Bausteinen) Priorität einzuräumen.
Auf administrativer Seite besitzen wir weder die Tendermint- GitHub-Organisation noch die Markenrechte an „Tendermint“. Eigentümer ist All in Bits (AiB). Die Entwicklung der Tendermint Core-Software fand in den letzten drei Jahren außerhalb von All in Bits statt. Allerdings birgt der Besitz der Marke durch AiB ein kontinuierliches Risiko von Markenrechtsklagen. Ohne komplizierte Vereinbarungen mit AiB wäre es nicht möglich, dieses Risiko, das den Entwicklern eines äußerst wichtigen Teils des Interchain-Stacks droht, vollständig zu mindern.
Wie wir bereits auf Twitter und in dieser Diskussion erwähnt haben , hat AiB einseitig beschlossen, das Tendermint Core-Repository zu archivieren. Daher bestand der Weg zur Fortsetzung der Entwicklung, wie von AiB empfohlen, in der Abzweigung des Tendermint Core-Repositorys. CometBFT wird auf den von Tendermint Core gelegten Grundlagen aufbauen und sich bei der erneuten Entwicklung auf Benutzer, Qualität und Integration konzentrieren.
Im Einklang mit diesen technischen und administrativen Bedenken betreffen die wichtigsten Änderungen die langfristige Vision, die Ziele und die Verwaltung des Projekts. Dies bringt uns zum nächsten Teil dieser Diskussion.
Was kommt als nächstes?
Als engagierter Verwalter des Cosmos- und Interchain-Ökosystems fungiert die Interchain Foundation als zuverlässiger Gastgeber für die Finanzierung und Vermögenswerte öffentlicher Güter. Die ICF ist seit ihrer Gründung Eigentümerin der Marke „Cosmos“ und schützt deren Nutzung im besten Interesse der breiteren Gemeinschaft. In ähnlicher Weise hat die ICF den Namen „CometBFT“ als Marke eingetragen und die CometBFT GitHub- Organisation gegründet und beabsichtigt, beides langfristig im besten Interesse der wachsenden Interchain zu verwalten. CometBFT bleibt Open-Source und wird von Apache 2.0 lizenziert. Wir laden alle interessierten Parteien ein, zum Wachstum und zur Entwicklung dieser Software beizutragen und ihre Open-Source-Werte zu fördern.
Wie bereits erwähnt, besteht der langfristige Auftrag von CometBFT darin, die erste Wahl als Replikations-Engine für die Interchain zu sein. Das CosmosSDK-Team, die IBC-Teams, CometBFT-Betreuer und die zahlreichen Engineering-Teams, aus denen die Interchain besteht, sowohl auf Anwendungsebene als auch bei öffentlichen Gütern, teilen die gemeinsame Vision, CometBFT zu einem Ort zu machen, an dem Teams mit neuartigen Funktionen experimentieren und bauen können und iterieren Sie mit Optimierungen und stellen Sie ein hohes Maß an Flexibilität für Benutzer sicher, während gleichzeitig die Integrität und Robustheit des Stapels erhalten bleibt. Wenn Sie am Interchain Stack mitwirken, Validatoren oder Knoten betreiben, sich in andere Ökosysteme integrieren oder sich als neuer Benutzer in Cosmos zurechtfinden, würden wir uns über Ihre Hilfe bei der Verwirklichung dieses Vorhabens sehr freuen. Unter „Referenzen“ unten erfahren Sie, wie Sie mit uns in Kontakt treten können.
Was sind die Ziele von CometBFT?
Wie oben und zuvor beschrieben , markiert dies eine neue Phase in der Interchain. Seine Konsens-Engine entwickelt sich zu einem Baustein, der auf eine IBC-native Welt spezialisiert ist. Wir möchten weiterhin eng mit dem Cosmos SDK-Team und den aktuellen Benutzern zusammenarbeiten und gleichzeitig die Einführung in das wachsende Ökosystem von Anwendungsentwicklern erleichtern, die über ABCI und mit IBC aufbauen. Das zugrunde liegende, langfristige Ziel von CometBFT besteht darin, eine Schlüsselrolle bei der Unterstützung des Wachstums der Interchain zu spielen.
Genauer gesagt sind die Ziele von CometBFT:
- Starke Nutzerorientierung mit einer klar formulierten Produktstrategie, die die Bedürfnisse der Nutzer in den Vordergrund stellt. Dies ist eine strategische Entscheidung, um sicherzustellen, dass CometBFT relevant ist und einen Nutzen bietet.
- Verbesserung der Qualitätssicherung und Korrektheitsgarantien mit dem Ziel, unsere Implementierung mithilfe fortschrittlicher Techniken wie modellbasierter Tests streng zu spezifizieren und zu testen. Wir bringen unser Fachwissen in Bezug auf Spezifikationen und formale Methoden ein, um die bestehende Qualitätssicherung zu stärken, die bereits durch groß angelegte Testbemühungen ergänzt wurde.
- Modularität , die sich auf die richtigen Grenzen der Abstraktion konzentriert und es ermöglicht, das System bei Bedarf auseinanderzuziehen, was eine schrittweise Integration in davon abhängige Projekte ermöglicht. Wir möchten, dass CometBFT zunehmend als Bibliothek genutzt werden kann und Forks und Fragmentierung minimiert werden, indem wir neue Schnittstellen bereitstellen, um das ständig wachsende Spektrum an Anwendungsfällen zu unterstützen.
- Schnellere Funktionseinführung ohne Qualitätseinbußen durch schrittweise Aktualisierung der Systemarchitektur, um als solide Plattform für Änderungen zu dienen, sowie durch eine reibungslosere Projektkoordination über den gesamten Interchain-Stack.
Wer steckt hinter CometBFT?
Die Einführung von CometBFT war eine Entscheidung mehrerer Organisationen. CometBFT wird von Informal Systems in Zusammenarbeit mit einer großen Anzahl von Cosmos-Stakeholdern verwaltet. Der Start umfasste die Arbeit mehrerer Teams in der gesamten Interchain, darunter Cosmos SDK, IBC, Osmosis, Cosmos Hub, und die Koordination mit Agoric, Axelar, Oasis, Penumbra, Celestia, Anoma, Skip, Umee, Confio, Nomic, Numia, Sei, Evmos , Sommelier, Andromeda, Cronos und viele andere.
Das CometBFT-Team bei Informal besteht aus einigen der talentiertesten und leidenschaftlichsten Cosmos-Mitwirkenden. Wir werden im Anschluss auf Twitter eine Vorstellung der Kernteammitglieder sowie beitragender Mitglieder aus anderen Interchain-Teams veröffentlichen. Im Moment genügt es zu sagen, dass das Kernteam aus Forschungsingenieuren, erfahrenen DevOps- und Software-Ingenieuren mit jahrzehntelanger gemeinsamer Erfahrung sowie Projekt-, Produkt- und Technologieleitern mit insgesamt mehr als 10 Jahren Erfahrung bei Cosmos besteht.
Was sind die unmittelbaren nächsten Schritte?
Der Start von CometBFT ist eine erhebliche Anstrengung, die noch andauert. Hier sind ein paar wichtige Dinge, die Sie wissen sollten.
Wenn Ihre Arbeit von CometBFT abhängt , sollten Sie über die Teilnahme an den Community-Calls nachdenken, die alle zwei Wochen donnerstags organisiert werden:https://groups.google.com/g/cometbft-community/. Neben dem GitHub-Repository ist der Community Call ein wichtiges Forum zur Diskussion der Entwicklung von CometBFT. Hier können Entwickler Feedback von Ihnen einholen, Fragen beantworten und Sie als Benutzer können wertvolles Wissen mit anderen Benutzern austauschen.
Wenn Ihre Anwendung auf dem Cosmos SDK aufbaut: Neue SDK-Versionen für die Zeilen 0.45, 0.46 und 0.47 werden vom Cosmos SDK-Team veröffentlicht. Diese Versionen werden gemäß Vereinbarung zwischen den Interchain Stack-Mitwirkenden und -Projekten CometBFT v0.34 anstelle von Tendermint Core 0.34 verwenden. Für ein Upgrade auf diese SDK-Version ist kein koordiniertes Upgrade erforderlich, da es sich um eine geringfügige Versionsänderung handelt. Das Cosmos SDK-Änderungsprotokoll dokumentiert die relevanten Änderungen für Ihre Anwendung.
Wenn Sie direkt auf Tendermint Core aufbauen: Als Betreuer empfehlen wir Ihnen, von Tendermint Core v0.34 auf CometBFT v0.34 zu wechseln. Sobald wir unsere ersten Versionen veröffentlicht haben, werden wir Ihnen Anweisungen zum Upgrade geben. Behalten Sie das Github-Repo hier im Auge.
Wenn Sie einen Fork von Tendermint Core pflegen: Wir empfehlen Ihnen, so bald wie möglich auf CometBFT umzusteigen, z. B. indem Sie Ihre relevanten Änderungen an einem Fork von CometBFT umbasieren oder herauspicken. Gerne unterstützen wir Sie dabei. Darüber hinaus freuen wir uns über Ihr Feedback und Ihre Informationen zu Ihren spezifischen Anforderungen, um die Wartung eines Forks für Sie zu eliminieren (siehe die Referenz „Community“ unten).
Verweise
Hier finden Sie offizielle Links und Anleitungen zu Comet:
- Wo finde ich die CometBFT-Konsens-Engine?https://github.com/cometbft/cometbft/. Vergessen Sie nicht, das Repo zu markieren!
- Wie finde ich Unterstützung? Wenn Sie Entwickler sind, ist der beste Ort für Support der Cosmos Network Discord-Server im Kanal „#cometbft“ .
- Wir haben einen Telegram-Kanal eingeführt, um schnelles Feedback und Kommunikation zu ermöglichen und diese Übergangsphase zu bewältigen. Bitte melden Sie sich hier an:https://t.me/CometBFT
- Link zur Dokumentation:https://docs.cometbft.com/
- Die neuen Handles für das Projekt lauten wie folgt. GitHub-Organisation:https://github.com/cometbft/. Discord: Treten Sie auf dem Cosmos Network- Server dem Kanal „#cometbft“ bei . Der bestehende Kanal „#tendermint-core“ wird veraltet sein.
- Twitter: Ankündigungen und Aktualisierungen erfolgen über @cometbft und @informalinc .
- Für allgemeine Informationen: [email protected] .
- Für Sicherheit oder Schwachstellen: [email protected] .
Welcher Konsensalgorithmus liegt CometBFT zugrunde?
Der CometBFT zugrunde liegende Konsensalgorithmus basiert derzeit auf Tendermint Consensus (ist also eine Implementierung davon) .
Wird sich CometBFT vom Tendermint-Konsensalgorithmus entfernen?
Nicht in den ersten Veröffentlichungen. Unser Ziel ist es, CometBFT als zusammensetzbare Konsensbibliothek aufzubauen, in der der Standard-Konsensalgorithmus leicht gegen andere ausgetauscht werden kann, jedoch nicht auf die von den Hauptbetreuern implementierten beschränkt ist.
Wir planen auch, mit Teams zusammenzuarbeiten, die Änderungen oder Optimierungen am Konsensalgorithmus oder anderswo vorgenommen haben (siehe Forks von LINE , PeggyJV , SeiNetwork oder Celestia Org ), um die Änderungen, die andere Benutzer benötigen, in die Hauptentwicklungslinie einzubinden.
Wird es mehrere konkurrierende Forks von Tendermint Core geben, die die Interchain antreiben?
Es ist alles Open Source, also könnte es so sein. Die kanonischen Bausteine werden jedoch auf CometBFT aufbauen. Cosmos-Ketten werden mit dem Cosmos SDK (@cosmossdk) erstellt, das auf CometBFT aufbaut. Die Entwicklung des Cosmos SDK wird wie gewohnt fortgesetzt.
Auf IBC-Ebene werden Bibliotheken weiterhin Tendermint Light-Clients unterstützen; CometBFT enthält eine Implementierung des Tendermint-Konsensalgorithmus, daher werden Tendermint-Light-Clients weiterhin wie gewohnt mit CometBFT arbeiten.
Jedes Team kann CometBFT forken und die Replikations-Engine in seinen Anwendungen ersetzen. Wir empfehlen Ihnen jedoch, sich mit uns in Verbindung zu setzen, wenn Sie wesentliche Änderungen benötigen (siehe oben „Wie finden Sie Unterstützung?“). Wir berücksichtigen Ihre Bedürfnisse und passen unsere technische Roadmap entsprechend an, um unnötige oder unsichere Forks nach Möglichkeit zu vermeiden.
Wird dies dazu führen, dass sich eine Kette verzweigt?
Ein klares „Nein“. Auf Tendermint Core v0.34 basierende Systeme können auf CometBFT v0.34 aktualisiert werden. Und die CometBFT v0.34-Reihe bleibt mit Tendermint Core v0.34 kompatibel.
Gibt es Bedenken hinsichtlich meiner Abläufe, wenn ich die Validierung in einem Tendermint Core-basierten Netzwerk durchführe?
Wir werden Breaking Changes im Release-Changelog sorgfältig kennzeichnen und Breaking Changes werden minimal sein. Der Binärname für Tendermint Core wird geändert, aber die meisten Anwendungen verfügen über eine App-spezifische Binärdatei (z. B. „osmosisd“ , „gaiad“ ), in die Tendermint Core kompiliert ist (ersetzt durch CometBFT). Sofern Sie keine separate Tendermint Core-Binärdatei ausführen, hat dies keine Auswirkungen auf Ihren Betrieb. Eine relevante Änderung besteht darin, dass die Umgebungsvariable „TMHOME“ in „CMTHOME“ umbenannt wird . Unterbefehle wie „Gaiad Tendermint“ werden möglicherweise zu gegebener Zeit umbenannt, je nachdem, welches Team die Binärdatei verwaltet. Dies wird auch im Changelog deutlich gekennzeichnet.
Was passiert mit tentermint-rs
( https://github.com/informalsystems/tendermint-rs/ )?
Wir werden dieses Projekt in Kürze in „cometbft-rs“ umbenennen und die Entwicklung fortsetzen.
Was passiert mit tm-db oder tm-load-test?
Wir haben tm-db abgespalten und in „cometbft-db“ umbenannt und werden die Entwicklung fortsetzen. Ansonsten wurden keine APIs beschädigt und die Verwendung ist dieselbe, außer dass es sich um ein anderes Go-Modul handelt: „github.com/cometbft/cometbft-db“.
Wir werden tm-load-test verschieben und in cmt-load-test umbenennen und die Entwicklung fortsetzen. Hinweis: Einige der oben genannten Namen sind möglicherweise noch in Bearbeitung.
PS. Durch einen Anflug kosmischer Freude fällt der Start von CometBFT mit der Zeit zusammen, in der sich Komet C/2022 E3 (ZTF) unserem Planeten am nächsten nähert . Die Helligkeit des Kometen wird heute voraussichtlich ihren Höhepunkt erreichen und seinen Beobachtern ein unvergessliches visuelles Erlebnis bieten.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































