/concord-bft

Concord byzantine fault tolerant state machine replication library

Primary LanguageC++

Concord-BFT: A Distributed Trust Framework

License
Build Status
Build Status

Overview

Concord-bft is a generic state machine replication library that can handle malicious (byzantine) replicas.

BFT-based systems require substantial communication between nodes and, thus, don’t scale well. Project Concord-bft solves this problem by simplifying and streamlining communication between nodes, enabling greater scalability while increasing overall network throughput.

Project Concord’s BFT engine obtains significant scaling improvements via three major advances:

  1. It uses a linear communication consensus protocol while many other BFT consensus protocols (including PBFT) require quadratic communication
  2. It exploits optimism to provide a common case fast-path execution
  3. It uses modern cryptographic algorithms (BLS threshold signatures)

Its implementation is based on the algorithm described in the paper SBFT: a Scalable Decentralized Trust Infrastructure for Blockchains.

It is designed to be used as a core building block for replicated distributed data stores, and is especially suited to serve as the basis of permissioned Blockchain systems.

Start with example usage here.

Documentation

See the github wiki for detailed explanation.
A formal specification of the SBFT protocol including automated invariant proofs can be found here.

Community

Concord-BFT Slack.

Request a Slack invitation via concordbft@gmail.com.

License

Concord-bft is available under the Apache 2 license.