proof for butterfly graphs

 To proof that our construction indeed is a proof of space, we argue via pebbling. More precisely, we show that the DAG corresponding to the skiplist can only be pebbled using either large space in the initial configuration or a large amount of time. In other words, any prover who didn't store (a large fraction of) the whole output file needs a very long time to answer challenges correctly. Let $\Gsk$ denote the DAG corresponding to the skiplist of length $k\cdot S$ on data of size $S=2^s$, see Figure \ref{fig:DAG}. We will proceed as follows. First, we show that the claim holds for the original construction based on the skiplist of length $k\cdot S$ with random permutations $\Pi=\{\pi_i\}_{i\in[k\cdot S]_0}$, $\pi_i:\{0,1\}^{w\cdot\tilde i}\to\{0,1\}^{w\cdot\tilde i}$. Then we prove that the claim still remains true if we replace the random permutations $\pi_i$ by butterfly graphs $B_i$ with permutaions $\sigma_i:\bin^w\to\bin^w$. \begin{figure}\label{fig:DAG} Let $\Gsk$ denote the DAG corresponding to the skiplist of length $k\cdot S$ on data of size $S=2^s$, see Figure \ref{fig:DAG}. \begin{figure} \centering \scalebox{0.8}{ \begin{tikzpicture}[ ... ... @@ -73,7 +75,7 @@ Let $\Gsk$ denote the DAG corresponding to the skiplist of length $k\cdot S$ on } \end{tikzpicture} } \caption{The DAG $\Gsk$ corresponding to our construction for data of size $S=8$ $w$-blocks and length $k\cdot S$ with $k=2$.} \caption{The DAG $\Gsk$ corresponding to our construction for data of size $S=8$ $w$-blocks and length $k\cdot S$ with $k=2$.\label{fig:DAG}} \end{figure} \begin{lemma} ... ... @@ -287,4 +289,133 @@ Let $\G_{S,1}^{(1)}$, $\G_{S,1}^{(2)}$ contain $\epsilon_1S/2$ and $\epsilon_2S/ $2S-2\epsilon S=2S-(\epsilon_1+\epsilon_2) S<2S-\epsilon_1S-S=S-\epsilon_1 S.$ This proves the claim. \end{itemize} \end{proof} \ No newline at end of file \end{proof} It remains to prove that the statement of the Lemma remains true if we replace the random permutations$\pi$by butterfly graphs$B_i$with random permutations$\sigma_i$on$\bin^{2\cdot w/2}$\kknote{For now, blocks of size$w/2$to be consistent with the above, but need to change notation...}, see Figure \ref{fig:B8}.\footnote{Note, that our graph$B_S$in fact consists of two copies of the original butterfly graph, hence has length$2\log (2S)$. Still, by misuse of the name, we will refer to$B_S$as the butterfly graph of size$S$.} More precisely, we need to prove that pebbling internal nodes of the permutations$\B_i$doesn't help to decrease the number and structure of paths between input and output nodes of$\B_i$from what one could achieve by pebbling only input and output nodes of$\B_i$.\footnote{Note, in the case of random permutations, we used a complete bipartite graph to represent the computation. Here, we show that the butterfly graph is in some sense close to a comlete bipartite graph.} \begin{figure} \centering \scalebox{0.8}{ \begin{tikzpicture}[ node distance=2.5em, vertex/.style={draw,circle,thick}, vertexI/.style={draw,red,circle,thick}, vertexII/.style={draw,blue,circle,thick}, sedge/.style={->}, sedgeI/.style={red,->,very thick}, sedgeII/.style={blue,->,very thick} ] \node[vertex] (v00) {}; \foreach \k/\l in {0/1,1/2,2/3,3/4,4/5,5/6,6/7}{ \node[vertex, above of=v\k0] (v\l0) {}; } \foreach \k in {0,...,7}{ \node[vertex, right of=v\k0] (v\k1) {}; \node[vertex, right of=v\k0,xshift=3.5em] (v\k2) {}; \node[vertex, right of=v\k0,xshift=8em] (v\k3) {}; \node[vertex, right of=v\k0,xshift=12.5em] (v\k4) {}; \node[vertex, right of=v\k0,xshift=16em] (v\k5) {}; \node[vertex, right of=v\k0,xshift=18.5em] (v\k6) {}; } \foreach \k in {0,...,7}{ \foreach \l/\m in {0/1,1/2,2/3,3/4,4/5,5/6}{ \draw[sedge] (v\k\l) -> (v\k\m); } } \foreach \k/\l in {0/1,5/6}{ \foreach \i/\j in {0/1,2/3,4/5,6/7}{ \draw[sedge] (v\i\k) -> (v\j\l); \draw[sedge] (v\j\k) -> (v\i\l); } } \foreach \k/\l in {1/2,4/5}{ \foreach \i/\j in {0/2,1/3,4/6,5/7}{ \draw[sedge] (v\i\k) -> (v\j\l); \draw[sedge] (v\j\k) -> (v\i\l); } } \foreach \k/\l in {2/3,3/4}{ \foreach \i/\j in {0/4,1/5,2/6,3/7}{ \draw[sedge] (v\i\k) -> (v\j\l); \draw[sedge] (v\j\k) -> (v\i\l); } } %red subgraph \foreach \k in {0,2,4,6}{ \node[vertexI, right of=v\k0] (v\k1) {}; \node[vertexI, right of=v\k0,xshift=3.5em] (v\k2) {}; \node[vertexI, right of=v\k0,xshift=8em] (v\k3) {}; \node[vertexI, right of=v\k0,xshift=12.5em] (v\k4) {}; \node[vertexI, right of=v\k0,xshift=16em] (v\k5) {}; } \foreach \k in {0,2,4,6}{ \foreach \l/\m in {1/2,2/3,3/4,4/5}{ \draw[sedgeI] (v\k\l) -> (v\k\m); } } \foreach \k/\l in {1/2,4/5}{ \foreach \i/\j in {0/2,4/6}{ \draw[sedgeI] (v\i\k) -> (v\j\l); \draw[sedgeI] (v\j\k) -> (v\i\l); } } \foreach \k/\l in {2/3,3/4}{ \foreach \i/\j in {0/4,2/6}{ \draw[sedgeI] (v\i\k) -> (v\j\l); \draw[sedgeI] (v\j\k) -> (v\i\l); } } %blue subgraph \foreach \k in {1,3,5,7}{ \node[vertexII, right of=v\k0] (v\k1) {}; \node[vertexII, right of=v\k0,xshift=3.5em] (v\k2) {}; \node[vertexII, right of=v\k0,xshift=8em] (v\k3) {}; \node[vertexII, right of=v\k0,xshift=12.5em] (v\k4) {}; \node[vertexII, right of=v\k0,xshift=16em] (v\k5) {}; } \foreach \k in {1,3,5,7}{ \foreach \l/\m in {1/2,2/3,3/4,4/5}{ \draw[sedgeII] (v\k\l) -> (v\k\m); } } \foreach \k/\l in {1/2,4/5}{ \foreach \i/\j in {1/3,5/7}{ \draw[sedgeII] (v\i\k) -> (v\j\l); \draw[sedgeII] (v\j\k) -> (v\i\l); } } \foreach \k/\l in {2/3,3/4}{ \foreach \i/\j in {1/5,3/7}{ \draw[sedgeII] (v\i\k) -> (v\j\l); \draw[sedgeII] (v\j\k) -> (v\i\l); } } \end{tikzpicture} } \caption{The butterfly graph$\B_S$on data of size$S=4w$-blocks (i.e., 8 blocks of size$w/2$). The two embeddings I and II of the subgraph$\B_{S/2}$are colored red and blue, respectively.\label{fig:B8}} \end{figure} \begin{lemma} For every$\epsilon\in[0,1)$and any configuration of$\epsilon\cdot 2S$pebbles\footnote{Here, each node comprises a block of size$w/2$.} on$\B_S$, there exists$\epsilon'\in[0,\epsilon]$such that th following holds: There exists a subset$Y$of the sinks of$\B_S$with$|Y|=(1-\epsilon')\cdot 2S$, and a subset$X$of the sources of$\B_S$with$|X|=(1-(\epsilon-\epsilon'))\cdot 2S$such that for any pair$(x,y)\in X\times Y$there exists a path from$x$to$y$. \end{lemma} \begin{proof} We prove the statement via induction on$s=\log S\geq 0$. For$s=0$, it is easy to see that the claim is true. Now, assume the claim holds for$\B_{S/2}$. Consider the two node-disjoint embeddings of$\B_{S/2}$into$\B_S$which we refer to as$I$and$II$, respectively, as depicted in Figure \ref{fig:B8}. Let$\epsilon_1\cdot S$,$\epsilon_2\cdot S$,$\epsilon_{in}\cdot 2S$, and$\epsilon_{out}\cdot 2S$be the number of pebbles on$I$,$II$, the input yo$\B_S$, and the output of$\B_S$, respectively. Hence,$\epsilon_1/2+\epsilon_2/2+\epsilon_{in}+\epsilon_{out}=\epsilon$. It follows$\epsilon_1+\epsilon_2=2(\epsilon-\epsilon_{in}-\epsilon_{out})$and w.l.o.g. we assume$\epsilon_1\leq \epsilon-\epsilon_{in}-\epsilon_{out}$. By induction hypothesis, there exists$\epsilon_1'\in[0,\epsilon_1]$and subsets$X_1$,$Y_1$of the sources and sinks of$I$of cardinality$(1-\epsilon_1')S$and$(1-(\epsilon_1-\epsilon_1'))S$, respectively, such that for every pair$(x_1,y_1)\in X_1\times Y_1$there exists a path from$x_1$to$y_1$in$I$. Since each of the nodes in$X_1$,$Y_1$is neighboring to 2 distinct input, output nodes of$\B_S$, respectively, it follows that there exists a subset$X$of$(1-(\epsilon_1-\epsilon_1')-\epsilon_{in})2S$sources of$B_S$and a subset$Y$of$(1-\epsilon_1'-\epsilon_{out})2S$sinks of$\B_S$which are completely connected. By the assumption on$\epsilon_1$, we get $1-(\epsilon_1-\epsilon_1')-\epsilon_{in}\geq 1-(\epsilon-\epsilon_{in}-\epsilon_{out}-\epsilon_1')-\epsilon_{in}=1-(\epsilon-\epsilon_{out}-\epsilon_1').$ Thus, the claim follows with$\epsilon':=\epsilon_1'+\epsilon_{out}\in[0,\epsilon]\$. \end{proof}