Cosmos, temui CometBFT

Feb 02 2023
Hari ini kami mengumumkan peluncuran CometBFT, mesin replikasi mesin negara untuk interchain dan seterusnya! CometBFT adalah cabang dari, dan penerus, Tendermint Core, dan akan berfungsi sebagai mesin replikasi resmi yang menggerakkan Stack Interchain. Visi jangka panjang untuk CometBFT adalah menjadi pilihan utama mesin replikasi untuk blockchains khusus aplikasi yang andal, aman, berskala besar.

Hari ini kami mengumumkan peluncuran CometBFT, mesin replikasi mesin negara untuk interchain dan seterusnya! CometBFT adalah cabang dari, dan penerus, Tendermint Core , dan akan berfungsi sebagai mesin replikasi resmi yang menggerakkan Interchain Stack . Visi jangka panjang untuk CometBFT adalah menjadi pilihan utama mesin replikasi untuk blockchains khusus aplikasi yang andal, aman, berskala besar. Komit blok Anda dengan CometBFT hari ini!

Interchain Foundation, Informal Systems, tim Cosmos SDK, dan banyak tim lainnya di ekosistem Cosmos telah bekerja sama untuk mempersiapkan peluncuran ini. Posting ini membahas beberapa pertanyaan paling penting seputar peluncuran ini. Yakinlah, kami telah bekerja keras untuk meningkatkan atau mengadopsi CometBFT semulus mungkin. Kami akan membahas detail latar belakang, visi dan tujuan CometBFT, tim di balik upaya ini, dan langkah selanjutnya dalam hal implikasi teknis.

Kenapa sekarang?

Kami memutuskan untuk mengembangkan mesin konsensus Cosmos andalan dengan nama baru ini untuk menandai beberapa perubahan penting yang melanda seluruh ekosistem.

Di sisi teknis, interchain telah berkembang secara signifikan dalam beberapa tahun terakhir. Kita hidup di dunia multi-rantai asli IBC. ABCI 2.0 adalah bagian penting yang hilang dari Interchain Stack, begitu pula aspek desain atau jaminan kualitas seperti modularitas, integrasi, atau pengujian ketat. Selain itu, pengabaian rilis Tendermint Core v0.35 dan v0.36 mengungkap keterbatasan teknis tentang cara pengembangan dilakukan; lihat di sini untuk lebih jelasnya.

Pada tahun 2022, organisasi yang memelihara Interchain Stack memprakarsai pendekatan strategis untuk memitigasi keterbatasan teknis di atas. Pendekatan ini melibatkan membangun dan mendedikasikan tim yang lengkap untuk Tendermint Core di Sistem Informal. Selain itu, dalam mempersiapkan rilis kami mulai memprioritaskan kualitas dan integrasi dengan Interchain Stack lainnya (yaitu, Cosmos SDK, IBC , dan blok bangunan interchain yang lebih luas).

Di sisi administratif, kami tidak memiliki organisasi GitHub tendermint atau hak merek dagang atas “Tendermint''. All in Bits (AiB) adalah pemiliknya. Pengembangan perangkat lunak Tendermint Core telah dilakukan di luar All in Bits selama tiga tahun terakhir. Namun, kepemilikan merek dagang oleh AiB menimbulkan risiko tindakan merek dagang yang berkelanjutan. Tanpa perjanjian yang rumit dengan AiB, tidak mungkin untuk sepenuhnya memitigasi risiko yang menggantung di kepala pengembang bagian paling kritis dari Stack Interchain.

Seperti yang kami sebutkan sebelumnya di Twitter dan per diskusi ini , AiB secara sepihak memutuskan untuk mengarsipkan repositori Tendermint Core. Dengan demikian, jalan ke depan untuk melanjutkan lintasan pengembangan, dan seperti yang didorong oleh AiB, adalah dengan melakukan fork pada repositori Tendermint Core. CometBFT akan dibangun di atas fondasi yang diletakkan oleh Tendermint Core, dengan pengembangan baru yang berfokus pada pengguna, kualitas, dan integrasi.

Sejalan dengan masalah teknis dan administratif ini, perubahan yang paling penting adalah visi, tujuan, dan administrasi jangka panjang proyek. Ini membawa kita ke bagian selanjutnya dari diskusi ini.

Apa berikutnya?

