Embedded within the core of the Stellar Network, the Stellar Consensus Protocol (SCP) employs a distinctive approach to ensure seamless consensus, inspired by a variant of Federated Byzantine Agreement (FBA). While it shares some elements with other digital asset systems in handling distributed faults, it introduces unique tweaks tailored for financial transactions. Stellar Network At its essence, SCP builds upon Byzantine Agreements (BA), optimized for decentralized environments by incorporating quorums and quorum slices. To truly grasp SCP, it’s key to draw parallels between traditional BAs and their federated counterparts, exploring the role of quorums, and analyzing the federated voting process along with the ballot system intrinsic to SCP.
Delving into Byzantine and Federated Byzantine Agreements permissionless network These consensus techniques shine within distributed systems, achieving agreement despite unpredictable actions by some nodes. Traditional BA setups operate without preconceptions regarding how nodes might behave.
Understanding Practical Byzantine Fault Tolerance
Byzantine Agreement is Byzantine fault tolerance pBFT serves as the benchmark for Byzantine agreements, allowing swift and resource-efficient consensus, distinctly treating resource dependence, such as financial stakes or energy expenditure, separately. Defining Practical Byzantine Fault Tolerance Yet, pBFT sometimes falters at scale due to the extensive communication needed among every node. Moreover, a full nodal agreement on the network’s membership is necessary to fend off potential issues.
Read: The Rise of Federated Byzantine Agreement
FBA emerged to tackle BA's limits, forging a consensus pathway that assures several benefits: Sybil attacks .
Unlike traditional BA, FBA champions an open, permission-free environment where nodes can freely integrate into the system without adhering to a stringent list. SCP white paper FBA leverages a novel slot methodology, discerning how nodes relate to each update. Agreement must be reached on the slot's progression each cycle, which is where flexibility comes in: nodes are free to join or leave, thus necessitating more nuanced quorum arrangements - the 'quorum slices'.
- Decentralized Control
- Flexible Trust
- Low Latency
- Asymptotic Security
Distinguishing Traditional from Federated Byzantine Agreement Systems in Node Dynamics
FBA empowers nodes with autonomy to select their trusted information sources via quorum slices, making SCP the first BA framework to let participants self-direct their trust aspects.
According to the Stellar blog :
Defining a quorum entails pinpointing a cluster of nodes vital for consensus in a distributed setting. The exchange here relies on cryptographic safeguarding to ensure message integrity, culminating in consensus upon meeting a node-approved threshold.
Within quorums, quorum slices persuade nodes toward agreements, working like smaller persuasion circles with external trust foundations. Node configurations dynamically define such trust dependencies, paving the way for organic, decentralized quorum creation.
Quorums and Quorum Slices
Node A, like others, might distrust banks, requiring alternative quorum slices for consensus. Upon reaching an agreement, a quorum crystalizes. Imagine Node 7 and 8 representing such a case.
Traditional BA obligates uniform slice acceptance across nodes, curtailing differentiated trust sources and necessitating a regulated system.
As an example:
FBA allows nodes to create personal quorum slices, fostering a natural and decentralized quorum configuration determined by personal choices, justifying its 'federated' label.
Image Credit – David Mazieres Presentation at Google
Consensus Assurances through Quorum Intersection in FBA Protocols
\"Consensus can only be assured if quorum slices adhere to the quorum intersection integrity criteria.\"
According to the SCP white paper:
The sturdiness of quorums lies in shared nodes fostering intersections, while ensuring quorum slice selections uphold this without breaching necessary overlap.
Disjoint quorums, or non-overlapping ones, represent problematic structures that threaten to disrupt consensus with conflicting outcomes.
Nodes facing safety challenges may contradict peer values, while those lacking liveness may stall agreement progression. Federated Voting facilitates consensus development.
Federated Voting depicts SCP's consensus approach, employing message exchanges that categorize into unknown, accepted, and confirmed stages, adapting to open membership challenges.
Federated Voting
Phases of Federated Voting Process
Initial voting starts with a node's statement validation vote, allowing for revisions if trusted peer nodes sway decisions.
- Initial Voting
- Acceptance
- Ratification
- Confirmation
Acceptance is granted when no contradicting votes are held or a v-blocking quorum slice concurs.
Ratification requires quorum-wide agreement, notably reflecting trust in Node A's scenario involving unfamiliar banking systems.
Confirmation achieves network-wide agreement, with comprehensive message propagation cementing consensus.
Though complex, Stellar provides useful visual guides for understanding voting intricacies.
Overview graphics and useful blog posts on federated voting enrich understanding. Galactic Consensus Deep-dives into federated voting are well-documented, as it's a key component of SCP's resistance to deadlocks. Lunchtime Example SCP: Mitigating Consensus Blocks through Federated Byzantine Agreements SCP Paper .
The Stellar Consensus Protocol
The SCP mitigates consensus stalls using its ballot system across two pivotal protocols: nomination and ballot.
In nomination, candidate values emerge for each consensus slot, converging across nodes albeit without exact timing awareness, amidst potential disruptions from malicious nodes.
With convergence agreed in nomination, the ballot process assigns candidate values, with nodes either committing or discarding at this step, pivoting away from deadlock-causing votes.
SCP's Slot-Specific Consensus Approach Paxos , just with many separate instances.
In SCP, commitment blockades are absent. Even compromised nodes get bypassed through indispensable sets to uphold credible consensus without reliance on erroneous nodes.
Splintered votes and other complexities within nomination and ballot protocols receive detailed exploration in SCP documentation.
A major drawback of the SCP lies in its reliance on properly selected quorum slices to ensure its reliability. Moreover, federated systems face security challenges, particularly when highly trusted nodes exploit their influence for selfish gains. Take, for example, a scenario where numerous nodes depend on banking institutions; these financial entities might gain access to privileged information unbeknownst to the rest of the network participants.
Conclusion
In essence, the SCP stands as the pioneering consensus protocol that is both provably secure and capable of delivering decentralized governance, swift transaction speeds, adaptable trust mechanisms, and lasting security measures. While each consensus model comes with its own set of compromises, the SCP excels in efficiently reaching consensus within a distributed, open network without compromising on security standards.