Skip to content
This repository was archived by the owner on Feb 23, 2022. It is now read-only.

Commit 3e22d4f

Browse files
authored
Merge pull request #28 from tendermint/bucky/fixes
various minor fixes
2 parents 70c01ee + 8ade1c4 commit 3e22d4f

File tree

3 files changed

+13
-12
lines changed

3 files changed

+13
-12
lines changed

consensus/consensus.tex

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ \section{Tendermint consensus algorithm} \label{sec:tendermint}
128128
log for every process. An upon rule is triggered once the message log contains
129129
messages such that the corresponding condition evaluates to $\tt{true}$. The
130130
condition that assumes reception of $X$ messages of a particular type and
131-
content, denotes a set of messages whose senders have aggregate voting power at
131+
content denotes a set of messages whose senders have aggregate voting power at
132132
least equal to $X$. The variables with index $p$ are process local state
133133
variables, while variables without index $p$ are value placeholders. The sign
134134
$*$ denotes any value.
@@ -196,8 +196,9 @@ \section{Tendermint consensus algorithm} \label{sec:tendermint}
196196
$validRound$ is the last round in which $validValue$ is updated. Apart from
197197
those variables, a process also stores the current consensus instance ($h_p$,
198198
called \emph{height} in Tendermint), and the current round number ($round_p$)
199-
and attaches them to every message. Finally a process also stores an array of
200-
decisions (Tendermint assumes a sequence of consensus instances) $decision_p$.
199+
and attaches them to every message. Finally, a process also stores an array of
200+
decisions, $decision_p$ (Tendermint assumes a sequence of consensus instances,
201+
one for each height).
201202

202203
Every round starts by a proposer suggesting a value with the $\Proposal$
203204
message (see line \ref{line:tab:send-proposal}). In the initial round of each
@@ -217,7 +218,7 @@ \section{Tendermint consensus algorithm} \label{sec:tendermint}
217218
at time $t > GST$, by the \emph{Gossip communication} property, the
218219
corresponding $\Proposal$ and the $\Prevote$ messages will be received by all
219220
correct processes before time $t+\Delta$. Therefore, all correct processes will
220-
be able to verify the correctness of the suggested value as it supported by the
221+
be able to verify the correctness of the suggested value as it is supported by the
221222
$\Proposal$ and the corresponding $2f+1$ voting power equivalent $\Prevote$
222223
messages.
223224

@@ -227,7 +228,7 @@ \section{Tendermint consensus algorithm} \label{sec:tendermint}
227228
the value $v$ ($lockedValue = v$); see the line
228229
\ref{line:tab:accept-proposal-2}. In case the proposed pair is $(v,r)$ and a
229230
correct process $p$ has locked some other value ($v' \neq v$), it will accept
230-
$v$ only if $v'$ was a more recent possible decision value\footnote{As
231+
$v$ only if $v$ was a more recent possible decision value\footnote{As
231232
explained above, the possible decision value in a round $r$ is the one for
232233
which $\Proposal$ and the corresponding $2f+1$ $\Prevote$ messages are received
233234
for the round $r$.} in a round $r > lockedRound_p$. Otherwise, a correct
@@ -293,12 +294,12 @@ \subsection{Termination mechanism}
293294

294295
The second thing to note is that during good period, because of the
295296
\emph{Gossip communication} property, if a correct process $p$ locks a value
296-
$v$ is some round $r$, all correct processes will update $validValue$ to $v$
297+
$v$ in some round $r$, all correct processes will update $validValue$ to $v$
297298
and $validRound$ to $r$ before the end of the round $r$ (we prove this formally
298299
in the Section~\ref{sec:proof}). The intuition is that messages that led to $p$
299300
locking a value $v$ in the round $r$ will be gossiped to all correct processes
300301
before the end of the round $r$, so it will update $validValue$ and
301-
$validRound$ (the lineline~\ref{line:tab:recvPrevote}). Therefore, if a correct
302+
$validRound$ (the line~\ref{line:tab:recvPrevote}). Therefore, if a correct
302303
process locks some value during good period, $validValue$ and $validRound$ are
303304
updated by all correct processes so that the value proposed in the following
304305
rounds will be acceptable by all correct processes. And last thing to note is

consensus/definitions.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ \subsection{State Machine Replication}
9999
\subsection{Consensus} \label{sec:consensus}
100100

101101
Tendermint solves state machine replication by sequentially executing consensus
102-
instances to agree on the content of the next block of transactions that are
102+
instances to agree on each block of transactions that are
103103
then executed by the service being replicated. We consider a variant of the
104104
Byzantine consensus problem called Validity Predicate-based Byzantine consensus
105105
that is motivated by blockchain systems~\cite{GLR17:red-belly-bc}. The problem

consensus/intro.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ \section{Introduction} \label{sec:tendermint}
3232
that is at the core of the BFT SMR platform called Tendermint\footnote{The
3333
Tendermint platform is available open source at
3434
https://github.com/tendermint/tendermint.}. The Tendermint patform consists of
35-
a high-performance BFT SMR implementation in Go, a flexible interface for
35+
a high-performance BFT SMR implementation written in Go, a flexible interface for
3636
building arbitrary deterministic applications above the consensus, and a suite
3737
of tools for deployment and management.
3838

@@ -92,9 +92,9 @@ \section{Introduction} \label{sec:tendermint}
9292
value id, \item in Fast Byzantine Paxos~\cite{MA06:tdsc} it is the value
9393
itself that is being sent. \end{itemize}
9494

95-
In both cases, using this mechanism in the system model we consider (high
95+
In both cases, using this mechanism in our system model (ie. high
9696
number of nodes over gossip based network) would have high communication
97-
complexity that is increased with the number of processes: in the first case as
97+
complexity that increases with the number of processes: in the first case as
9898
the message sent depends on the total number of processes, and in the second
9999
case as the value (block of transactions) is sent by each process. The set of
100100
messages received in the first step are normally piggybacked on the proposal
@@ -114,7 +114,7 @@ \section{Introduction} \label{sec:tendermint}
114114
this makes Tendermint simpler to understand and implement correctly.
115115

116116
The remainder of the paper is as follows: Section~\ref{sec:definitions} defines
117-
a system model considered and gives the problem definitions. Tendermint
117+
the system model and gives the problem definitions. Tendermint
118118
consensus algorithm is introduced in Section~\ref{sec:tendermint} and the
119119
proofs are presented in Section~\ref{sec:proof}. We discuss related work in
120120
Section~\ref{sec:relatedWork} and conclude in Section~\ref{sec:conclusion}.

0 commit comments

Comments
 (0)