Sebagai pelayan yang berkomitmen terhadap ekosistem Cosmos dan interchain, Interchain Foundation berfungsi sebagai tuan rumah yang andal untuk pendanaan dan aset barang publik. ICF telah menjadi pemilik merek dagang “Cosmos” sejak awal, dan melindungi penggunaannya demi kepentingan terbaik masyarakat luas. Demikian pula, ICF telah merek dagang nama "CometBFT" dan mendirikan organisasi CometBFT GitHub , dan bermaksud untuk mengelola keduanya untuk jangka panjang demi kepentingan interchain yang berkembang. CometBFT akan tetap open source dan berlisensi Apache2.0. Kami mengundang semua pihak yang berkepentingan untuk berkontribusi pada pertumbuhan dan pengembangan perangkat lunak ini dan untuk mempromosikan nilai sumber terbukanya.

Seperti disebutkan sebelumnya, mandat jangka panjang untuk CometBFT adalah menjadi pilihan utama mesin replikasi untuk interchain. Tim CosmosSDK, tim IBC, pengelola CometBFT, dan banyak tim teknik yang terdiri dari interchain, baik di tingkat aplikasi maupun barang publik, memiliki visi yang sama untuk menjadikan CometBFT tempat di mana tim dapat bereksperimen dengan fitur baru, membangun dan ulangi dengan pengoptimalan, dan pastikan tingkat fleksibilitas yang tinggi bagi pengguna, dengan tetap menjaga integritas dan ketangguhan tumpukan. Jika Anda adalah kontributor Interchain Stack, mengoperasikan validator atau node, berintegrasi dengan ekosistem lain, atau mencari jalan di sekitar Cosmos sebagai pengguna baru, bantuan Anda akan sangat dihargai untuk mewujudkannya. Lihat "Referensi" di bawah ini tentang cara menghubungi kami.

Apa tujuan CometBFT?

Seperti dijelaskan di atas dan sebelumnya , ini menandai fase baru dalam interchain. Mesin konsensusnya berkembang menjadi blok bangunan khusus untuk dunia asli IBC. Kami berusaha untuk terus bekerja sama dengan tim Cosmos SDK dan pengguna saat ini, sambil memfasilitasi adopsi untuk ekosistem pengembang aplikasi yang berkembang di atas ABCI dan dengan IBC. Tujuan jangka panjang yang mendasari CometBFT adalah memainkan peran penting dalam mendukung pertumbuhan interchain.

Lebih khusus lagi, tujuan CometBFT adalah:

  1. Fokus pengguna yang kuat , dengan strategi produk yang diartikulasikan dengan jelas yang mengutamakan kebutuhan penggunanya. Ini adalah pilihan strategis untuk memastikan CometBFT relevan dan menyediakan utilitas.
  2. Meningkatkan jaminan kualitas dan jaminan kebenaran, yang bertujuan untuk menentukan dan menguji implementasi kami secara ketat menggunakan teknik canggih seperti pengujian berbasis model. Kami membawa keahlian kami dalam spesifikasi & metode formal untuk memperkuat QA yang ada, yang telah dilengkapi dengan upaya pengujian skala besar.
  3. Modularitas , berfokus pada batas abstraksi yang tepat, memungkinkan sistem untuk dipisahkan jika dan jika perlu, memungkinkan integrasi sepotong-sepotong dalam proyek yang bergantung padanya. Kami ingin memungkinkan CometBFT untuk semakin sering digunakan sebagai perpustakaan, dan untuk meminimalkan percabangan dan fragmentasi dengan menyediakan antarmuka baru untuk mendukung rangkaian kasus penggunaan yang terus berkembang.
  4. Peluncuran fungsionalitas yang lebih cepat tanpa mengorbankan kualitas dengan cara memperbarui arsitektur sistem secara progresif untuk bertindak sebagai platform yang baik untuk perubahan, serta dengan koordinasi proyek yang lebih lancar di seluruh Interchain Stack.

Siapa di belakang CometBFT?

Meluncurkan CometBFT adalah keputusan multi-organisasi. CometBFT dikelola oleh Sistem Informal bekerja sama dengan sejumlah besar pemangku kepentingan Cosmos. Peluncuran melibatkan kerja di beberapa tim di interchain, termasuk Cosmos SDK, IBC, Osmosis, Cosmos Hub, dan koordinasi dengan Agoric, Axelar, Oasis, Penumbra, Celestia, Anoma, Skip, Umee, Confio, Nomic, Numia, Sei, Evmos , Sommelier, Andromeda, Cronos di antara banyak lainnya.

