diff --git a/ccs-body.tex b/ccs-body.tex index 7962f08..882ae9e 100644 --- a/ccs-body.tex +++ b/ccs-body.tex @@ -38,7 +38,7 @@ Our contributions are as follows: The remaining of this paper is organised as follows. XXXX -\section{Consensus and application data}\label{sec:background} +\section{Consensus and application data}\label{sec:agreement} % Sensibly the same information that is in Mining in log space. % Might add some context on dynamic environment? @@ -233,10 +233,11 @@ Any scheme for operating and compressing blockchains requires to design (i) a \e \subsubsection{Chain Compression Algorithm} -The Kiayias et al.'s chain compression algorithm (from~\cite{10.1145/3460120.3484784}, Algorithm~\cite{alg:chaincompression}) is parameterized by a security parameter $m$ and the common prefix parameter $k$. System parameter $m$ represents the number of blocks that a party wishes to receive to feel safe. The algorithm compresses the blockchain except for the $k$ most recent blocks, called \emph{unstable} blocks. The compression works as follows: for the highest level $\ell$ that contains more than $2m$ blocks, keep all the blocks but for every level $\mu$ below $\ell$, only keep the last $2m$ blocks and all the blocks after the $m^\text{th}$ block at the $\mu+1$ level. $\Pi$ is used to represent an instance of NIPoPoW proof. %\sg{what is $\mu$ here?} %\ea{We should introduce the $\Pi$ notation here} +The Kiayias et al.'s chain compression algorithm (from~\cite{10.1145/3460120.3484784}, Algorithm~\ref{alg:chaincompression}) is parameterized by a security parameter $m$ and the common prefix parameter $k$. System parameter $m$ represents the number of blocks that a party wishes to receive to feel safe. The algorithm compresses the blockchain except for the $k$ most recent blocks, called \emph{unstable} blocks. The compression works as follows: for the highest level $\ell$ that contains more than $2m$ blocks, keep all the blocks but for every level $\mu$ below $\ell$, only keep the last $2m$ blocks and all the blocks after the $m^\text{th}$ block at the $\mu+1$ level. $\Pi$ is used to represent an instance of NIPoPoW proof. %\sg{what is $\mu$ here?} %\ea{We should introduce the $\Pi$ notation here} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsubsection{Compressed Chain Comparison Algorithm} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %TODO: Give Intuition Let $\Pi_1, \Pi_2, \ldots, \Pi_n$ be the different compressed blockchains that a new party receives. The party first applies the compression algorithm to every compressed blockchain to make the comparison fair. To compare any two compressed blockchains $\Pi$ and $\Pi'$, the compression algorithm selects the minimum level $\mu$ that contains a block present in both $\Pi$ and $\Pi'$. If no such block is found, it necessarily implies that the greatest level (compression level $\ell$) in the two compressed blockchains is not the same, and thus simply, the algorithm selects the one with the greatest level. If block $b$ is found in both $\Pi$ and $\Pi'$ at the same level $\mu$, then the blockchain with the greatest number of blocks after $b$ wins the comparison. % \section{Mining in Logarithmic Space} @@ -362,8 +363,8 @@ Function \diff{b} computes a value that depend on the given block \(b\). In such a system, a block \(b\) is {\em valid} if \(b\) meets application specification, and if \diff{b} satisfies the current interblock delay condition, \emph{i.e.}, if the following condition holds \diff{b} \(\leq\) \target{b}. For the sake of simplicity, we consider that \diff{b} = \hash{b}. -Note that given the assumption on \hash{.} function, the distribution of \diff{b} is uniform over the \(\llbracket 0 ; 2^{\ell} -1\rrbracket \)interval, \emph{i.e.} all hash values are equiprobable. -In addition, given a \target{.} value \(t\), the probability to create a valid block \(b\) is given by \(P\{ \textnormal{b is valid} \mid T=t\} = P\{\) \diff{b} \(\leq t \mid T=t\} = t/2^{\ell}\). +Note that given the assumption on \hash{.} function, the distribution of \diff{b} is uniform over the \(\llbracket 0 ; 2^{\ell} -1\rrbracket \) interval, \emph{i.e.} all hash values are equiprobable. +In addition, given a \target{.} value \(t\), the probability to create a valid block \(b\) is given by \(P\{ b \textnormal{ is valid} \mid T=t\} = P\{\) \diff{b} \(\leq t \mid T=t\} = t/2^{\ell}\). In other words, \target{.} value adjustment makes valid block creation harder or easier, but given a \target{.} value all valid blocks are equiprobable. In order to validate our assumptions on \hash{.}, and thus on \diff{.} and \target{.}, we analyze the ratio between \diff{b} and \target{b} ont Bitcoin's blockchain. At the time of writing, this blockchain gather around \(785000\) blocks. Figure~\ref{fig:ratio} depicts the cumulative distribution of these ratio values in ascending order, which clearly assess the validity of uniform distribution of \hash{.} values. @@ -386,7 +387,7 @@ Note that any valid block has a level at least \(k=0\), since we have \( \mathfr Our state compression protocol follows the same guidelines as Kiayias~\textit{et al.}~\cite{kiayias2021mining}. \begin{itemize} - \item Compress chains using D/T ratio rarity instead of superblocks. + \item Compress chains using \diff{.}/\target{.} ratio rarity instead of superblocks. \item Rarity introduced by sorting ratios into exponentially rarer buckets. \end{itemize} @@ -419,7 +420,7 @@ The blocks must be ordered chronologically and interlink pointers checked as the The chain filtering operators $[\cdot]$, $\{\cdot\}$, $\uparrow$ and $\Uparrow$ have precedence over $\cup$, $\cap$ and $\setminus$. \paragraph{Compression algorithm.} -Our compression algorithm \textsc{Compress}$_{m,k}(\mathcal{C})$ is given in Algorithm~\ref{alg:compression}. +Our compression algorithm \textsc{Compress}$_{m,k}(\mathcal{C})$ is given in Algorithm~\ref{alg:chaincompression}. We modify the algorithm given by Kiayias~\textit{et al.}~\cite{kiayias2021mining}, using our ratio metric instead of superblocks to represent block rarity. Given a chain $\mathcal{C}$ we want to compress, we set aside the most recent and unstable $k$ blocks in $\chi$. The remaining $\mathcal{C}[:-k]$ constitutes our stable part of the chain. @@ -434,7 +435,8 @@ The remaining $\mathcal{C}[:-k]$ constitutes our stable part of the chain. \State $\ell \gets max\{n : |\mathcal{C}^* \Uparrow^n| \geq 2m\}$ \State $\mathcal{D}[\ell] \gets \mathcal{C}^*\Uparrow^\ell$ \For{$n \gets \ell-1$ down to $0$} - \State $b \gets \mathcal{C}^*\Uparrow^n [-2m:] \cup \mathcal{C}^*\Uparrow^n \{b:\}$ + \State $b \gets \mathcal{C}^*\Uparrow^{n+1} [-m]$ + \State $\mathcal{D}[\mu] \gets \mathcal{C}^*\Uparrow^n [-2m:] \cup \mathcal{C}^*\Uparrow^n \{b:\}$ \EndFor \Else \State $\mathcal{D}[0] \gets \mathcal{C}^*$ @@ -534,11 +536,10 @@ Use interactive version for now. % Theorem 2 Garay variable difficulty For the common prefix to hold, we need $k \geq \frac{\theta \gamma m}{4 \tau}$. As $m = 2016$ and $\tau = 4$, we want to compute $\theta$ and $\gamma$ in order to get $k$: -% We can't right away compute \theta and \gamma with empirical values, as \eta and \theta evaluation would match \begin{itemize} % Definition 5 Garay variable difficulty \item $\theta$: we have $f(T_r^{max}(E),n_r) \leq \theta f$ (with $f = 0.03$), so $\theta \geq \frac{f(T_r^{max}(E),n_r)}{f}$. As we can estimate $q$ as $\frac{diff(S)}{rounds(S)}$, with $S$ the number of blocks confirming the weather balloon, $diff(S)$ the expected number of nonces tested to mine the $S$ blocks and $rounds(S)$ the number of rounds occurring during the mining of the $S$ blocks. Then we have $\theta \geq \frac{1 - (1 - \frac{T}{2^\kappa})^{q n_r}}{f}$ - % Contrairement à ci-dessus où on prend une valeur assurant le pire cas, cela ne semble pas être le cas ci-dessous. \theta et \eta ont la même valeur... Donc il semble que l'on ai le même problème ci-dessus. + % Contrairement à ci-dessus où on prend une valeur assurant le pire cas, cela ne semble pas être le cas ci-dessous. \theta et \eta ont la même valeur... Donc il semble que l'on ai le même problème ci-dessus. Est-ce qu'avoir \theta = \eta est un problème en soit ? % Page 2 Garay variable difficulty %\item $\gammadra$: by definition of $(\gamma, s)-respecting$, we have $\gamma \geq \frac{max_{r\in S}n_r}{min_{r \in S}n_r}$ with $n_r = \frac{diff(S)f 2^\kappa}{n_0 m T_0}$ % ñ definition page 172 Zindros thesis diff --git a/ccs-sample.bib b/ccs-sample.bib index d44efb7..c92d34c 100644 --- a/ccs-sample.bib +++ b/ccs-sample.bib @@ -44,7 +44,7 @@ SHORTAUTHOR = {1111}, URL = {https://hal.archives-ouvertes.fr/hal-01888265/document}, BOOKTITLE = {{17th IEEE International Symposium on Network Computing and Applications}}, - DATE = {2018}, + YEAR = {2018}, SERIES = {NCA}, SORTYEAR = {2018}, TITLE = {{Sycomore : a Permissionless Distributed Ledger that self-adapts to Transactions Demand}}, @@ -54,7 +54,7 @@ AUTHOR = {Churyumov, A.}, SHORTAUTHOR = {1111}, URL = {https://byteball.org/Byteball.pdf}, - DATE = {2017}, + YEAR = {2017}, SORTYEAR = {2017}, TITLE = {{ByteBall : A Decentralized System for Storage and Transfer of Value}}, } @@ -63,7 +63,7 @@ AUTHOR = {Popov, S.}, SHORTAUTHOR = {1111}, URL = {https://assets.ctfassets.net/r1dr6vzfxhev/2t4uxvsIqk0EUau6g2sw0g/45eae33637ca92f85dd9f4a3a218e1ec/iota1_4_3.pdf}, - DATE = {2017}, + YEAR = {2017}, SORTYEAR = {2017}, TITLE = {The tangle}, } diff --git a/ccs-template.tex b/ccs-template.tex index f013d57..20a5b38 100644 --- a/ccs-template.tex +++ b/ccs-template.tex @@ -18,7 +18,7 @@ \newcommand{\hash}[1]{\(\mathfrak{h}(#1)\)} \newcommand{\diff}[1]{\(\mathfrak{diff}(#1)\)} \newcommand{\target}[1]{\(\mathfrak{target}(#1)\)} -\newcommand{\level}[1]{\(\mathfrak{lvl}(#1)\)} +\newcommand{\level}[1]{\(\mathfrak{level}(#1)\)} \DeclareMathOperator{\polylog}{poly \log} % Tables