FBA is an improvement based on BFT. Ripple is the pioneer blockchain network that applies the FBA consensus mechanism. Later, Stellar refined this approach further, adopting the FBA protocol and making improvements to be more secure and fault-tolerant.
FBA was the first public protocol to offer an open membership system. Nodes can choose who they trust. Delegates across the system emerge from the decisions made by individual nodes. The concept is based on Quorum pools reaching consensus, using overlapping Quorum pools formed by validators. Therefore, there is no need for a central authority to decide on the list of validators.
In a distributed synchronous system, the consensus mechanism must prioritize two of the following three characteristics:
- Fault Tolerance: The ability of a system to survive a validator failure. It can recover from the failure of an agent at any point.
- Liveness: The system’s ability to always close the ledger, even if it causes a fork.
- Safety: The output value must be the same as the input value of the agent (validity), and the output value must be the same value (agreement). The ability of a system to prevent a bug from entering its ledger, ultimately stopping its progress.
Quorum, quorum slice
FBA differs from BFT in that it is organized into groups (divide and conquer) and groups that are linked to each other. FBA uses Quorum and Slice to achieve synonyms faster than normal BFT.
- Quorum (Delegate): A set of Nodes sufficient to reach an agreement.
- Quorum Slice: A set of Nodes sufficient to convince another Node of the validity of a statement. Also known as the ‘quorum slice’.
A node can rely on multiple parts, and a node’s choices can depend on external criteria. For example, A might say, “for us to reach consensus, we have to buy in from the nodes of three of the five banks we have chosen”. Three out of five banks can now determine if node A agrees.
Add another layer of complexity The X button can be a delegate of another clipping layer. A concrete example: A set of nodes (A, B, C, D, E, F, G), instead of acting like a BFT, they split into groups (Quorum), Quorum 1 (A,B, C,D) and Quorum 2 (E,F,G) to work and will come to an agreement later.
Next comes the overlapping Quorum section that I mentioned above, since nodes can choose which nodes they trust, each node will have a different node file. A good quorum is to share nodes with other quorums or in other words, the inner pins of the outer pins.) And so will lead to overlapping quorums, called “Quorum intersection”. Example A set of nodes (A, B, C, D, E, F, G), Quorum 1 includes (A,B,C,D) and Quorum 2 includes (D,E,F,G). So the D button is now in both quorums.
Delegate intersections occur when two delegates share the same Node needed for agreement, thus interfering with each other’s internal agreement. In the above example D is the intersection. D is required for consistency in both Quorums. A strong consensus protocol needs these intersections, because otherwise the network could reach separate agreements. In fact, every Quorrum needs at least one intersection with another group for consensus to work.
In contrast to quorum intersection, discrete quorum occurs when they do not intersect. Discrete quorum groups are undesirable because each group can agree and independently on conflicting transactions, thereby weakening the overall consensus of the entire blockchain network. Therefore, often the quorums in the stellar must have an intersection, not only intersecting 1 but also 2, 3 other quorums.
Blocked and Divergent state
Blocked: Occurs when nodes cannot reach a final agreement, causing the network to slow down during synchronization or block closure. The nodes will have to negotiate with each other.
Nodes are insecure when the node’s outputs are values that do not match the external values at other nodes, undermining the system-wide agreement. Such buttons are Divergent.
State Divergent occurs when the ledgers held by different nodes store different states, causing irreconcilable conflicts.
Divergent state is more dangerous than Blocked: blocked systems are merely slowed down in matching results, but Divergent systems will begin to display contradictory data.
Summary of strengths of FBA
Decentralized and for an open membership system.
There is no portal manager or central authority – individual nodes can decide who they trust to provide information.
Each node can have multiple slices.
Low barrier to entry (anyone can join).
Robustness (one node can go down and the rest of the system will remain intact).
Individual nodes can decide based on external criteria
Related to the security of the network, FBA is asymptotically secure because it is impossible to apply computing power to undermine consensus. And even if there is still the possibility of bad actors colluding with each other, it is almost impossible for them to form a majority because the network is made up of a complex network of quorum slices. overlap.
Weaknesses of FBA
Requires trust between participants. Because suddenly one day a fellow node fails or betrays me, it will more or less affect the consensus process. So choosing a trusted node to work with is very important, because if working with a faulty node, it will affect the consensus speed.
In addition, FBA used quorum slicing layers to overcome having a faulty node but still potentially having a lot of network impact.
FBA also applies BFT fault tolerance of N = 3f+1 where N is the total number of nodes in the network and f is the number of fault nodes. Or also means f <= (N-1)/3
There is also an additional fault tolerance in the intersection of T = 2f+1 where T is the quorum size (T > N/2).
It is because of this organization that FBA is able to achieve amazingly large transaction throughput, low transaction costs, and extremely large network scalability while remaining decentralized. Let’s stop at BFA today, in the next post I will go into the Stellar consensus mechanism.
In summary, for the simplest visualization, in Figure , the nodes are divided into groups to play with each other, trusting each other. And nodes can not only play in a group, but can play with many groups.