Tim CometBFT di Informal terdiri dari beberapa kontributor Cosmos yang paling berbakat dan bersemangat. Kami akan menindaklanjuti di Twitter dengan memperkenalkan anggota tim inti serta anggota yang berkontribusi dari seluruh tim interchain lainnya. Untuk saat ini, cukup untuk mengatakan bahwa tim inti terdiri dari insinyur penelitian, DevOps veteran, dan insinyur perangkat lunak dengan pengalaman gabungan puluhan tahun, serta pemimpin proyek, produk, dan teknologi dengan pengalaman gabungan 10+ tahun di Cosmos.

Apa langkah segera selanjutnya?

Peluncuran CometBFT merupakan upaya substansial yang masih berlangsung. Berikut beberapa hal penting yang perlu diketahui.

Jika pekerjaan Anda bergantung pada CometBFT , pertimbangkan untuk bergabung dengan panggilan komunitas, yang diselenggarakan setiap dua minggu pada hari Kamis:https://groups.google.com/g/cometbft-community/. Selain repositori GitHub, panggilan komunitas merupakan forum penting untuk membahas perkembangan CometBFT. Ini adalah tempat bagi pengembang untuk mengumpulkan umpan balik dari Anda, menjawab pertanyaan, dan bagi Anda, sebagai pengguna, untuk bertukar pengetahuan berharga dengan pengguna lain.

Jika aplikasi Anda dibangun di atas Cosmos SDK: Versi SDK baru untuk baris 0.45, 0.46, dan 0.47 akan dirilis oleh tim Cosmos SDK. Rilis ini akan menggunakan CometBFT v0.34 alih-alih Tendermint Core 0.34, sesuai kesepakatan di antara kontributor dan proyek Interchain Stack. Memutakhirkan ke versi SDK ini tidak memerlukan pemutakhiran terkoordinasi, karena ini adalah perubahan versi kecil. Log perubahan Cosmos SDK akan mendokumentasikan perubahan yang relevan untuk aplikasi Anda.

Jika Anda membangun langsung di atas Tendermint Core: Sebagai pengelola, sebaiknya Anda beralih dari Tendermint Core v0.34 ke CometBFT v0.34. Kami akan memberikan instruksi pemutakhiran setelah kami memotong rilis pertama kami. Awasi repo Github di sini .

Jika Anda mempertahankan fork Tendermint Core: Kami merekomendasikan transisi ke CometBFT sesegera mungkin, misalnya, dengan mengubah basis atau memetik ceri perubahan Anda yang relevan ke fork CometBFT. Kami akan dengan senang hati membantu dalam proses ini. Selain itu, kami akan menyambut umpan balik dan informasi Anda tentang persyaratan khusus Anda untuk menghilangkan kebutuhan Anda untuk memelihara garpu (lihat referensi "komunitas" di bawah).

Referensi

Di sini Anda akan menemukan tautan dan instruksi resmi yang relevan dengan Komet:

  • Di mana menemukan mesin konsensus CometBFT?https://github.com/cometbft/cometbft/. Jangan lupa beri bintang pada repo!
  • Bagaimana mencari dukungan? Jika Anda seorang pengembang, tempat terbaik untuk mendapatkan dukungan adalah server Cosmos Network Discord, di saluran `#cometbft` .
  • Kami telah memperkenalkan saluran Telegram untuk memungkinkan umpan balik dan komunikasi yang cepat, dan untuk menangani periode transisi ini. Silakan bergabung di sini:https://t.me/CometBFT
  • Tautan ke dokumentasi:https://docs.cometbft.com/
  • Pegangan baru untuk proyek, sebagai berikut. Organisasi GitHub:https://github.com/cometbft/. Perselisihan: Di server Cosmos Network , bergabunglah dengan saluran `#cometbft` . Saluran `#tendermint-core` yang ada tidak akan digunakan lagi.
  • Twitter: Pengumuman dan pembaruan akan dilakukan dari @cometbft dan @informasilinc .
  • Untuk informasi umum: [email protected] .
  • Untuk keamanan atau kerentanan: [email protected] .

Apa algoritma konsensus yang mendasari CometBFT?

