SkillAgentSearch skills...

HoneyBadgerBFT

Honey Badger of BFT Protocols in Haskell

Install / Use

/learn @ldmberman/HoneyBadgerBFT
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

A Haskell implementation of HoneyBadgerBFT

The research and protocols for this algorithm are explained in detail in The Honey Badger of BFT Protocols by Miller et al., 2016.

The implementation is WIP.

Install and Run

Get The Haskell Tool Stack.

Install Rust.

Install LLVM 3.7.

Clone the repo, enter the folder, and build the project:

stack setup
./build_dylibs
./build

build_dylibs builds shared libraries required for FFI. Through FFI, we call the threshold_crypto Rust library, which provides threshold encryption functionality.

Run the executable:

stack exec HoneyBadgerBFT-exe

Run tests:

./run_tests

Development

Style Guide

Use Stylish Haskell to format the code.

Limitations

  • The maximum number of shards supported by the erasure coding scheme library we use is 257. We need to find a way around it to accommodate networks with a much bigger number of validators.
View on GitHub
GitHub Stars8
CategoryDevelopment
Updated2y ago
Forks0

Languages

Haskell

Security Score

55/100

Audited on Nov 16, 2023

No findings