Skip to content

Commit 0f31b47

Browse files
Docs: Fix typos and grammar errors
1 parent bd37aa4 commit 0f31b47

File tree

12 files changed

+30
-28
lines changed

12 files changed

+30
-28
lines changed

algorithms/extend-policy.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424

2525
\State{Let $\vec{\tx} = (\tx_1, \ldots , \tx_{|\mathtt{NxtBC}_i|})$ denote the transactions of $\mathtt{NxtBC}_i$}
2626

27-
\If{$\tx_1$ is not a coinbase trasnaction}
27+
\If{$\tx_1$ is not a coinbase transaction}
2828
\State{\Return \txSeqProposalDefault}
2929
\Else
3030

3131
\State{$\txSeqProposal_i \gets \tx_1$}
3232

33-
\For{$j = 2$ \textbf{to} $| \mathtt{NxtBC} |$}
33+
\For{$j = 2$ \textbf{to} $| \mathtt{NxtBC}_i |$}
3434

3535
\State{$\st_i \gets \blockify(\txSeqProposal_i)$}
3636

algorithms/pke-two-decryptions.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@
3333
\begin{minipage}[t]{.49\textwidth}
3434
\begin{algorithmWithNumbering}{PKEcounter}
3535
\Statex{\underline{$\Dec(ct)$}}
36-
\State{Parse $\mathsf{sk}$ as $(\mathsf{f}_i, \mathsf{f}\inv_i, \mathsf{b}_i)$ and $ct$ as $ct_1, \ldots, ct_k$.}
36+
\State{Parse $\mathsf{sk}$ as $(\mathsf{f}, \mathsf{f}\inv, \mathsf{b})$ and $ct$ as $ct_1, \ldots, ct_k$.}
3737

3838
\For{$i$ \textbf{from} $1$ \textbf{to} $k$}
3939
\State{Parse $ct_i$ as $ct'_i \concat b'_i$}
40-
\State{Compute $x'_i \gets \mathsf{f}\inv_i(ct'_i)$}
40+
\State{Compute $x'_i \gets \mathsf{f}\inv(ct'_i)$}
4141
\State{Set $m'_i \gets \mathsf{b}(x'_i) \oplus b'_i$}
4242
\EndFor
4343
\State{Set $m' \gets m'_1, \ldots, m'_k$ and \Return $m'$.}
@@ -47,11 +47,11 @@
4747

4848
\begin{algorithmWithNumbering}{PKEcounter}
4949
\Statex{\underline{$\Dec^*(ct)$}}
50-
\State{Parse $\mathsf{sk}$ as $(\mathsf{f}_i, \mathsf{f}\inv_i, \mathsf{b}_i)$ and $ct$ as $ct_1, \ldots, ct_k$.}
50+
\State{Parse $\mathsf{sk}$ as $(\mathsf{f}, \mathsf{f}\inv, \mathsf{b})$ and $ct$ as $ct_1, \ldots, ct_k$.}
5151

5252
\For{$i$ \textbf{from} $1$ \textbf{to} $k$}
5353
\State{Parse $ct_i$ as $ct'_i \concat b'_i$}
54-
\State{Compute $x'_i \gets \mathsf{f}\inv_i(ct'_i)$}
54+
\State{Compute $x'_i \gets \mathsf{f}\inv(ct'_i)$}
5555
\State{Set $m'_i \gets \funcGrpoRO(x'_i) \oplus b'_i$}
5656
\EndFor
5757
\State{Set $m' \gets m'_1, \ldots, m'_k$ and \Return $m'$.}

content/introduction/main.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ \section{Introduction}
1515
%
1616
More recently, the Bitcoin blockchain protocol \cite{Nak08} provided a solution in a ``permissionless'' setting where participants do not know of each other and only a public setup operation is permitted.
1717
%
18-
The protocol and its properties has been analyzed over a sequence of works \cite{EC:GarKiaLeo15,EC:PasSeeash17,C:GarKiaLeo17} that established its explicit guarantees regarding liveness and consistency.
18+
The protocol and its properties have been analyzed over a sequence of works \cite{EC:GarKiaLeo15,EC:PasSeeash17,C:GarKiaLeo17} that established its explicit guarantees regarding liveness and consistency.
1919

