Skip to content

Commit

Permalink
[documentation] Fixes Blockchain paper and technical report urls
Browse files Browse the repository at this point in the history
Closes: #7085
  • Loading branch information
CVeniamin authored and bors-libra committed Feb 9, 2021
1 parent 6bc1f4b commit 6e7c8a5
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion consensus/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The consensus component supports state machine replication using the DiemBFT con

## Overview

A consensus protocol allows a set of validators to create the logical appearance of a single database. The consensus protocol replicates submitted transactions among the validators, executes potential transactions against the current database, and then agrees on a binding commitment to the ordering of transactions and resulting execution. As a result, all validators can maintain an identical database for a given version number following the [state machine replication paradigm](https://dl.acm.org/citation.cfm?id=98167). The Diem protocol uses a variant of the [HotStuff consensus protocol](https://arxiv.org/pdf/1803.05069.pdf), a recent Byzantine fault-tolerant ([BFT](https://en.wikipedia.org/wiki/Byzantine_fault)) consensus protocol, called DiemBFT. It provides safety (all honest validators agree on commits and execution) and liveness (commits are continually produced) in the partial synchrony model defined in the paper "Consensus in the Presence of Partial Synchrony" by Dwork, Lynch, and Stockmeyer ([DLS](https://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf)) and mentioned in the paper ["Practical Byzantine Fault Tolerance" (PBFT)](http://pmg.csail.mit.edu/papers/osdi99.pdf) by Castro and Liskov, as well as newer protocols such as [Tendermint](https://arxiv.org/abs/1807.04938). In this document, we present a high-level description of the DiemBFT protocol and discuss how the code is organized. Refer to the [Diem Blockchain Paper](https://developers.diem.com/docs/the-diem-blockchain-paper) to learn more about how DiemBFT fits into the Diem protocol. For details on the specifications and proofs of DiemBFT, read the full [technical report](https://developers.diem.com/docs/state-machine-replication-paper).
A consensus protocol allows a set of validators to create the logical appearance of a single database. The consensus protocol replicates submitted transactions among the validators, executes potential transactions against the current database, and then agrees on a binding commitment to the ordering of transactions and resulting execution. As a result, all validators can maintain an identical database for a given version number following the [state machine replication paradigm](https://dl.acm.org/citation.cfm?id=98167). The Diem protocol uses a variant of the [HotStuff consensus protocol](https://arxiv.org/pdf/1803.05069.pdf), a recent Byzantine fault-tolerant ([BFT](https://en.wikipedia.org/wiki/Byzantine_fault)) consensus protocol, called DiemBFT. It provides safety (all honest validators agree on commits and execution) and liveness (commits are continually produced) in the partial synchrony model defined in the paper "Consensus in the Presence of Partial Synchrony" by Dwork, Lynch, and Stockmeyer ([DLS](https://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf)) and mentioned in the paper ["Practical Byzantine Fault Tolerance" (PBFT)](http://pmg.csail.mit.edu/papers/osdi99.pdf) by Castro and Liskov, as well as newer protocols such as [Tendermint](https://arxiv.org/abs/1807.04938). In this document, we present a high-level description of the DiemBFT protocol and discuss how the code is organized. Refer to the [Diem Blockchain Paper](https://developers.diem.com/docs/technical-papers/the-diem-blockchain-paper/) to learn more about how DiemBFT fits into the Diem protocol. For details on the specifications and proofs of DiemBFT, read the full [technical report](https://developers.diem.com/docs/technical-papers/state-machine-replication-paper/).

Agreement on the database state must be reached between validators, even if
there are Byzantine faults. The Byzantine failures model allows some validators
Expand Down

0 comments on commit 6e7c8a5

Please sign in to comment.