From 56a2b743d0f2afce14d2528d1079165766200a0a Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Thu, 10 May 2018 12:11:00 -0700 Subject: [PATCH] Add parallel networks and consensus research articles --- .../consensus-network/consensus-research.md | 9 ++++++++ .../consensus-network/parallel-networks.md | 13 ++++++++++++ .../rippled-setup.md | 14 ------------- dactyl-config.yml | 21 +++++++++++++++++-- 4 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 content/concepts/consensus-network/consensus-research.md create mode 100644 content/concepts/consensus-network/parallel-networks.md diff --git a/content/concepts/consensus-network/consensus-research.md b/content/concepts/consensus-network/consensus-research.md new file mode 100644 index 0000000000..5510ca7827 --- /dev/null +++ b/content/concepts/consensus-network/consensus-research.md @@ -0,0 +1,9 @@ +# Consensus Research + +Ripple researches both the theoretical and the practical limits of the XRP Ledger's consensus protocols, and explores other ideas in the same space. The following table lists scholarly articles published by Ripple: + +| Date | Title | Authors | Summary | +|---|---|---|---| +| 2018-02-20 | [Cobalt: BFT Governance in Open Networks](https://arxiv.org/abs/1802.07240) | MacBrough | Introduces a novel atomic broadcast algorithm called Cobalt that allows more flexibility in consensus UNLs. | +| 2018-02-20 | [Analysis of the XRP Ledger Consensus Protocol](https://arxiv.org/abs/1802.07242) | Chase, MacBrough | A detailed and updated analysis of the XRP Ledger consensus algorithm and its safety and liveness properties. | +| 2014 | [The Ripple Protocol Consensus Algorithm](https://ripple.com/files/ripple_consensus_whitepaper.pdf) | Schwartz, Youngs, Britto | Introduces the consensus algorithm behind the XRP Ledger. | diff --git a/content/concepts/consensus-network/parallel-networks.md b/content/concepts/consensus-network/parallel-networks.md new file mode 100644 index 0000000000..2c89e25629 --- /dev/null +++ b/content/concepts/consensus-network/parallel-networks.md @@ -0,0 +1,13 @@ +# Parallel Networks + +Most of the time, we describe the XRP Ledger as one collective, singular entity -- and that's mostly true. There is one production XRP Ledger peer-to-peer network, and all business that takes place on the XRP Ledger occurs within the production network. + +However, sometimes you may want to do tests and experiments without interacting with the core network. That's why Ripple started the [Ripple Test Net](https://ripple.com/build/ripple-test-net/), an "alternate universe" network, which can act as a testing ground for applications and the `rippled` server itself, without impacting the business operations of everyday XRP Ledger users. The Ripple Test Net (also known as the AltNet) has a separate supply of TestNet-only XRP, which Ripple [gives away for free](https://ripple.com/build/ripple-test-net/) to parties interested in developing applications on the Test Net. + +**Caution:** Ripple makes no guarantees about the stability of the test network. It has been and continues to be used to test various properties of server configuration, network topology, and network performance. + +Over time, there may also be smaller, temporary test networks for specific purposes. + +## Parallel Networks and Consensus + +There is no `rippled` setting that defines which network it uses. Instead, it uses the consensus of validators it trusts to know which ledger to accept as the truth. When different consensus groups of `rippled` instances only trust other members of the same group, each group continues as a parallel network. Even if malicious or misbehaving computers connect to both networks, the consensus process overrides the confusion as long as the members of each network are not configured to trust members of another network in excess of their quorum settings. diff --git a/content/tutorials/manage-the-rippled-server/rippled-setup.md b/content/tutorials/manage-the-rippled-server/rippled-setup.md index fb0b1ac6b5..7b1cb41fc3 100644 --- a/content/tutorials/manage-the-rippled-server/rippled-setup.md +++ b/content/tutorials/manage-the-rippled-server/rippled-setup.md @@ -235,20 +235,6 @@ Restart `rippled` for any configuration changes to take effect: $ sudo service rippled restart -## Parallel Networks - -Most of the time, we describe the XRP Ledger as one collective, singular entity -- and that's mostly true. There is one production XRP Ledger peer-to-peer network, and all business that takes place on the XRP Ledger occurs within the production network. - -However, sometimes you may want to do tests and experiments without interacting with the core network. That's why Ripple started the [Ripple Test Net](https://ripple.com/build/ripple-test-net/), an "alternate universe" network, which can act as a testing ground for applications and the `rippled` server itself, without impacting the business operations of everyday XRP Ledger users. The Ripple Test Net (also known as the AltNet) has a separate supply of TestNet-only XRP, which Ripple [gives away for free](https://ripple.com/build/ripple-test-net/) to parties interested in developing applications on the Test Net. - -**Caution:** Ripple makes no guarantees about the stability of the test network. It has been and continues to be used to test various properties of server configuration, network topology, and network performance. - -Over time, there may also be smaller, temporary test networks for specific purposes. - -### Parallel Networks and Consensus - -There is no `rippled` setting that defines which network it uses. Instead, it uses the consensus of validators it trusts to know which ledger to accept as the truth. When different consensus groups of `rippled` instances only trust other members of the same group, each group continues as a parallel network. Even if malicious or misbehaving computers connect to both networks, the consensus process overrides the confusion as long as the members of each network are not configured to trust members of another network in excess of their quorum settings. - ## Clustering diff --git a/dactyl-config.yml b/dactyl-config.yml index bf1fcae298..acf7377f95 100644 --- a/dactyl-config.yml +++ b/dactyl-config.yml @@ -246,7 +246,7 @@ pages: targets: - local - # TODO: consensus principles & rules, validators & UNLs + # TODO: validators & UNLs - md: concepts/consensus-network/amendments.md html: amendments.html @@ -275,8 +275,25 @@ pages: targets: - local + - md: concepts/consensus-network/consensus-research.md + html: consensus-research.html + funnel: Docs + doc_type: Concepts + category: Consensus Network + blurb: Scholarly articles on consensus algorithms and related research. + targets: + - local - # TODO: fee voting, consensus research, pseudo-transactions, parallel networks + # TODO: add pseudo-transactions concept page + + - md: concepts/consensus-network/parallel-networks.md + html: parallel-networks.html + funnel: Docs + doc_type: Concepts + category: Consensus Network + blurb: Understand where test networks and alternate ledger chains come from. + targets: + - local - md: concepts/the-rippled-server/the-rippled-server.md html: the-rippled-server.html