2020
The main task of a ledger consensus protocol is to continuously serialize the submitted transactions.
2121
%

content/introduction/our-results.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ \subsection{Our Results}
2323
%
2424
This ideal functionality model results to a class of fair ledgers.
2525

26-
The most stringiest extend policy one can imagine for serializing transactions is the exact order that they were submitted to the ideal functionality.
26+
The most stringent extend policy one can imagine for serializing transactions is the exact order in which they were submitted to the ideal functionality.
2727
%
2828
Note that in many ways such a ``perfect'' order is unreasonable; taking into account the global clock in the model, it could be the case that two transactions are ``simultaneously'' delivered w.r.t. the global clock.
2929
%
@@ -67,7 +67,7 @@ \subsection{Our Results}
6767
%
6868
We first show how to enforce input-causality, and then we show how to lift the security of our protocol to realize a ledger that has \delay-approximate order fairness.
6969
%
70-
Our protocol is built on top of a Nakamoto-style PoW blockchain \chain, whose maintainers are equipped with a stateless\footnote{By stateless here we mean without secure counters, or without any mechanism that prevents the adversary from resetting the enclave.} trusted execution environment\cite{EPRINT:CosDev16} (enclave for brevity).
70+
Our protocol is built on top of a Nakamoto-style PoW blockchain \chain, whose maintainers are equipped with a stateless\footnote{By stateless here we mean without secure counters, or without any mechanism that prevents the adversary from resetting the enclave.} trusted execution environment~\cite{EPRINT:CosDev16} (enclave for brevity).
7171
%
7272
Each enclave is equipped with its own public-key encryption key pair $(\pk, \sk)$\footnote{Note that in the hybrid model where communication takes place strictly via the diffusion functionality \funcDiffuse that we use to model the peer-to-peer network, sharing a secret key \sk among $n$ enclaves requires diffusing $n$ distinct messages from a single source --- a prohibitive overhead. Contrary, in our protocol, in the worst case, each party has to diffuse polylogarithmic in the number of enclaves sized messages. Combining the capabilities of the enclave with the gossiping protocol over point-to-point channels may improve communication complexity --- we leave exploring this interesting direction for future work.}, where only \pk is revealed, while \sk is hidden to everyone (including the owner of the enclave).
7373
%
@@ -155,7 +155,7 @@ \subsection{Our Results}
155155
%
156156
Formally, the timestamping of the transaction is computed as follows:
157157
%
158-
\( \timestamp{\txTag} \triangleq \med \{ t \mathbin| (\txTag, t) \in \PB \in B \wedge \ell \le \mathsf{height}(B) < \ell + \PBWindowLen\}. \)
158+
\( \timestamp{\txTag} \triangleq \med \{ t \mathbin| (\txTag, t) \in \PB \in \block \wedge \ell \le \mathsf{height}(\block) < \ell + \PBWindowLen\}. \)
159159
%
160160
The median provides \delay-order fairness because we can argue that in the \PBWindowLen-block window associated with \txTag the majority of the timestamps are generated by honest parties.
161161

@@ -177,7 +177,7 @@ \subsection{Our Results}
177177
%
178178
Note that our protocol is a PoW-based blockchain and hence it allows non-permissioned nodes to still contribute to the protocol without processing encrypted transactions; in fact such un-permissioned blocks may even contain transactions that are submitted unencrypted for which the clients do not wish to have them protected for sender-order fairness.
179179
%
180-
As a side remark, this simple observation suggests that our protocol can be implemented as a ``soft-fork'' over bitcoin --- we leave the details of this implementation to be explored in future work.
180+
As a side remark, this simple observation suggests that our protocol can be implemented as a ``soft-fork'' over Bitcoin --- we leave the details of this implementation to be explored in future work.
181181