Algoritme konsensus yang mendasari CometBFT saat ini didasarkan pada (yaitu, implementasi dari) Konsensus Tendermint .

Akankah CometBFT menjauh dari algoritme konsensus Tendermint?

Tidak di rilis awal. Kami bertujuan untuk membangun CometBFT sebagai perpustakaan konsensus yang dapat disusun di mana algoritme konsensus default dapat dengan mudah ditukar dengan yang lain, tetapi tidak terbatas pada yang diterapkan oleh pengelola inti.

Kami juga berencana untuk bekerja dengan tim yang melakukan perubahan atau pengoptimalan pada algoritme konsensus atau di tempat lain (lihat percabangan oleh LINE , PeggyJV , SeiNetwork , atau Celestia Org ) untuk meningkatkan modifikasi yang dibutuhkan pengguna lain ke jalur pengembangan utama.

Apakah akan ada beberapa garpu Tendermint Core yang bersaing yang menggerakkan interchain?

Itu semua open-source, jadi mungkin ada. Namun blok bangunan kanonis akan dibangun di atas CometBFT. Rantai Cosmos dibuat dengan Cosmos SDK (@cosmossdk), yang akan dibangun di atas CometBFT. Pengembangan Cosmos SDK akan berlanjut seperti biasa.

Di tingkat IBC, perpustakaan akan terus mendukung klien ringan Tendermint; CometBFT berisi implementasi dari algoritma konsensus Tendermint, oleh karena itu klien ringan Tendermint akan terus bekerja dengan CometBFT seperti biasa.

Tim mana pun dapat melakukan fork CometBFT dan mengganti mesin replikasi dalam aplikasi mereka. Namun kami menyarankan Anda untuk menghubungi kami jika Anda memerlukan perubahan yang signifikan (lihat “Bagaimana menemukan dukungan?” di atas). Kami akan mempertimbangkan kebutuhan Anda dan menyesuaikan peta jalan teknis kami untuk menghindari, jika memungkinkan, percabangan yang tidak perlu atau tidak aman.

Apakah ini akan menyebabkan rantai bercabang?

Sebuah perusahaan "tidak". Sistem berbasis Tendermint Core v0.34 dapat ditingkatkan ke CometBFT v0.34. Dan lini CometBFT v0.34 akan tetap kompatibel dengan Tendermint Core v0.34.

Jika saya melakukan validasi pada jaringan berbasis Tendermint Core, apakah ada masalah dengan operasi saya?

Kami akan dengan hati-hati memberi sinyal perubahan yang dapat merusak di log perubahan rilis, dan perubahan yang dapat merusak akan minimal. Nama biner untuk Tendermint Core akan diubah, tetapi sebagian besar aplikasi memiliki biner khusus aplikasi (seperti `osmosisd` , `gaiad` ) dengan Tendermint Core dikompilasi (digantikan oleh CometBFT). Kecuali jika Anda menjalankan biner Tendermint Core yang terpisah, ini tidak akan memengaruhi operasi Anda. Perubahan yang relevan adalah `TMHOME` env var akan diganti namanya menjadi `CMTHOME` . Sub-perintah seperti `gaiad tendermint` mungkin diganti namanya pada waktunya, tergantung pada tim yang memelihara biner. Ini juga akan ditandai dengan jelas di changelog.

Apa yang terjadi pada tendermint-rs
(
https://github.com/informalsystems/tendermint-rs/ )?

Kami akan segera mengganti nama proyek ini menjadi cometbft-rs dan melanjutkan pengembangan.

Apa yang terjadi pada tm-db atau tm-load-test?

Kami bercabang dan mengganti nama tm-db menjadi cometbft-db dan akan melanjutkan pengembangan. Tidak ada API yang rusak, dan penggunaannya sama, kecuali modul Go yang berbeda: `github.com/cometbft/cometbft-db`.

Kami akan memindahkan dan mengganti nama tm-load-test menjadi cmt-load-test dan akan melanjutkan pengembangan. Catatan: Beberapa nama di atas mungkin masih berubah-ubah.

PS. Dengan kegembiraan kosmik, peluncuran CometBFT bertepatan dengan Komet C/2022 E3 (ZTF) yang melakukan pendekatan terdekat ke planet kita . Kecerahan komet diatur ke puncak hari ini dan untuk memberikan pengalaman visual yang tak terlupakan bagi mereka yang mengamatinya.