Stellar Consensus Protocol uses the concept of quorums and quorum slices. Quorum is a set of nodes sufficient to reach agreement. A quorum slice is a subset of a quorum that can convince one particular node about agreement. An individual node can appear on multiple quorum slices. Stellar introduces quorum slices to allow each individual node to choose a set of nodes within its slice thereby allowing open participation. These quorum slices and quorums are based on real life business relationships between various entities thereby leveraging trust that already exists in business models. To reach global consensus in the entire systems, quorums have to intersect. Overall consensus is reached globally from decisions made by individual nodes. The consensus protocol works as follows.
- Each node first performs initial voting on transactions, also generically considered as statements. This is the first step of the federated voting process. Each node performs its selection of statements and will never vote for another statement contradicting its selection.
- Second step is the acceptance step. A node accepts a statement if it has never accepted a statement contradicting the current statement and each node in its v-blocking set has accepted that statement. A v-blocking set is a set of nodes one each from a quorum slice to which the current node belongs to. Quorum slices influence one another leading to quorums that agree on a certain statements. This step is known as ratification when all members of a quorum agree on a statement.
- Confirmation is the final step of the voting process and signifies system level agreement. This step ensures that nodes send each other confirmation messages so that all agree upon the final value of the state in the system
Stellar Consensus Protocol is the first provably safe consensus mechanism that simultaneously enjoys four key properties:
Stellar Consensus Protocol is inspired by Bitcoin—we’ve taken our lessons from the space and added the ability to tolerate non-rational actors in an environment with low computing power.
Stellar Consensus Protocol is the basis of public infrastructure for money, making Stellar a blank canvas for people to design financial services that fit their lives.
Our goal is for SCP to make a profound difference in financial inclusion. Beyond our work at Stellar, however, we hope that SCP is a significant contribution to the distributed systems space. To get an understanding of consensus, read an overview of the white paper and explore other resources in our new Stellar Galaxy