182182
Additionally, the security of our protocol relies on two assumptions --- honest majority in terms of computational power and a constant fraction of the enclaves being possessed by honest hosts.
183183
%
@@ -187,7 +187,7 @@ \subsection{Our Results}
187187
%
188188
Our approach is to extend the \twoforone PoW to $3 {\times} 1$ PoW (by checking non-overlapping 0s at different positions of the RO output), thus additionally mining the enclave public keys (each message mines only one key).
189189
%
190-
These PoW-ed enclave public keys are included in the blockchain, and the key subset selection procedure is then applied on the set of public keys with \emph{weights} based on their PoW (for instance, a key with two unique PoW-ed messages is weighed two times than another key with one unique message).
190+
These PoW-ed enclave public keys are included in the blockchain, and the key subset selection procedure is then applied on the set of public keys with \emph{weights} based on their PoW (for instance, a key with two unique PoW-ed messages has twice the weight of another key with one unique message).
191191
%
192192
This adaption, with appropriate protocol parametrization, guarantees that the majority of weighted public keys are controlled by honest parties regardless of the fraction of honest keys.
193193

content/ledger-extend-policy/main.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ \section{Ledger Functionality with Parametric Extend Policy}
2323
%
2424
To improve accessibility, we mark in \revisedText{blue} the differences compared with the original \textsf{ExtendPolicy} in~\cite{C:BMTZ17}.
2525

26-
Upon receiving a proposed block from the adversary, \textsf{ExtendPolicy} iterates all transactions; for each transaction \tx, its \emph{order} and validity with respect to the current state and buffer is evaluated.
26+
Upon receiving a proposed block from the adversary, \textsf{ExtendPolicy} iterates over all transactions; for each transaction \tx, its \emph{order} and validity with respect to the current state and buffer is evaluated.
2727
%
2828
If \tx turns out to be a valid transaction and extends the ledger following the fair-order policy, the algorithm goes for the next transaction; otherwise, it aborts and returns default blocks from \textsf{DefaultExtension}.
2929
%

