Crate brb_dt_at2[][src]

Expand description

This library contains:

  1. An implementation of AT2: Asynchronous Trustworthy Transfers
  2. A BRBDataType wrapper around AT2

The wrapper enables AT2 operations to be transmitted in a BFT manner using Byzantine Reliable Broadcast.

AT2 is described formally in: https://arxiv.org/pdf/1812.10844.pdf

BRB is a modified form of the Deterministic Secure Broadcast defined in the above paper.

This AT2 implementation has been coded for simplicity and clarity. It has not been optimized for a large number of transfers and is presently best-suited for testing out the concept. It will certainly suffer performance bottlenecks if run with any significant number of transfers. Some of these bottlenecks are commented in the code.

Re-exports

pub use money::Money;
pub use bank::Bank;
pub use op::Op;
pub use transfer::Transfer;

Modules

bank

The Bank represents current AT2 state for a given Actor (account), plus all-time transaction history for all actors.

money

AT2 Money

op

AT2 Op

transfer

AT2 Transfer