From 159b5af3f4c5f0984ffd6bf9f4564be7a59b12d8 Mon Sep 17 00:00:00 2001 From: Marco Primi Date: Tue, 30 Jul 2024 15:49:13 -0700 Subject: [PATCH] README --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 585ebee..aa07bd7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ # RAFT-protocol-test-suite -Test suite to guide implementations of RAFT consensus protocol +## Test suite to guide implementations of RAFT consensus protocol + +--- + +The [RAFT consensus algorithm](https://en.wikipedia.org/wiki/Raft_(algorithm)) was designed to be easier to understand and implement than its older cousin [Paxos](https://en.wikipedia.org/wiki/Paxos_(computer_science)). + +While the [paper](https://raft.github.io/raft.pdf) along with plenty of [resources and reference implementations](https://raft.github.io/) can be a great guide, there are still a number of under-specified and ambiguous details that could result in minor and major implementation errors (i.e. deviation from the spec, code bugs, etc.). + +Implementing RAFT may be easier than Paxos, but it's still not trivial. +In fact, the well-specified pseudocode may create a false sense of security, leading to implementations that are *confidently wrong*. + +This project contains a collection of test specification that cover all the most critical behavior that a RAFT implementation should pass.