content/preliminaries/contd.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ \section{Preliminaries (Cont'd)}
3131

3232
In order to limit the adversary on making a certain number of queries per round, we adopt a functionality wrapper \cite{C:BMTZ17} that wraps the corresponding resource to capture such restrictions.
3333
%
34-
Note that since now \funcGRO is shared among different sessions, the adversary can ask the environment to make queries on behalf.
34+
Note that since now \funcGRO is shared among different sessions, the adversary can ask the environment to make queries on his behalf.
3535
%
3636
Hence, our wrapper \wrapper{\funcGRO} also puts restrictions on queries that are made by the environment.
3737

content/protocol-details/further-discussions.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ \subsection{Further Discussions}
1515
%
1616
This translation is immediate: the \twoforone PoW can be replace by using two independent VRF evaluations, one for extending the PoS chain and the other for generating profile blocks.
1717
%
18-
This replacement is provably equivalent and has been seen wide usage (see, e.g.,~\cite{TCC:FGKR20} for more discussion).
18+
This replacement is provably equivalent and has seen wide usage (see, e.g.,~\cite{TCC:FGKR20} for more discussion).
1919
%
2020
On the other hand, in PoS the simulation for chain extending is ``for free'', and since the enclaves are clock-oblivious they should not decrypt transactions using the ``progression'' on a PoS chain.
2121
%

content/protocol-details/transaction-encryption.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ \subsection{Transaction Encryption from Trusted Hardware}
149149

150150
We then consider a function $f_{\mathsf{select}}(\mathcal{S}, m, \ticket)$ which, taking a set $\mathcal{S}$, a threshold $m \in \mathbb{N}^+$ and $\ticket \in \{0, 1\}^\kappa$ as parameters, outputs an element in $\mathcal{S}$.
151151
%
152-
Formally, let $\binom{\mathcal{S}}{m}$ denote the the (ordered) set of all $m$-combinations of $\mathcal{S}$ (when $|\mathcal{S}| < m$, $f_{\mathsf{select}} $ returns $\mathcal{S}$ directly), we define the selection function as
152+
Formally, let $\binom{\mathcal{S}}{m}$ denote the (ordered) set of all $m$-combinations of $\mathcal{S}$ (when $|\mathcal{S}| < m$, $f_{\mathsf{select}} $ returns $\mathcal{S}$ directly), we define the selection function as
153153
%
154154
\begin{equation*}
155155
f_{\mathsf{select}} = \binom{\mathcal{S}}{m} \bigg[\ticket \mod \Big|\binom{\mathcal{S}}{m} \Big| \bigg].
@@ -165,7 +165,7 @@ \subsection{Transaction Encryption from Trusted Hardware}
165165
%
166166
By randomly selecting an element in $\binom{\mathcal{S}}{m}$, the probability that the chosen $m$-combination contains no honest public key is negligible with respect to the security parameter $\kappa$.
167167
%
168-
Furthermore, since only a ticket that is associated with a settled block will be used by parties to select public keys (otherwise the encrypted transaction will be considered illegitimate), the total number of tickets that are eligible to use throughout an execution running for $L = \poly(\kappa)$ rounds is polynomially bounded by $\kappa$ and $n$ where $n$ is the number of enclaves.
168+
Furthermore, since only a ticket that is associated with a settled block will be used by parties to select public keys (otherwise the encrypted transaction will be considered illegitimate), the total number of valid tickets throughout an execution running for $L = \poly(\kappa)$ rounds is polynomially bounded by $\kappa$ and $n$ where $n$ is the number of enclaves.
169169
%
170170
Refer to~\cref{lemma:good-block-tickets} for the formal analysis of this scheme.
171171

content/security-analysis/blockchain-security.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ \subsection{Blockchain Security Properties}
4343
\begin{lemma}
4444
[Majority of honest profile blocks]
4545
\label{lemma:good-profile-blocks}
46-
If the properties as in~\cref{lemma:blockchain-properties} are not violated during the execution, then in an execution of \protocFairLedger over a lifetime of $L = \poly(\kappa)$ rounds, for any segmentation of the blockchain of $\PBWindowLen = \Theta(\CPLen)$ consecutive blocks, the majority of the profile blocks included are produced by honest parties.
46+
If common prefix, chain growth and chain quality properties (with the same parameters as those in~\cref{lemma:blockchain-properties}) are not violated during the execution, then in an execution of \protocFairLedger over a lifetime of $L = \poly(\kappa)$ rounds, for any segmentation of the blockchain of $\PBWindowLen = \Theta(\CPLen)$ consecutive blocks, the majority of the profile blocks included are produced by honest parties.
4747
\end{lemma}
4848

4949

content/security-analysis/composable-guarantees.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
\subsection{Composable Guarantees}
22
\label{subsec:composable-guarantees}
33

4-
\cref{subsec:blockchain-security-properties} shows that when the simulator jointly builds the blockchain with the black-box adversary, bad events regarding the violation of good blockchain properties, namely \badCP, \badCQ, \badCG and \badProfile, happens with negligible probability.
4+
\cref{subsec:blockchain-security-properties} shows that when the simulator jointly builds the blockchain with the black-box adversary, bad events regarding the violation of good blockchain properties, namely \badCP, \badCQ, \badCG and \badProfile, happen with negligible probability.
55
%
66
We next prove that the simulator \simulator can simulate the transaction encryption mechanism well, by showing that all bad events \badTicket, \badNIZK and \badDec happen with negligible probability.
77
%
@@ -49,7 +49,7 @@ \subsection{Composable Guarantees}
4949
%
5050
For each random subset selection, the probability that no honest key is selected is bounded by $(1 - p)^m < \exp(-\Omega(\polylog\kappa))$, by selecting $n \cdot \poly(\kappa)$ we get $\Pr[E] = 1 - (1 - \exp(-\Omega(\polylog\kappa)))^{n \cdot \poly(\kappa)} = \exp(-\Omega(\polylog(\kappa)) + \ln n)$ which is negligible in $\kappa$.
5151

52-
Now it suffices to show that by replacing the random number with $\fPRF(\mathsf{key}, h)$, for each ticket there is still at least one key controlled by honest party get selected.
52+
Now it suffices to show that by replacing the random number with $\fPRF(\mathsf{key}, h)$, for each ticket there is still at least one honest key that gets selected.
5353
%
5454
This can be proved by a reduction to the indistinguishability experiment of the underlying pseudorandom function \fPRF which we omit here (note that while each enclave possesses her own key, since the total number of the enclaves are polynomially bounded this does not hurt the argument).
5555
\end{proof}

0 commit comments

Comments
 (0)