コスモス、CometBFTに会いましょう
本日、インターチェーンおよびそれ以降のステート マシン レプリケーション エンジンである CometBFT のリリースを発表します。CometBFT はTendermint Coreのフォークであり、その後継であり、Interchain Stackを駆動する公式のレプリケーション エンジンとして機能します。CometBFT の長期的なビジョンは、信頼性が高く、安全で、大規模なアプリケーション固有のブロックチェーンのためのレプリケーション エンジンの主な選択肢となることです。今すぐ CometBFT を使用してブロックをコミットしてください。
Interchain Foundation、Informal Systems、Cosmos SDK チーム、およびCosmosエコシステム内のその他の多数のチームが、この立ち上げの準備に協力してきました。この投稿では、この発売に関する最も重要な疑問のいくつかに取り組みます。ご安心ください。私たちは CometBFT へのアップグレードまたは CometBFT の導入をできる限りスムーズに行えるよう懸命に取り組んできました。背景の詳細、CometBFT のビジョンと目的、この取り組みを支えるチーム、技術的な影響に関する次のステップについて説明します。
なぜ今なのか?
私たちは、エコシステム全体に広がる複数の重要な変更を示すために、この新しい名前で主力の Cosmos コンセンサス エンジンを開発することにしました。
技術的な面では、インターチェーンはここ数年で大幅に進化しました。私たちは IBC ネイティブのマルチチェーンの世界に住んでいます。ABCI 2.0 は、モジュール性、統合、厳密なテストなどの設計や品質保証の側面と同様に、インターチェーン スタックに欠けている重要な部分です。さらに、Tendermint Core の v0.35 および v0.36 リリースの放棄により、開発方法の技術的限界が明らかになりました。詳細については、ここを参照してください。
2022 年、インターチェーン スタックを維持する組織は、上記の技術的制限を軽減するための戦略的アプローチを開始しました。このアプローチには、Informal Systems で Tendermint Core に特化した完全なチームを構築して専任することが含まれていました。さらに、リリースの準備において、品質とインターチェーン スタックの残りの部分 (つまり、Cosmos SDK、 IBC、およびより広範なインターチェーン ビルディング ブロック)との統合を優先し始めました。
管理面では、私たちは、Tendermint GitHub 組織や「Tendermint」の商標権を所有していません。All in Bits (AiB) がオーナーです。Tendermint Core ソフトウェアの開発は、過去 3 年間、All in Bits の外部で行われてきました。しかし、AiB の商標の所有権は、商標訴訟の継続的なリスクをもたらしました。AiB との複雑な合意がなければ、インターチェーン スタックの最も重要な部分の開発者の頭上にかかるこのリスクを完全に軽減することはできません。
以前 Twitter で述べたように、またこのディスカッションに従って、AiB は Tendermint Core リポジトリをアーカイブすることを一方的に決定しました。したがって、開発軌道を継続するための方法は、AiB の奨励に従って、Tendermint Core リポジトリをフォークすることでした。CometBFT は、Tendermint Core によって築かれた基盤の上に構築され、ユーザー、品質、統合に焦点を当てた新たな開発が行われます。
これらの技術的および管理上の懸念に沿って、最も重要な変更はプロジェクトの長期的なビジョン、目的、および管理にあります。これで、この議論の次の部分に進みます。
次は何ですか?
インターチェーン財団は、コスモスとインターチェーンのエコシステムの専任管理者として、公共財の資金と資産の信頼できるホストとして機能します。ICF は当初から「Cosmos」商標の所有者であり、より広範なコミュニティの最善の利益のためにその使用を保護しています。同様に、ICF は「CometBFT」の名前を商標登録し、CometBFT GitHub組織を設立し、成長するインターチェーンの最善の利益のために両方を長期的に管理するつもりです。CometBFT はオープンソースであり、Apache2.0 のライセンスを取得したままになります。私たちは、すべての関係者がこのソフトウェアの成長と開発に貢献し、そのオープンソースの価値を促進するよう呼びかけます。
前述したように、CometBFT に対する長期的な使命は、インターチェーンのレプリケーション エンジンの主な選択肢となることです。CosmosSDK チーム、IBC チーム、CometBFT メンテナ、およびインターチェーンを構成する多数のエンジニアリング チームは、アプリケーション レベルと公共財の両方で、CometBFT をチームが新しい機能を実験し、構築できる場所にするという共通のビジョンを共有しています。最適化を繰り返し、スタックの整合性と堅牢性を維持しながら、ユーザーに高度な柔軟性を確保します。あなたが Interchain Stack に貢献している方、バリデータやノードを操作している方、他のエコシステムと統合している方、または新規ユーザーとして Cosmos を利用する方法を見つけている方は、これを実現するためにご支援いただければ幸いです。お問い合わせ方法については、以下の「参考情報」をご覧ください。
CometBFT の目的は何ですか?
上で説明したように、これはインターチェーンの新しい段階を示します。そのコンセンサス エンジンは、IBC ネイティブの世界に特化したビルディング ブロックへと進化しています。私たちは、ABCI を超えて IBC と連携して構築されるアプリケーション開発者の成長するエコシステムへの導入を促進しながら、Cosmos SDK チームおよび現在のユーザーとの緊密な連携を継続することを目指しています。CometBFT の根本的な長期目標は、インターチェーンの成長をサポートする上で重要な役割を果たすことです。
より具体的には、CometBFT の目的は次のとおりです。
- ユーザー重視を徹底し、ユーザーのニーズを最優先に考えた明確な製品戦略を採用しています。これは、CometBFT の関連性と実用性を確保するための戦略的な選択です。
- 品質保証と正確性保証を改善し、モデルベースのテストなどの高度な技術を使用して実装を厳密に指定してテストすることを目指しています。当社は、大規模なテスト作業によってすでに補完されていた既存の QA を強化するために、仕様と形式的な手法に関する専門知識を導入しています。
- モジュール性、抽象化の適切な境界に焦点を当て、必要に応じてシステムを分離できるようにし、システムに依存するプロジェクトで少しずつ統合できるようにします。私たちは、CometBFT をライブラリとして使用できるようにし、増え続けるユースケースをサポートする新しいインターフェイスを提供することでフォークと断片化を最小限に抑えたいと考えています。
- 変更に対する健全なプラットフォームとして機能するシステムのアーキテクチャを段階的に更新することと、インターチェーン スタック全体にわたるよりスムーズなプロジェクト調整により、品質を犠牲にすることなく機能を迅速に展開できます。
CometBFT の背後にいるのは誰ですか?
CometBFT の立ち上げは複数の組織による決定でした。CometBFT は、Cosmos の多数の関係者と協力して Informal Systems によって管理されています。この立ち上げには、Cosmos SDK、IBC、Osmosis、Cosmos Hub を含むインターチェーン全体の複数のチームにわたる作業と、Agoric、Axelar、Oasis、Penumbra、Celestia、Anoma、Skip、Umee、Confio、Nomic、Numia、sei、Evmos との調整が含まれていました。 、ソムリエ、アンドロメダ、クロノスなど。
Informal の CometBFT チームは、最も才能があり情熱的な Cosmos コントリビューターで構成されています。Twitter では、コア チーム メンバーや他のインターチェーン チームからの貢献メンバーを紹介してフォローアップしていきます。現時点では、コア チームは、合わせて数十年の経験を持つリサーチ エンジニア、ベテランの DevOps エンジニア、ソフトウェア エンジニア、そして Cosmos で合計 10 年以上の経験を持つプロジェクト、製品、および技術のリードで構成されていると言うだけで十分です。
当面の次のステップは何ですか?
CometBFT の打ち上げは、現在も継続中の重要な取り組みです。知っておくべき重要な点がいくつかあります。
あなたの仕事が CometBFT に依存している場合は、隔週木曜日に開催されるコミュニティ コールへの参加を検討してください。https://groups.google.com/g/cometbft-community/。GitHub リポジトリに加えて、コミュニティ コールは CometBFT の開発について議論するための重要なフォーラムです。開発者がユーザーからのフィードバックを収集し、質問に回答し、ユーザーとして他のユーザーと貴重な知識を交換する場所です。
アプリケーションが Cosmos SDK 上に構築されている場合: 0.45、0.46、および 0.47 ラインの新しい SDK バージョンが Cosmos SDK チームによってリリースされます。これらのリリースでは、Interchain Stack の貢献者とプロジェクト間の合意に従って、Tendermint Core 0.34 の代わりに CometBFT v0.34 が使用されます。この SDK バージョンへのアップグレードはマイナーなバージョン変更であるため、調整されたアップグレードは必要ありません。Cosmos SDK 変更ログには、アプリケーションに関連する変更が文書化されます。
Tendermint Core 上に直接構築している場合:メンテナとして、Tendermint Core v0.34 から CometBFT v0.34 に切り替えることをお勧めします。最初のリリースがリリースされたら、アップグレード手順を提供します。こちらの Github リポジトリに注目してください。
Tendermint Core のフォークを保守している場合:関連する変更を CometBFT のフォークにリベースまたはチェリーピッキングするなどして、できるだけ早く CometBFT に移行することをお勧めします。喜んでこのプロセスをお手伝いさせていただきます。さらに、フォークを維持する必要性をなくすための特定の要件に関するフィードバックや情報も歓迎します (以下の「コミュニティ」リファレンスを参照)。
参考文献
ここには、Comet に関連する公式リンクと手順があります。
- CometBFT コンセンサス エンジンはどこで見つけられますか?https://github.com/cometbft/cometbft/。リポジトリにスターを付けることを忘れないでください。
- サポートを見つけるにはどうすればよいですか? あなたが開発者の場合、サポートに最適な場所は、「#cometbft」チャネル内のCosmos Network Discord サーバーです。
- 私たちは、迅速なフィードバックとコミュニケーションを可能にし、この移行期間に対処するために Telegram チャネルを導入しました。ここから参加してください:https://t.me/CometBFT
- ドキュメントへのリンク:https://docs.cometbft.com/
- プロジェクトの新しいハンドルは次のとおりです。GitHub 組織:https://github.com/cometbft/。Discord: Cosmos Networkサーバーで`#cometbft`チャンネルに参加します。既存の「#tendermint-core」チャネルは非推奨になります。
- Twitter: お知らせと更新情報は@cometbftおよび@informalincから送信されます。
- 一般的な情報については、[email protected] を参照してください。
- セキュリティまたは脆弱性については、[email protected]までお問い合わせください。
CometBFT の基礎となるコンセンサス アルゴリズムは何ですか?
CometBFT の基礎となるコンセンサス アルゴリズムは、現在Tendermint Consensusに基づいています (つまり、その実装です) 。
CometBFT は Tendermint コンセンサス アルゴリズムから離れるのでしょうか?
初期リリースにはありません。私たちは CometBFT を、デフォルトのコンセンサス アルゴリズムを他のものに簡単に交換できる、コンポーザブル コンセンサス ライブラリとして構築することを目指していますが、コア メンテナによって実装されたものに限定されません。
また、他のユーザーが必要とする変更をメインの開発ラインにアップストリームするために、コンセンサス アルゴリズムなどに変更や最適化を行ったチーム ( LINE、PeggyJV、SeiNetwork、またはCelestia Orgによるフォークを参照) と協力する予定です。
インターチェーンを強化する Tendermint Core の競合するフォークが複数存在するのでしょうか?
すべてオープンソースなので、可能性はあります。ただし、正規のビルディング ブロックは CometBFT の上に構築されます。Cosmos チェーンは、CometBFT 上に構築される Cosmos SDK (@cosmossdk) を使用して構築されます。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 のバイナリ名は変更されますが、ほとんどのアプリケーションには、Tendermint Core がコンパイルされた (CometBFT に置き換えられた)アプリ固有のバイナリ ( `osmosisd`、`gaiad`など) があります。別の Tendermint Core バイナリを実行しない限り、これは操作に影響しません。関連する変更は、`TMHOME`環境変数の名前が`CMTHOME`に変更されることです。「gaiad tendermint」などのサブコマンドは、バイナリを保守しているチームによっては、やがて名前が変更される可能性があります。これは変更ログにも明確にマークされます。
テンダーミント-rs
( 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) 彗星が私たちの惑星に最接近するのと一致します。この彗星の明るさは今日ピークに達し、観測者に忘れられない視覚体験を提供する予定です。

![とにかく、リンクリストとは何ですか?[パート1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































