From 796e1963dd002e2580274fc3e155a86be7fad348 Mon Sep 17 00:00:00 2001 From: mjalalzai <33738574+MForensic@users.noreply.github.com> Date: Tue, 5 Sep 2023 07:59:44 -0700 Subject: [PATCH] Update spec.md --- carnot/spec.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/carnot/spec.md b/carnot/spec.md index 9dda94b..331b421 100644 --- a/carnot/spec.md +++ b/carnot/spec.md @@ -1,3 +1,13 @@ +# Background / Rationale / Motivation + + The Carnot protocol is designed to be elastic, responsive, and provide fast finality + Elastic scalability allows the protocol to operate effectively with both small and large networks + All nodes in the Carnot network participate in the consensus of a block + Optimistic responsiveness enables the protocol to operate quickly during periods of synchrony and honest leadership + There is no block generation time in Carnot, allowing for fast finality + Carnot avoids the chain reorg problem, making it compatible with PoS schemes + This enhances the robustness of the protocol, making it a valuable addition to the ecosystem of consensus protocols + # Carnot Specification This is the pseudocode specification of the Carnot consensus algorithm. In this specification we will omit any cryptographic material, block validity and proof checks. A real implementation is expected to check those before hitting this code. @@ -333,4 +343,4 @@ def timeout(view: View, msgs: Set[TimeoutMsg]): ``` -We need to make sure that qcs can't be removed from aggQc when going up the tree \ No newline at end of file +We need to make sure that qcs can't be removed from aggQc when going up the tree