Deconstructing Stellar Consensus (Extended Version)

by   Álvaro García-Pérez, et al.

Some of the recent blockchain proposals, such as Stellar and Ripple, allow for open membership while using quorum-like structures typical for classical Byzantine consensus with closed membership. This is achieved by constructing quorums in a decentralised way: each participant independently chooses whom to trust, and quorums arise from these individual decisions. Unfortunately, the consensus protocols underlying such blockchains are poorly understood, and their correctness has not been rigorously investigated. In this paper we rigorously prove correct the Stellar Consensus Protocol (SCP), with our proof giving insights into the protocol structure and its use of lower-level abstractions. To this end, we first propose an abstract version of SCP that uses as a black box Stellar's federated voting primitive (analogous to reliable Byzantine broadcast), previously investigated by García-Pérez and Gotsman. The abstract consensus protocol highlights a modular structure in Stellar and can be proved correct by reusing the previous results on federated voting. However, it is unsuited for realistic implementations, since its processes maintain infinite state. We thus establish a refinement between the abstract protocol and the concrete SCP that uses only finite state, thereby carrying over the result about the correctness of former to the latter. Our results help establish the theoretical foundations of decentralised blockchains like Stellar and gain confidence in their correctness.


page 1

page 2

page 3

page 4


Federated Byzantine Quorum Systems (Extended Version)

Some of the recent blockchain proposals, such as Stellar and Ripple, use...

Towards Formal Verification of HotStuff-based Byzantine Fault Tolerant Consensus in Agda: Extended Version

LibraBFT is a Byzantine Fault Tolerant (BFT) consensus protocol based on...

Certifying Blockchain Byzantine Fault Tolerance

To implement a blockchain, the trend is now to integrate a non-trivial B...

Tenderbake – Classical BFT Style Consensus for Public Blockchains

Our work has been originally motivated by Tezos, a public blockchain whi...

Protocol for Asynchronous, Reliable, Secure and Efficient Consensus (PARSEC) Version 2.0

In this paper we present an open source, fully asynchronous, leaderless ...

Fast Probabilistic Consensus with Weighted Votes

The fast probabilistic consensus (FPC) is a voting consensus protocol th...

Correctness and Fairness of Tendermint-core Blockchains

Tendermint-core blockchains offer strong consistency (no forks) in an op...