#consensus #bft #blockchain

snowball

Generic implementation of Snowball consensus algorithm

4 releases

0.1.3 Sep 21, 2020
0.1.2 Sep 11, 2020
0.1.1 Sep 6, 2020
0.1.0 Sep 4, 2020

#29 in #bft

MIT/Apache

12KB
188 lines

Snowball (Work in progress)

Once it is complete, Snowball will contain generic implementation of snowball algorithm described here with batteries included.

Overview

This library will provide plug and play support for embedding snowball in any rust project and since the implementation is generic it can be used to achieve consensus on any data as long as said data is serializable. Specifically, it will provide following:

  • Main snowball loop
  • Snowball query handler
  • Generic implementations for snowball network interface, query object, and node sampler among other things.

Roadmap

  • Add initial version of traits
  • Implement initial version of snowball loop
  • Publish initial documentation
  • Implement initial version of snowball query handler
  • Write unit tests for snowball loop and fix bugs
  • Write unit tests for snowball query handler and fix bugs
  • Provide default implementation of traits
  • Write unit tests for default implementation

Dependencies

~1–1.6MB
~27K SLoC