Federated Byzantine Agreement

Shaan Ray
Towards Data Science
4 min readApr 8, 2018

--

As blockchain technology gains traction, developers are increasingly tweaking and experimenting with consensus mechanisms.

The most traditional way to reach consensus is via a Byzantine Agreement (a foundational concept in blockchain technology). Nodes on a blockchain validate blocks of data by reaching consensus on the solution to a given problem. A Byzantine Agreement is reached when a certain minimum number of nodes (known as a quorum) agrees that the solution presented is correct, thereby validating a block and allowing its inclusion on the blockchain.

Federated Byzantine Agreement

The Ripple blockchain pioneered the Federated Byzantine Agreement (FBA) consensus mechanism. The Stellar blockchain refined this approach even further, adopting the first provably safe FBA protocol. In FBA systems, each node does not have to be known and verified ahead of time, membership is open, and control is decentralized. Nodes can choose whom they trust. System-wide quorums emerge from decisions made by individual nodes.

Quorum Slice

A quorum is the number of nodes required to reach agreement within a system. FBAs instead use ‘quorum slices’. A quorum slice is a subset of a quorum, which can convince another specific node to agree.

A node can rely upon numerous slices, and the choices of the node may depend on extrinsic criteria. For example, ‘Node X’ can say, ‘for us to reach consensus we have to have buy in from the nodes of three of the five banks we have selected’. Three of the five banks can now determine if node X agrees. Adding another layer of complexity Node X might be part of another node’s quorum slice.

If programming a node to rely on a quorum slice, a user must believe that the quorum slice is trustworthy enough that if it agrees on something, the node should definitely go along with it.

A Quorum slice.

Quorum Intersections

Trust is set up in a node’s configuration file. Since nodes may have different configuration files, slices and quorums within a network may form dynamically. A good quorum shares nodes, resulting in quorums that overlap. This overlap is called ‘quorum intersection’. When quorums don’t intersect, the system ends up with ‘disjoint quorums’. Disjoint quorums are undesirable because each of them can independently and simultaneously agree on contradictory transactions, thereby undermining overall consensus.

Quorum Intersections.

Blocked vs. Divergent States

Blockchains should be fast and safe. If nodes get ‘blocked’ on the way to agreement, the blockchain slows down. When nodes on a blockchain present values different from other nodes, the system is ‘divergent’. A divergent system is more dangerous than a blocked system: blocked systems are merely slow, but divergent systems start displaying contradictory data.

3 Disjoint Quorums.

Advantages of FBA

· Open membership and decentralized control

· No gatekeeper or central authority — individual nodes can decide whom they trust for information

· The ability to choose whom each node trusts decentralizes the network

· Nodes can have multiple slices

· Low barrier to entry (anyone can join)

· Robust in the face of failure (one node can go down and the rest of the system will stay intact)

· Nodes can be programmed to trust a quorum slices or an external sources depending its performance over time

· Individual node choices can be based on external criteria (for example a node belonging to an automobile finance company could require acknowledgement from a trusted banking node, a trusted credit agency, and a node associated with the Department of Motor Vehicles to accept a transaction as valid)

Conclusion

An FBA ledger can be up-to-date and accurate without requiring all of its nodes to agree. Instead, a quorum emerges from the choices of each node.

A quorum slice can convince an individual node of agreement, while a quorum convinces the entire system of agreement. If a node finds a particular quorum slice fully trustworthy, it can consent to go along with whatever that quorum slice agrees on.

The difference between traditional Byzantine Agreement systems and FBA systems is that in the latter, each node chooses its own quorum slices.

Shaan Ray

Follow Lansaar Research on Medium for the latest in emerging technologies and new business models.

--

--