Distributed Protocols

Given a set of \(n\) nodes \(\{1,\ldots,n\}\), with node \(i\) having input(s) \(v_{i}\) and output \(o_{i}\), a distributed protocol \(\Pi := (\Pi_{1},\ldots,\Pi_{n})\) specifies routines \(\Pi_{i}\) for node \(i\) while ensuring some properties over \(v_{i}\) and \(o_{i}\) across all nodes.

Problems

  • State Machine Replication
  • Total Order Broadcast
  • Byzantine Agreement
  • Byzantine Broadcast
  • Vector Consensus
  • Interactive Consistency
  • Reliable Broadcast
  • Random Beacon
  • Consistent Broadcast
  • Approximate Agreement
  • Mempool

Properties of Protocols

  • Number of parties
  • Number of inputs (Single Input, All input)

Network Assumptions

Adversary Model

Fault Model

Byzantine

Crash

Safety Faults

Liveness Faults