Informal Systems

2023-11-14

CometBFT Engineering Update: October 2023

Andy Nogueira • 2023-11-14

Welcome to the October update from the CometBFT team at Informal Systems. In this update, we'll be sharing the latest developments and progress made by our team. 

During October, our team focused on completing tasks required for the upcoming CometBFT v1 Alpha release. 

We also continued our efforts to optimize bandwidth and prepared experimental releases. 

Additionally, we added new features that allow application developers to improve the application performance by increasing parallelism.

Table of Contents

CometBFT v1

We have been making progress on the v1 alpha release. We’ve been working on renaming and versioning the Protobuf API and have merged some related PRs

To enhance the experience of integrators, we are versioning the RPC APIs

We have reduced the surface area of the Go API, which is available on a feature branch and may be included in v1. Any input from applications developers using CometBFT as a library would be appreciated.

If you want to know about all the features planned for v1, please refer to this issue.

Bandwidth optimization

The development team initiated a new strategy aimed at reducing the mempool transaction gossip bandwidth consumption. The approach involves limiting the number of connections used to gossip transactions, thereby increasing efficiency. 

This promising approach is expected to optimize the transmission of transactions and reduce overall network congestion. 

Experimental Releases

Starting from the v0.37 and v0.38 release lines, experimental releases will be made available. These releases will include advanced features from v1 that are more prone to risk. 

This means that users who are willing to take higher risks will be able to access new improvements earlier than waiting for an upgrade to v1.

Work on v0.38.x has been completed for ADR 101.

Boost application performance with new ABCI clients

In Tendermint Core/CometBFT, there has been an ongoing issue where queries could slow down the system's operation. 

Unfortunately, operators had no means to address this problem, such as increasing the number of available CPU cores, because the consensus engine's locking mechanism prevented them from doing so when interacting with the application. 

In October, a solution was merged into the main branch that targets CometBFT v1. However, it's still uncertain if this functionality will be backported for existing users. We are looking for input whether there is value in backporting this into v0.38.

Team Retreat

At the conclusion of the month, the team had the opportunity to participate in an in-person team retreat held in Montreal, Canada.

We were able to discuss our goals, brainstorm ideas and collaborate on various projects that will help us achieve our objectives. In particular, we iterated on our team processes and built shared context about 2024 plans among everyone in the team.

Despite the busy schedule, we also had time to enjoy the beautiful scenery, delicious food and vibrant culture of Montreal.

Outro

Thank you for taking the time to stay up-to-date with our work

If you have any questions or want to discuss anything related to CometBFT, feel free to connect with our team on Discord or Telegram. We are always ready to assist you and provide you with the necessary information. Don't hesitate to reach out and keep the conversation going!

Stay updated: Follow @cometbft on Twitter.

CometBFT is currently being stewarded by Informal Systems with support from many contributors across the interchain stack, including the Cosmos SDK and IBC teams.