Giter Club home page Giter Club logo

cleisthenes's Introduction

Cleisthenes License Language Coverage Status Build Status

Cleisthenes is HBBFT(Honey Badger Byzantine Fault Tolerance) consensus library adaptable to any application.

Documentation

More detail of each component is documented here

  • HoneyBadgerBFT Overview [KO / EN]
  • Reliable Broadcast (RBC) [KO / EN]
  • Byzantine Binary Agreement (BBA) [KO / EN]
  • Threshold Encryption (TE) [KO / EN]

Architecture

Logical View

HoneyBadger (HB) receives transaction from Application and queuing them into its own buffer, HB also manages consensus epoch which helps to distinguish every consensus. Everytime new epoch starts, HB creates batch with its own transactions, then sends it to the ACS to consensus this batch and other nodes' batch.

Asynchronous Common Set (ACS) is main API of Honey Badger BFT where agreement takes place. ACS uses RBC and BBA to consensus its own node batch as well as other nodes' batch who joined to same network.

Reliable Broadcast (RBC) distribute single node's batch to the rest of the nodes in the network. The result of RBC is set of batches of all nodes in the network. RBC guarantees that every node gets the same output, event if the sender or other nodes try to sending different information to different nodes.

Byzantine Binary Agreement (BBA) determines whether or not a batch is included in the set of batches, based on a composite of votes from all nodes in the network. BBA is completed once more than 2/3 of the participating nodes agree on whether to include the batch in the set of batches.

Module View

Contribution

Contribution Guide CONTRIBUTION

CLA Hub

To get started, sign the Contributor License Agreement.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.