The Ripple Protocol Consensus Algorithm

DOCUMENT UNAVIALABLE: This browser does not support PDFs. Please download the PDF to view it.

by David Schwartz, Noah Youngs, and Arthur Britto


The paper begins by defining the components of the Ripple protocol (namely, a server, ledger, last-closed ledger, open ledger, unique node list, and proposer). Next, it describes the Ripple Protocol consensus algorithm (RPCA) by which the network comes to agreement.



While several consensus algorithms exist for the Byzantine Generals Problem, specifically as it pertains to distributed payment systems, many suffer from high latency induced by the requirement that all nodes within the network communicate synchronously. In this work, we present a novel consensus algorithm that circumvents this requirement by utilizing collectively-trusted subnetworks within the larger network. We show that the “trust” required of these subnetworks is in fact minimal and can be further reduced with principled choice of the member nodes. In addition, we show that minimal connectivity is required to maintain agreement throughout the whole network. The result is a low-latency consensus algorithm which still maintains robustness in the face of Byzantine failures. We present this algorithm in its embodiment in the Ripple Protocol.