Gordian

Oct 31, 2024

Alex Cheng

Introducing Gordian

The Gordian consensus engine is a high-performance, modular implementation of the Tendermint consensus algorithm and a platform for consensus optimizations and modifications. Like Alexander's legendary sword stroke that cut the impossible Gordian knot, our engine cuts through CometBFT's long-standing performance and architectural barriers with elegant simplicity.

Key differentiators:

- Drop-in compatibility with existing CosmosSDK chains

- Optimized performance through modular architecture

- Enhanced flexibility for customization and scaling

TRY IT OUT

Why We Built Gordian

At Strangelove we’ve been working with Tendermint/CometBFT for almost 6 years. Over that time we've observed and experienced the recurring challenges faced by teams building on the platform:

  1. Performance bottlenecks, particularly in mempool management and peer-to-peer networking
  2. Limited flexibility to implement custom features or optimizations
  3. Difficulty in maintaining forks to address specific network needs

Performance bottlenecks and limited flexibility have led many teams to create custom forks of CometBFT, resulting in fragmented development efforts and increased maintenance burdens. Gordian is our response to these challenges, built from the ground up to provide a more flexible, performant, and developer-friendly consensus engine.

Key Features

Gordian offers several advantages over CometBFT:

  1. Modularity: Gordian's architecture allows developers to easily swap out different components or implementations. This flexibility enables teams to customize their consensus layer without maintaining a fork. This modularity also enables easy performance testing and optimization for hot path code.
  2. Performance Improvements: Gordian's modular architecture enables targeted enhancements to fundamental performance bottlenecks in blockchain consensus. Through optimizations in transaction processing, block propagation, and network communication, Gordian unlocks orders of magnitude performance improvements for the consensus layer.
  3. Drop-in Replacement: Gordian is designed to be a drop-in replacement for Comet BFT, implementing all of the ABCI++ primitives.
  4. Extensibility: The modular architecture allows for easy implementation of features from other consensus engines, such as multiple concurrent proposers, BLS signature aggregation for validator gossiping, and various storage layers and hashing algorithms.
  5. Improved State Management: Gordian features a compartmentalized storage design that separates consensus data into dedicated stores. This architecture enables flexible database backend selection and efficient data partitioning across validator keys, block finalization data, committed headers, and consensus messages, as well as proposed blocks and votes both from the local validator and the rest of the network. Seamless integration into SQL based indexing systems is also supported.

Getting Started with Gordian

Gordian utilizes the new version of the Cosmos SDK, server v2, which developers can migrate to upon upgrading to v0.52 of the SDK (Olympus). In the meantime, we encourage interested development teams to:

Try it out: Get started with gcosmos, our Gordian-SDK integration.

Share your Feedback: Github discussions

Contribute to ongoing development: We’re looking for bug reports to further fortify Gordian.

Looking Ahead

Gordian represents a significant step forward for blockchain consensus engines, particularly for Cosmos SDK chains and other networks utilizing CometBFT. We believe it will enable developers to build more scalable, efficient, and customizable blockchain networks.

In the coming weeks, we'll be sharing more detailed technical documentation, performance benchmarks, and case studies.

To get started with Gordian or learn more, visit our GitHub repository.

Interested in using Gordian with your Cosmos SDK chain? Shoot us an email: gordian@strange.love

Read More Like This


Interchaintest v8.1 Release Notes

Interchaintest v8.1 Release Notes

Feb 06, 2024

Local-Interchain: Launch Private Testnets for Rapid Development

Local-Interchain: Launch Private Testnets for Rapid Development

Nov 28, 2023

Sunsetting the Public Voyager API

Sunsetting the Public Voyager API

Sep 05, 2023