Federated Byzantine Agreements

In practice, traditional non-federated Byzantine agreements require each node to participate in each transaction to obtain a quorum. It`s like getting every mayor in the state to know that you`re about to plant a tree in your garden and get most of them to approve it. It is not necessary and it is a waste of time and resources for all. In BRAVO`s FBA system, each node can decide who it trusts and is part of its decision group, which we call Quorum Slice. According to the previous example, you just need to let your neighbors (your quorum round) know that you want to plant a tree in your garden and get them to consent to it. FBAS is designed so that the protocol can always find consensus, even if the nodes join or leave. A problem with any node that adheres to the protocol would occur if the protocol is majority-based, as an attacker could then use many nodes to influence consensus. To avoid this problem while allowing the “federated way”, FBAS uses quorum slices. The basic idea is that each node chooses the other nodes it trusts. Let`s say you know that your friend Alice, Bob and Carol are also present.

You define your quorum slices by saying: I am convinced that two of them are also convinced. In this example, your quorum slices { you, Alice, Bob}, {you, Bob, Carol} and {you, Alice, Carol} (Note: your node is always included in each slice). If Alice, Bob, and Carol defined their slices the same way and you started voting on a topic, and a fifth person, Marvin, wanted to influence your consensus in bad faith, he could use any number of nodes to adhere to the protocol. As long as Marvin is not present in any of his college records or friends, he cannot influence anything. In practice, the FBAS is a little more complicated, if you are interested in understanding it, refer to the sources at the end of the article. Formally, we can define that a federal bizantin tuning system (FBAS) is a pair that compromises a quantity of V nodes and a quorum The following examples of this prototype will now explain some simple cases: The number of nodes (validators) can be set by default 4. . . .