CometBFT is a state machine replication engine for the Interchain Stack. In February 2023, it was forked from Tendermint. You can read the initial announcement here. CometBFT is currently being stewarded by Informal Systems with support from many contributors across the interchain stack, including the Cosmos SDK and IBC teams.
CometBFT has wrapped up an eventful Q3 with a focus on Bandwidth consumption optimization and Storage usage optimization. Check out details on our GitHub project
We are excited to have released CometBFT v0.38.0. This release includes the second part of ABCI++, called ABCI 2.0. ABCI 2.0 introduces the ABCI methods ‘ExtendVote’ and VerifyVoteExtension
. You can find the announcement on Twitter along with release notes here
During Q4, we aim to reach the significant milestone of releasing v1 for CometBFT. We are also continuing to work on optimizing storage and bandwidth, and exploring various enhancements that may extend into 2024
As we approach the end of the year, we are looking towards 2024 and the priorities highlighted in the Interchain Stack Roadmap 2024. We will ensure that CometBFT continues to evolve and meet the needs of the community.
It feels like just yesterday we announced the forking of CometBFT from Tendermint in February 2023! And now, after intense development for the last 2 years and numerous contributions from various teams we've completed a productive third quarter. Our primary focus areas during this period were Bandwidth and Storage Optimization, and the release of CometBFT v0.38.0. The release of v0.38 was strategically timed and aligned with SDK v0.50 release (which in turn was timed with IBC-go v8 release). The interchain stack teams are aligning releases for landing impactful changes across the system in a coordinated way.
In Q3, the Bandwidth Optimization squad conducted a series of experiments and implemented modifications to the gossip protocol. These experiments led to numerous intriguing discoveries, and the team is excited to further explore these findings.
Additionally, the Bandwidth Optimization squad made significant improvements to the end-to-end testing infrastructure, such as ways to generate random topologies, which is expected to improve the accuracy of experimental results and accelerate the QA process on a larger scale.
The Storage Optimization squad was also very busy during Q3. The most significant milestone for the team was the implementation of new gRPC services outlined in the ADR-101, which introduced new services such as a BlockService, a BlockResultsService, and a block and indexer PruningService , which allows for better control of Block, Block Results, and indexed data via a Retain Height parameter. These new services give users more fine-grained control over what data remains stored on a CometBFT node.
Another significant milestone from the Storage Optimization Squad was modifying the pruning mechanism from synchronous to asynchronous, thus not blocking consensus on block pruning.
The squad also worked on other storage optimization improvements, such as removing the genesis file from the database. Removing the genesis file from the database is essential for our users whose genesis file exceeds the value size limitations of particular databases, thus causing nodes to crash.
As we march into Q4, our biggest priority is the release of v1 for CometBFT. In this major release we plan to include:
Releasing a version as significant as v1 comes with its own set of challenges. We recognize the potential implications and are committed to ensuring a smooth transition for our users. Your perspective matters! We'll be inviting users to share their thoughts on what might be breaking for them and how we can assist in the transition.
Beyond the primary goals, we've also identified some "nice-to-have" features. While we're passionate about these, some might shift into our 2024 roadmap:
Further Storage optimization
Versioning sub-packages as separate Go modules
Continued Bandwidth optimizations
Proposer Based Timestamp (PBTS)
Our immediate upcoming release, v1 will include improvements such as Bandwidth and Storage optimization, the Data Companion API (which will eventually subsume the indexer and RPC sub-systems), and versioning of the .proto files.
Many people from our team had the privilege of attending the Cosmoverse 2023 conference in Istanbul. The event was a great success with many developers, builders, and operators from various chains and projects in attendance. We were thrilled to have the opportunity to meet with them and receive valuable feedback on our work, as well as discuss our future priorities. Overall, it was an enriching experience, and we look forward to attending more conferences like this in the future.
We are thankful to the Cosmos SDK team at Binary Builders for teaming up with CometBFT staff in holding a workshop on the topic of ABCI++ and plumbing the depth of this new powerful feature.
The hackathon organized by DoraHacks turned out to be a huge success, with the CometBFT and Cosmos SDK track garnering the most submissions. Our team and Binary Builders were present at the event to assist developers in creating their solutions and provide in-person support on ABCI++. The event saw some great ideas being proposed, and the winners were announced as well.
Our journey doesn't stop with the close of 2023. We've already begun laying the groundwork for our 2024 priorities. Our overarching goals include:
Encouraging the adoption of v0.38.0 in production across chains.
Supporting and fostering innovations around ABCI++.
Expanding our application scope to explore realms like Rollkit, OP Stack, and more.
In the Interchain Stack Roadmap for 2024, we have identified our Key Strategic Themes as Use Cases, Efficiency, IBC, Peace of Mind, and UX. Additionally, we have prioritized a list of sub-projects that are expected to drive the desired outcomes for users based on the outputs of these themes.
Our top priority sub-projects will be the Targeted bandwidth optimization, Targeted storage optimization and Modularize the consensus engine. For other sub-projects please check the Roadmap document linked above.
Our CometBFT community calls have transitioned from bi-weekly to monthly, ensuring richer content and greater convenience for developers. We'd love to have you onboard! Sign up for our calls here.
Feel free to connect with our team on Discord and Telegram for any queries or discussions related to CometBFT. We are always ready to assist and provide you with the necessary information. So don't hesitate to reach out - let's keep the conversation going!
Thank you for being a part of our journey. We're grateful for your continuous support and feedback, and excited for the road ahead. Let's work together to make CometBFT even better! 🚀
Stay updated: Follow @cometbft on Twitter.