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. This joint work with Maria A. Schett has been published at OPODIS 2019.
About Álvaro García
Álvaro is currently a postdoc at IMDEA Software, where he studies distributed ledgers. Prior to that, he was a postdoc at Reykjavik University. He obtained his PhD in software verification and formal methods from Universidad Politécnica de Madrid in 2014.
This event will be conducted in English