Update on Overleaf.

This commit is contained in:
romaric.ludinard
2023-06-21 13:47:22 +00:00
committed by node
parent dc2d872ab6
commit 58b92f2dd0
3 changed files with 14 additions and 13 deletions

View File

@@ -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}
@@ -363,7 +364,7 @@ In such a system, a block \(b\) is {\em valid} if \(b\) meets application specif
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}\).
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

View File

@@ -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},
}

View File

@@ -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