1/ Today we announce the launch of CometBFT, a state machine replication engine for the interchain!
CometBFT is a fork and successor of Tendermint Core, stewarded by
@informalinc
and supported by
@interchain_io
on behalf of the wider
@cosmos
The long awaited ABCI++ features will soon be made available in CometBFT.
ABCI++ will be incrementally released across two versions:
ABCI 1.0
👉 PrepareProposal (to be released in cometbft v0.37)
👉 ProcessProposal
ABCI 2.0
👉 VoteExtensions (v0.38)
👉 FinalizeBlock
And we ship some more!
We are thrilled to announce the launch of CometBFT's new documentation website!
Whether you're a developer, researcher, or enthusiast, you can now easily access the information you need to understand and work with CometBFT.
🚢 This week we ship
CometBFT v0.34.27 is out! This is the first release of CometBFT ☄️
This particular release is intended to be compatible with the Tendermint Core v0.34 release series.
1/n
🚀 We are thrilled to announce v0.38.0 which includes the 2nd part of ABCI++ with methods like - ExtendVote & VerifyVoteExtension.
0.38 is the fruit of 2 years of hard work of multiple core teams & collaborators & we are excited to ship it!
Detail -
🚢 This week we ship
CometBFT v0.34.27 is out! This is the first release of CometBFT ☄️
This particular release is intended to be compatible with the Tendermint Core v0.34 release series.
1/ Introducing the Interchain Stack Roadmap!
The first comprehensive roadmap outlining the future of CometBFT, Cosmos SDK, CosmWasm, and IBC.
The focus: modularity, developer experience, paying off technical debt, and user adoption.
This week we ship, continuation..
Beside and v0.34.27, scheduled for this week is the release candidate 3 for v0.37
Teams who want to play with ABCI1.0, specifically, PrepareProposal and ProcessProposal, are welcome to try it out
It's April and we're feeling the spring vibes! The Comet team recently took some time for backlog grooming and house-cleaning, which led us to prioritize a few key initiatives for the next three months of work.
The release of Eden (v0.50.0) by the
@cosmossdk
team is a significant milestone that deserves recognition. We appreciate their efforts in incorporating the Cometbft release v0.38, which includes the complete ABCI++ implementation, along with many other exciting features.
The
@notionaldao
team raised awareness of a bug in the P2P layer in Tendermint Core.
To address this problem, with help from the Notional team, the CometBFT team cut v0.34.25 from Informal's fork of Tendermint Core.
Hey
@CosmWasm
wizards 🪄
Have you ever explored the potential of ABCI to build applications on top of CometBFT?
Or do you have some other cosmic ideas for what can be built using ABCI++?
Share in comment below 👇
We are thrilled to share that the highly anticipated first v1 alpha version of
@CometBFT
has been released. This marks a significant milestone in the history of CometBFT, for more details please see the blog post below:
Hello hello CometBFT community,
We hope everyone had a blast in Paris for the flurry of conferences that recently took place.
This is a reminder that today at 5pm CEST we are holding the CometBFT community call. ☄️💡
We plan to cover the following topics:
CometBFT release
🎙️ Today we are cutting our new CometBFT v0.38.0-alpha.1 release, which includes ABCI 2.0. This pre-release is an important milestone for us and we're eager to hear your feedback.
We have new patch releases for CometBFT, containing new features, improvements and bug fixes. These updates include some noteworthy changes such as mempool enhancements and features like a new metric to monitor the mempool size in bytes.
The Cosmos Hackathon in Istanbul over the weekend was truly inspiring. The
@CometBFT
/
@cosmos
track had an overwhelming number of submissions and we were blown away by the innovative solutions presented by the teams.
Yesterday at the community call we dove deeply into 2 topics: (1) upgrades, and (2) same-block execution.
First, there was the question of how should Comet-based networks handle synchronizing a new node from genesis? This task is severely complicated by breaking upgrades.
Yesterday at the community call we touched on
@SeiNetwork
innovations at the block propagation mechanism, optimistic processing (same block execution) & state sync parallelization
Many thanks to
@philipsu522
for briefly walking us through that.
See also
@jayendra_jog
's thread
1/ A story about Twin-Turbo consensus -- two major changes
@SeiNetwork
is making to the block propagation and consensus layer to get ~83% improved throughput
This Thursday (tomorrow) at the CometBFT community call we plan on discussing requirements for handling upgrades (soft upgrade mechanism requirements) as well as ABCI++.
If you'd like to attend the community calls, get in touch with us and we'll share the details.
To all users of CometBFT 📣
Today at the community call we'll be covering 3 topics:
1/ Team updates, including v0.38 (last phase of ABCI++) and performance impact of Vote Extensions.
2/ A PubSub query corner-case we have uncovered and would like to gather feedback on.
Hey everyone, we have released some new patches for CometBFT. The most significant feature in some of these releases is the nop mempool (ADR-111) for applications that want to build their own mempool. Here are the details...
Reminder:
Join the CometBFT community call today! ☄️
Agenda:
📢 Team Comet updates
⚠️ Vote Extension pitfalls for app developers
🔧 Proto changes for v0.39
📊 Data Companion API progress
Embrace the subtle gravitational pull of knowledge 😎
Join here -
If you're interested in staying up-to-date on
#InterchainStack
and
#IBC
developments, you'll want to follow the verified
@IBCProtocol
account. It's a great resource for developers and researchers who want to stay informed.
The Inter-Blockchain Communication Protocol
#IBC
is a blockchain interoperability solution that secures $30B+ in annual asset transfers for 100+ chains.
But it can be tough to understand how IBC works.
@ibcprotocol
aims to explain IBC for developers and researchers.
For a refresher on ABCI++, see here a recent presentation given by Josef from
@informalinc
at "The Lab Unplugged: Interchain MEV" event a couple of weeks ago, organized by
@ZKValidator
.
📢 CometBFT's May Update is here!!
🚀 Discover our new release candidate, our prioritization for Q3, Bug Fixes, and Event Participation.
Read the blog here 👇
As always, if anyone runs into any trouble using our fork of Tendermint Core, or if you have questions about CometBFT, please feel free to reach out any time!
Many thanks to Jorge Hernandez () and
@gadikian
in particular!
📣 On February 10 we cut our first CometBFT pre-release to act as an official integration point for users who, up to now, may have been working off of our v0.34.x branch.
Part of the Comet team plans to attend GtC in early June.
We plan on giving a keynote & holding workshop about CometBFT!
🤠 What should we cover in the keynote?
👾 What should we demo during the workshop?
Attention Cosmonauts 👋
Get ready for the ultimate
#CryptoConference
! We're bringing together the brightest minds & innovators in the
@cosmos
ecosystem.
Meet the community, engage, learn, and build together 🤝
Feel the vibe? Secure your spot NOW! 👉
With Vote Extensions coming in Comet/SDK, Cosmos unlocks censorship resistant, decentralized Oracles!
The Skip team wrote an example of how to use them to create an Oracle for your chain.
See here 👉
Shoutout
@aleksb3z
for working on this!
It's time for the October Engineering Update by the
@CometBFT
team. In this update, we'll be sharing our team's latest developments and progress.
Find all the insights of the October engineering events on the blog post below.
We're pleased to share...
mev-tendermint (now: mev-cometbft) has successfully completed an audit with
@informalinc
!
Who better to audit Skip's open-source Cosmos MEV repo than the original consensus creators themselves 🧠
TLDR; only minor vulnerabilities found, all patched 🔨
To the attention of all network operators and validators! 📢
We would like your feedback.
Our team is investigating some simplifications to the mempool logic. We would like to know from you:
What is the config settings you use for the mempool size and cache_size?
As we approach the launch of v4 Mainnet, we want to provide a peek into what the dYdX team is building. This post presents a high-level overview of the architecture of v4. Read more below 👇
The
@CometBFT
team is pleased to announce the release of CometBFT v0.38.3. This version includes a fix for a security issue and several minor fixes and improvements
This week we ship, continuation..
Beside and v0.34.27, scheduled for this week is the release candidate 3 for v0.37
Teams who want to play with ABCI1.0, specifically, PrepareProposal and ProcessProposal, are welcome to try it out
*
@Ali_the_Curios
of
@informalinc
will introduce
@cometbft
, discuss the features that set it apart from other blockchain protocols and take a deep dive into the technical details. You will learn about its code, architecture, and the cryptographic primitives that keep it secure.
Big Announcement 📣
I’m more than ecstatic to share that I have joined
@informalinc
as Developer Relations Engineer for
@cosmos
consensus fork -
@cometbft
.
14/14 For full upgrading instructions, please see our GitHub page.
We're excited to see what new and innovative applications will be built on CometBFT v0.37!
2/14 Did you know that most Cosmos mainnets are running on Tendermint Core v0.34, originally released in Nov 2020? This release has seen the most amount of use, arguably, among all BFT consensus implementations across various networks. It is a battle-tested replication engine.
1/ As we approach the end of 2023, the
@CometBFT
team reflects on a year of notable events that have left an memorable mark on our journey. We take pride in reflecting on the most important milestones that we have achieved and look forward to building even more in the coming year
4/14 But interchain apps need more control over the replication engine & access to a broader set of features.
CometBFT v0.37 (ABCI1.0) and v0.38 (ABCI2.0) are here to address this need.
To clarify:
Both `PrepareProposal` and `ProcessProposal` (ABCI1.0) will be released in cometbft v0.37.
Both `VoteExtensions` and `FinalizeBlock` (ABCI2.0) are scheduled for release in v0.38.
This release sets a high standard for future developments and encourages innovation in the field. We're eager to see how this release will inspire further progress and growth in the community. We highly recommend checking it out!
Internally, we have been thinking about what our major priorities should be once we're done with releasing v0.38 (ABCI 2.0), and it seems one of the best candidates is handling upgrades.
We'll followup on our priorities for Q2 (and beyond) once we've established them.
Exciting News: I'll be speaking at the
@EthCC
conference in Paris about
@cometbft
, and how developers can build apps on top of it. I will also touch on CometBFT's potential to revolutionize the field of distributed systems, for the public good.
5/14 What's new in v0.37?
The most important part is that it gives application developers access to `PrepareProposal` and `ProcessProposal` -- two new ABCI methods, representing ABCI1.0.
Our monthly community call is scheduled for tomorrow, Thursday, November 2nd. The agenda for the call includes discussions about the v1 release plan, the experimental features of the bandwidth improvements, and the Data Companion API release and back-porting.
This weekend team CometBFT will be at Gateway to Cosmos in Prague. Come talk to us!
Also, be sure to checkout
@Ali_the_Curios
's workshop on ABCI++ on Monday at 9.00 and
@AdiSeredinschi
's talk on "When Comets Align" at 15.00.
10/14 Besides immediate/optimistic execution, we are also aware of a use-case of ABCI1.0 that enables dealing with Byzantine or rational proposers towards regulating MEV. This is achieved by auctioning block space facilitated by the ProcessProposal method.
7/14 Through optimistic execution, applications can process transactions faster and obtain shorter block times. They do so by executing a block during PrepareProposal, while that block is still in the candidate (proposed) stage.
11/14 One other use-case building on ABCI1.0 is in
@CelestiaOrg
, where the application updates transactions with ProcessProposal towards separating control (meta-information) from data (information).
Listen to
@AdiSeredinschi
on the
@BareMetalPodcst
and discover firsthand the future of
@cometbft
. Adi provides valuable insights into Comet's history, CometBFT adoption, and contributors. Don't miss out on this fantastic episode!
Our monthly community call is scheduled for next week, on December 7th. We'll discuss several important topics, including the CometBFT v1 alpha release, nop mempool implementation, and bandwidth improvements. We'll also share details about our upcoming release EOL support policy
Both v0.37 & v0.38 have been in preparation for some time. We are thankful to all the teams that helped design & refine ABCI over the last ~2 years.
It is truly exciting to see all this work come to fruition, and the numerous apps interested to leverage ABCI2.0 new features!
PSA for validators: check your dashboards and monitors as I just found out that Prometheus metrics are changed on Omniflix with inclusion of Comet BFT.
8/14 When the block gets committed (which happens in the common case), the application will already have executed it and saved time on the critical path.
This can reduce the overall latency of a block.
Extra shout-out to
@gadikian
for offering quality feedback from his production experience and offering to follow-up on with new experiments with state syncing mainnets!
Upgrade are difficult because require maintaining multiple binaries, where each is associated with a breaking change.
Maintaining multiple binaries is fragile and unsustainable.
We thank leads from
@CelestiaOrg
and
@cosmossdk
for providing their perspective & requirements here!
2/n
The CometBFT 0.38.0 release introduced several significant changes and improvements:
ABCI 2.0 coalesces BeginBlock, DeliverTx, and EndBlock into one method, FinalizeBlock.
Dive into the new ABCI spec for more -
Join us during
@ParisBlockWeek
on March 23rd to discuss how exciting developments in blockchain infrastructure and interoperability are reshaping the future of crypto and decentralized applications!
Panels followed by networking and drinks 🥂
By theoretically, we mean we haven't reproduced the behaviour reliably to trigger this issue. We did see it appear in production networks. We are not sure, however, whether this is the result of active malice or misconfiguration on the part of the misbehaving peers.
13/14 Note that applications transitioning from v0.34 to v0.37 will require major changes, so we recommend application developers schedule ample time to upgrade and test with this version.
9/14 We also call this optimization 'immediate' execution. Not to be confused with 'same-block' execution (referenced below, which is not yet available).
Problems (4) and (5): Storage and Bandwidth consumption are expensive for operators running CometBFT nodes.
On the storage front, the problem is that pruning does not work effectively for operators.
This particular bug could theoretically be used as an attack vector to degrade network performance.
Out of an abundance of caution, we have issued a security advisory and would recommend replacing your Tendermint Core dependencies ASAP.
This highlights the importance of handling upgrades in a way that allows nodes to synchronize smoothly despite breaking changes, leading us back to the first topic of discussion and motivating us to prioritize that work.
Solutions: We are continuing the investigation to reduce non-vote bandwidth consumption (e.g. block parts or tx-es). An important element of this work comprises the drawing of specifications for the P2P and consensus modules.
Many thanks to
@aleksb3z
@mark0baricevic
@BPIV400
in particular for their thoughtful feedback on the VE edge cases. This discussion was very important in understanding some key limitations of VE.
We have not decided if this blocks the v0.38.0-rc.0 release, but most likely not.
We also plan to establish a working group for regular requirements and design discussions in the upcoming quarter towards understanding better this problem and going towards such a long-term solution.
We are in the process of evaluating forks of CometBFT (& Tendermint Core), to understand the innovations that other teams did in these forks.
Sei have been on our radar to understand their impact and whether/how to upstream the changes, s.t. the whole community can benefit.
Worth amplifying the message about this optimization, so that more developers of
@cosmos_sdk
based networks are aware.
Thanks to
@assafmo
&
@valardragon
!
@cometbft
We had issues on large NFT mints and increased to 10k, but them found this gem by
@valardragon
and it's been super helpful in clearing the mempool when there's high demand:
Note that we are working on some fine-tuning, but the main structure is in place.
If you notice things that can be improved or have any feedback, we'd appreciate letting us know!
The preliminary decision we took is we'll likely have a twofold approach to this problem: an investigation into short-term solutions, and a longer-term research into the design space here that may involve large changes to how Comet is modularized and versioned.
Second, we also discussed same-block execution, an important requirement for
@OasisProtocol
, and thank them also for describing requirements and helping us understand their needs!