Module Protocol.Make

Functor to create auxiliary functions used by Abstract and Blockchain Protocols.

val initialize_offline_node_data : unit -> (int * int) array

According to the parametrizations, initialize data structures to keep track of which nodes are offline, and when they become online/offline.

val initialize_malicious_node_data : unit -> (bool * int) array

According to the parametrizations, initialize data structures to keep track of which nodes are malicous, and when they start acting maliciously.

module ConsensusArg : sig ... end

Argument for Statistics module that keeps track of the average time to reach consensus.

module EventsPerNodeArg : sig ... end

Argument for Statistics module that keeps track of the number of events processed per node.

Functor to create and implementation for an AbstractProtocol (protocol that simulates AbstractNodes).

Functor to create and implementation for a BlockchainProtocol (protocol that simulates BlockchainNodes).