From 36d071db81491a2e9454aa1e987dc7cce557ad77 Mon Sep 17 00:00:00 2001 From: Mostafa Date: Sun, 20 Aug 2023 01:17:51 +0800 Subject: [PATCH 1/3] chore: updating consensus spec --- consensus/spec/Pactus.cfg | 1 + consensus/spec/Pactus.tla | 60 ++++++++++++++++++++------------------- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/consensus/spec/Pactus.cfg b/consensus/spec/Pactus.cfg index 678e7c75e..a11ba063d 100644 --- a/consensus/spec/Pactus.cfg +++ b/consensus/spec/Pactus.cfg @@ -4,6 +4,7 @@ CONSTANTS FaultyNodes = {3} MaxHeight = 1 MaxRound = 1 + MaxCPRound = 1 INVARIANT TypeOK PROPERTY Success diff --git a/consensus/spec/Pactus.tla b/consensus/spec/Pactus.tla index 955883d6b..573b8b6aa 100644 --- a/consensus/spec/Pactus.tla +++ b/consensus/spec/Pactus.tla @@ -47,7 +47,7 @@ ASSUME \* Fetch a subset of messages in the network based on the params filter. SubsetOfMsgs(params) == - {msg \in log: \A field \in DOMAIN params: msg[field] = params[field]} + {msg \in log: \A field \in DOMAIN params: msg[field] = params[field]} \* IsProposer checks if the replica is the proposer for this round. \* To simplify, we assume the proposer always starts with the first replica, @@ -121,14 +121,6 @@ CPHasOneMainVotesZeroInPrvRound(index) == cp_round |-> states[index].cp_round - 1, cp_val |-> 0])) > 0 -CPHasOneThirdMainVotesOneInPrvRound(index) == - Cardinality(SubsetOfMsgs([ - type |-> "CP:MAIN-VOTE", - height |-> states[index].height, - round |-> states[index].round, - cp_round |-> states[index].cp_round - 1, - cp_val |-> 1])) >= OneThird - CPHasOneMainVotesOneInPrvRound(index) == Cardinality(SubsetOfMsgs([ type |-> "CP:MAIN-VOTE", @@ -367,9 +359,6 @@ CPPreVote(index) == /\ states[index].name = "cp:pre-vote" /\ \/ - /\ - \/ states[index].cp_round = MaxCPRound - \/ CPHasOneThirdMainVotesOneInPrvRound(index) /\ CPHasOneMainVotesOneInPrvRound(index) /\ SendCPPreVote(index, 1) \/ @@ -405,18 +394,30 @@ CPMainVote(index) == CPDecide(index) == /\ ~IsFaulty(index) /\ states[index].name = "cp:decide" - /\ CPHasMainVotesQuorum(index) - /\ IF CPHasMainVotesQuorumForOne(index) - THEN /\ SendCPVotesForNextRound(index, 1) - /\ states' = [states EXCEPT ![index].name = "propose", - ![index].round = states[index].round + 1] - ELSE IF CPHasMainVotesQuorumForZero(index) - THEN /\ SendCPVotesForNextRound(index, 0) - /\ states' = [states EXCEPT ![index].name = "prepare"] - ELSE - /\ states' = [states EXCEPT ![index].name = "cp:pre-vote", - ![index].cp_round = states[index].cp_round + 1] - /\ log' = log + /\ + \/ + /\ states[index].cp_decided = 1 + /\ states' = [states EXCEPT ![index].name = "propose"] + \/ + /\ states[index].cp_decided = 0 + /\ states' = [states EXCEPT ![index].name = "prepare"] + \/ + /\ states[index].cp_decided = -1 + /\ CPHasMainVotesQuorum(index) + /\ + IF CPHasMainVotesQuorumForOne(index) + THEN states' = [states EXCEPT ![index].name = "cp:pre-vote", + ![index].cp_decided = 1, + ![index].cp_round = states[index].cp_round + 1] + ELSE IF \/ CPHasMainVotesQuorumForZero(index) + \/ states[index].cp_round = MaxCPRound + THEN states' = [states EXCEPT ![index].name = "cp:pre-vote", + ![index].cp_decided = 0, + ![index].cp_round = states[index].cp_round + 1] + ELSE states' = [states EXCEPT ![index].name = "cp:pre-vote", + ![index].cp_round = states[index].cp_round + 1] + + /\ log' = log Sync(index) == @@ -434,11 +435,12 @@ Sync(index) == Init == /\ log = {} /\ states = [index \in 0..Replicas-1 |-> [ - name |-> "new-height", - height |-> 0, - round |-> 0, - timeout |-> FALSE, - cp_round |-> 0]] + name |-> "new-height", + height |-> 0, + round |-> 0, + timeout |-> FALSE, + cp_round |-> 0, + cp_decided |-> -1]] Next == \E index \in 0..Replicas-1: From 8e6ac928391af51ed81030cfc15907f336a179ac Mon Sep 17 00:00:00 2001 From: Mostafa Date: Sun, 20 Aug 2023 01:27:33 +0800 Subject: [PATCH 2/3] chore: updating pdf file --- consensus/spec/Pactus.pdf | Bin 186185 -> 186899 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/consensus/spec/Pactus.pdf b/consensus/spec/Pactus.pdf index a24d2b00278809865ee9b10bcf6831bef61c5adf..9b4c2d6f5f49a90150053a5b0b206ce55bb4fa7e 100644 GIT binary patch delta 36108 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 ANdN!< delta 35342 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

V^of0zLig5B(#%u1S} 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 From 957e514f73b061ea0d5a15f08c1aa4b3469aa64b Mon Sep 17 00:00:00 2001 From: Mostafa Date: Sun, 20 Aug 2023 15:25:59 +0800 Subject: [PATCH 3/3] docs: reducing cp_round by -1 --- consensus/spec/Pactus.pdf | Bin 186899 -> 187124 bytes consensus/spec/Pactus.tla | 8 +++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/consensus/spec/Pactus.pdf b/consensus/spec/Pactus.pdf index 9b4c2d6f5f49a90150053a5b0b206ce55bb4fa7e..ecab6731c988cb000fc17b9eb929b769b073ffd3 100644 GIT binary patch delta 18205 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 diff --git a/consensus/spec/Pactus.tla b/consensus/spec/Pactus.tla index 573b8b6aa..80722468d 100644 --- a/consensus/spec/Pactus.tla +++ b/consensus/spec/Pactus.tla @@ -397,7 +397,8 @@ CPDecide(index) == /\ \/ /\ states[index].cp_decided = 1 - /\ states' = [states EXCEPT ![index].name = "propose"] + /\ states' = [states EXCEPT ![index].name = "propose", + ![index].round = states[index].round + 1] \/ /\ states[index].cp_decided = 0 /\ states' = [states EXCEPT ![index].name = "prepare"] @@ -405,12 +406,13 @@ CPDecide(index) == /\ states[index].cp_decided = -1 /\ CPHasMainVotesQuorum(index) /\ - IF CPHasMainVotesQuorumForOne(index) + IF /\ CPHasMainVotesQuorumForOne(index) + /\ states[index].cp_round /= MaxCPRound - 1 THEN states' = [states EXCEPT ![index].name = "cp:pre-vote", ![index].cp_decided = 1, ![index].cp_round = states[index].cp_round + 1] ELSE IF \/ CPHasMainVotesQuorumForZero(index) - \/ states[index].cp_round = MaxCPRound + \/ states[index].cp_round = MaxCPRound - 1 THEN states' = [states EXCEPT ![index].name = "cp:pre-vote", ![index].cp_decided = 0, ![index].cp_round = states[index].cp_round + 1]