Skip to content

decipherhub/cipherbft

Repository files navigation

Cipher BFT

Cipher BFT

A high-performance BFT consensus research project exploring next-generation consensus mechanisms

⚠️ Note: This project is currently under active development with a target completion date of Q1 2026.

Project Overview

Cipher BFT is a research initiative by Decipher in collaboration with B-Harvest to explore performance improvements in BFT consensus engines. This project serves as an academic exploration to analyze core functionalities implemented in monad-bft and investigate how various algorithms and protocols from other chains could theoretically improve performance.

Project Nature: Pure research and exploratory project aimed at understanding performance bottlenecks in BFT consensus systems and evaluating potential optimization approaches.

Status: Currently under active development with a target completion date of Q1 2026. Decipher and B-Harvest are collaborating on this research initiative, combining Decipher's academic research capabilities with B-Harvest's deep technical expertise in validator operations and blockchain infrastructure.

Origin: Forked from monad-bft, implementing HotStuff consensus protocol with production-ready optimizations.

Research Motivation

While monad-bft provides a solid foundation with its HotStuff implementation, there are areas that can be further optimized:

  • Consensus layer architecture for higher throughput and better resilience
  • P2P communication efficiency and message propagation patterns
  • Transaction processing throughput and execution layer optimization
  • Recovery mechanisms after network disruptions

By exploring alternative consensus algorithms like Autobahn BFT and optimizing P2P communication protocols, this research investigates how a BFT Consensus Engine could provide extreme performance while fully leveraging Rust's advantages.

Implementation Approach

1. Bottleneck Analysis

  • Broadcasting layer performance metrics
  • Consensus layer latency and throughput
  • Execution layer processing capacity

2. Technology Selection

Consensus Algorithm: Autobahn BFT

Autobahn is a next-generation BFT consensus protocol with a two-layer architecture that decouples data dissemination from consensus ordering:

  • Layer 1: Parallel data dissemination through validator "lanes"
  • Layer 2: Consensus on snapshots (cuts) using PBFT-style protocol

Key Advantages:

  • Seamless recovery without performance hangovers
  • 3 message delays on fast path (vs 12+ for DAG protocols)
  • Linear bandwidth utilization with validator count
  • 250k+ TPS in geo-distributed settings

P2P Communication Protocols

Option 1: RaptorCast

  • UDP-based communication with Raptor codes for error correction
  • Structured broadcast with predefined peer groups
  • Transaction forwarding to upcoming block proposers

Option 2: OptimumP2P

  • RLNC (Random Linear Network Coding) for adaptive error correction
  • Dynamic network condition handling

3. Modular Implementation

  • Implement selected technologies in Rust
  • Maintain compatibility with existing infrastructure
  • Enable A/B testing of different approaches

4. Benchmarking

  • Comparative performance analysis
  • Latency and throughput measurements
  • Recovery time evaluation

Getting Started

Prerequisites

  • Processor: x86_64 architecture (ARM via emulation not officially supported)
  • Cores: 4+ physical cores recommended
  • Storage: 60+ GB available space
  • OS: Linux (production target)

System Configuration

Setup required hugepages and networking configuration:

# Hugepages allocation
sudo sysctl -w vm.nr_hugepages=2048

# UDP buffer sizes
sudo sysctl -w net.core.rmem_max=62500000
sudo sysctl -w net.core.rmem_default=62500000
sudo sysctl -w net.core.wmem_max=62500000
sudo sysctl -w net.core.wmem_default=62500000

# TCP buffer sizes
sudo sysctl -w net.ipv4.tcp_rmem='4096 62500000 62500000'
sudo sysctl -w net.ipv4.tcp_wmem='4096 62500000 62500000'

For persistent configuration, create /etc/sysctl.d/99-cipher.conf:

# Huge Pages Configuration
vm.nr_hugepages = 2048

# UDP Buffer Sizes
net.core.rmem_max = 62500000
net.core.rmem_default = 62500000
net.core.wmem_max = 62500000
net.core.wmem_default = 62500000

# TCP Buffer Sizes
net.ipv4.tcp_rmem = 4096 62500000 62500000
net.ipv4.tcp_wmem = 4096 62500000 62500000

Apply: sudo sysctl -p /etc/sysctl.d/99-cipher.conf

Quick Start with Docker

  1. Clone and initialize:
git clone https://github.com/decipherhub/cipherbft.git
cd cipherbft
git submodule update --init --recursive
  1. Run single node setup:
cd docker/single-node
nets/run.sh

This starts a single node with:

  • Chain ID: 20143
  • RPC endpoint: localhost:8080
  • Pre-funded test accounts (Foundry/Anvil accounts)
  1. Test the connection:
curl -X POST http://localhost:8080 \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'

Building from Source

For running individual components:

Architecture

sequenceDiagram
autonumber
    participant D as Driver
    box Purple Executor
    participant S as impl Stream
    participant E as impl Executor
    end
    participant State
    participant PersistenceLogger
    loop
    D ->>+ S: CALL next()
    Note over S: blocks until event ready
    S -->>- D: RETURN Event
    D ->> PersistenceLogger: CALL push(Event)
    D ->>+ State: CALL update(Event)
    Note over State: mutate state
    State -->>- D: RETURN Vec<Command>
    D ->> E: CALL exec(Vec<Command>)
    Note over E: apply side effects
    end
Loading

Key Components

  • cipher-consensus: BFT consensus implementation
  • cipher-executor: Transaction execution engine
  • cipher-dataplane: High-performance networking (io_uring)
  • cipher-raptorcast: Efficient broadcast protocol
  • cipher-triedb: Merkle Patricia Trie implementation
  • cipher-eth-txpool: Ethereum-compatible transaction pool
  • cipher-rpc: JSON-RPC server implementation

About B-Harvest

B-Harvest Logo

B-Harvest is a leading blockchain infrastructure company and validator operator founded in 2018, with deep roots in the Cosmos ecosystem.

Core Expertise:

  • Operating validators across 20+ blockchain networks
  • Managing $300M+ in staked assets with 16,000+ delegators
  • Core development on Tendermint/CometBFT-based blockchains
  • DeFi protocol development (Crescent, Gravity DEX, etc.)

Website: bharvest.io

About Decipher

Decipher Logo

Decipher is the leading blockchain research group at Seoul National University and one of Korea's premier blockchain academic communities.

Mission:

  • Advancing blockchain technology through cutting-edge research
  • Education and knowledge dissemination in Korean
  • Building Korea's blockchain ecosystem

Activities:

  • Core protocol research and development
  • Industry collaboration and partnerships
  • Community building through conferences and events

Website: decipher.ac

Research Goals

  • Document theoretical and practical implications of consensus algorithm replacements
  • Measure performance improvements in real-world conditions
  • Contribute to academic understanding of BFT consensus optimization
  • Provide open-source implementations for community evaluation

Contributing

This is an academic research project. We welcome:

  • Performance analysis and benchmarking contributions
  • Algorithm implementation improvements
  • Documentation and educational content
  • Bug reports and security findings

License

This project inherits the license from the original monad-bft repository. Please refer to the LICENSE file for details.

References


Cipher BFT is a research collaboration between Decipher and B-Harvest, exploring the frontiers of high-performance consensus mechanisms.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 38

Languages