From a2c806e60a31f2c2199e2a4ee0264f8a3ae220bf Mon Sep 17 00:00:00 2001 From: A S Date: Thu, 2 May 2019 16:05:00 +0200 Subject: [PATCH] Corrected condition for optimistic GRANDPA and made some validators voters. --- pdf/grandpa.pdf | Bin 310734 -> 310511 bytes pdf/grandpa.tex | 18 +++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pdf/grandpa.pdf b/pdf/grandpa.pdf index 3c7ed97b911419174a302a8708f4a727ba4f5ae4..30a3caa90b47b664a7a8255629c1196a30381af6 100644 GIT binary patch delta 31821 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 Y!7m`h&)J0mh$oO1jsO4v diff --git a/pdf/grandpa.tex b/pdf/grandpa.tex index 465b06f..7f791d3 100644 --- a/pdf/grandpa.tex +++ b/pdf/grandpa.tex @@ -219,11 +219,11 @@ We write $B \sim B'$ or $B$ and $B'$ are on the same chain if $B r+1$, we can ask the same query for at least $n-f$ validators in round $r''-1$. We note however that if any voters do respond then we will not punish non-responders. +Any honest voter should respond. In particular, if no voter responds, then we consider all voters how should have responded but didn't as Byzantine and we return this set of voters, along with any equivocators, which will be at least $n-f$ voters total. If any do respond, then if $r'' > r+1$, we can ask the same query for at least $n-f$ voters in round $r''-1$. We note however that if any voters do respond then we will not punish non-responders. If we ask such queries for a vote in all rounds between $r''=r'$ and $r''=r+1$ and get valid responses, since some voter responds when $r''=r+1$, then we have either a set $S$ of prevotes or precommits in round $r$ that show it is impossible for $S$ to have a supermajority for $B$ in round $r$. @@ -577,7 +577,7 @@ Then any participant sees that if there is an $n$ such that \item[(ii)] the indicators the last finalised block height of blocks $n-100$ to $n$ in their best chain have median at most $n-1050$ and \item[(iii]) $n$ is the minimum that satisifies (i) and (ii) \end{itemize} -then they switch to the best validator set given by block $n$. If the same block at height $n$ is on everyone's best chain, which can be shown to occur with high probability given (i) for many block production mechanisms, then everyone will eventually agree that we should switch to the validator set given by that block. If any $100$ consectutive blocks of the best chain are produced by honest and synchronised block producers then this will only happen if GRANDPA fails to finalise any block in the time it took to produce $1000$ blocks. +then they switch to the best voter set given by block $n$. If the same block at height $n$ is on everyone's best chain, which can be shown to occur with high probability given (i) for many block production mechanisms, then everyone will eventually agree that we should switch to the voter set given by that block. If any $100$ consectutive blocks of the best chain are produced by honest and synchronised block producers then this will only happen if GRANDPA fails to finalise any block in the time it took to produce $1000$ blocks. \subsection{Alternatives to the last block hash} @@ -662,7 +662,7 @@ If we switch to $1$ when all node have already decided $0$, then we decide $0$. We claim that some configuration in the run $r$, where there are two runs from it where $A$ is always $1$ that decide $0$ and $1$. We call such states $1$-bivalent. To see this, assume for a contradiction that $r$ contains no such configurations. Then there is are successive configurations $C$,$C'$ such that if $A$ return $1$ in the future from $C$ then we always decide $0$ but from $C'$, we always decide $1$. -Let events be $(p,m,x)$ where node (processor/validator) $p$ receives message $m$ (which my be null) and executes some code where any calls to A return $x$ in $\{0,1\}$, then sends some messages. +Let events be $(p,m,x)$ where node (processor/voter) $p$ receives message $m$ (which my be null) and executes some code where any calls to A return $x$ in $\{0,1\}$, then sends some messages. Then there is some event $(p,m,0)$ that when applied to $C$ gives $C'$. Now suppose that $p$ goes offline at $C$, then if $A$ always returns $1$ afterwards, then we still decide $1$. Thus there is a run $r'$ that starts at $C$ where $p$ tales no steps, $A$ always returns $1$ and all other nodes still output $1$. But since $p$ takes no steps in $r'$, we can apply $r'$ after $(p, m, 0)$ and so we have that $C'$ has a run where $A$ always returns $1$ but decides $1$, which is a contradiction. @@ -789,16 +789,16 @@ Crucially note that $h$ depends only on $S$, which is determined when $4f+1$ vot \item We prevote when one of the folowing conditions tells us to. \begin{itemize} - \item[(i)] If it is impossible for $V_{r-1,v}$ to have a supermajority for any children of $E_{r-1,v}$, then $v$ prevotes for the best chain containing $E_{r-1,v}$ - \item[(ii)] If $v$ has recieved $B$ from the primary, $v$ prevotes for the head of the best chain containing $B$ as soon as one of the following holds: + %\item[(i)] If it is impossible for $V_{r-1,v}$ to have a supermajority for any children of $E_{r-1,v}$, then $v$ prevotes for the best chain containing $E_{r-1,v}$ + \item[(i)] If $v$ has recieved $B$ from the primary, $v$ prevotes for the head of the best chain containing $B$ as soon as one of the following holds: \begin{itemize} \item[(a)] $g(v_{r-1,v}) \geq B \geq E_{r-1,v}$ \item[(b)] The best chain containing $B$ is also the best chain containing $E_{r-1,v}$ (equivalently if we evaluate the best chain containing the eariler of the two blocks, then it contains the other) \end{itemize} - \item[(iii)] If round $r$ is completable and $E_{r,v} \geq E_{r-1,v}$, then we prevote for $E_{r,v}$. - \item[(iv)] if we have reached time $t_{r,v}+2T$ then if we have not recieved a message from the primary or (ii) (a) does not hold, then $v$ prevotes for the head of best chain containing $E_{r-1,v}$ anyway. + \item[(ii)] If round $r$ is completable and $E_{r,v} \geq E_{r-1,v}$, then we prevote for $E_{r,v}$. + \item[(iii)] if we have reached time $t_{r,v}+2T$ then if we have not recieved a message from the primary or (i) (a) does not hold, then $v$ prevotes for the head of best chain containing $E_{r-1,v}$ anyway. \end{itemize} \item After prevoting, we wait until $g(V_{r,v}) \geq E_{r-1,v}$, then when one of the following holds, we precommit $g(V_{r,v})$