  We give an introduction to federated Byzantine agreement systems (FBAS) with
many examples ranging from small "academic" cases to the current Stellar
network. We then analyze the main concepts from a mathematical and an
algorithmic point of view. Based on work of Lachowski we derive algorithms for
quorum enumeration, checking quorum intersection, and computing the intact
nodes with respect to a given set of ill-behaved (Byzantine) nodes. We also
show that from the viewpoint of the intactness probability of nodes, which we
introduce in this paper, a hierarchical setup of nodes is inferior to an
arrangement that we call a symmetric simple FBAS. All algorithms described in
this paper are implemented in the Python package Stellar Observatory, which is
also used in some of the computed examples.
