exchange/doc/paper/figs/refresh.tex

201 lines
6.9 KiB
TeX
Raw Normal View History

\begin{frame}{Taler {\tt /refresh/melt}}
\begin{figure}[th]
\begin{minipage}[b]{0.45\linewidth}
\begin{center}
\begin{tikzpicture}[scale = 0.4,
transform shape,
msglabel/.style = { text = Black, yshift = .3cm,
sloped, midway },
okmsg/.style = { ->, color = MidnightBlue, thick,
>=stealth },
rstmsg/.style = { ->, color = BrickRed, thick,
>=stealth }
]
\node[draw = MidnightBlue,
fill = CornflowerBlue,
minimum width = .3cm,
minimum height = 10cm
] (h1) at (-4, 0) {};
\node[draw = MidnightBlue,
fill = CornflowerBlue,
minimum width = .3cm,
minimum height = 10cm
] (h2) at (4, 0) {};
\node[above = 0cm of h1] {Customer};
\node[above = 0cm of h2] {Exchange};
\path[->, color = MidnightBlue, very thick, >=stealth]
(-5, 4.5) edge
node[rotate=90, text = Black, yshift = .3cm] {Time}
(-5, -4.5);
\path[->, color = MidnightBlue, thick, >=stealth]
($(h1.east)+(0,3)$) edge
node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/melt} $S_{DK}(C), S_c({\cal DK}, {\cal T},{\cal B})$}
($(h2.west)+(0,2)$);
\path[->, color = MidnightBlue, thick, >=stealth]
($(h2.west)+(0,0.5)$) edge
node[text = Black, yshift = .3cm, sloped] {200 OK: $S_{SK}(H({\cal T}, {\cal B}),\gamma)$}
($(h1.east)+(0,-0.5)$);
\path[rstmsg]
($(h2.west)+(0, -2.5)$) edge
node[msglabel] {409 CONFLICT: $S_{C}(X), \ldots$}
($(h1.east)+(0, -3.5)$);
\node at (5.3, 0) {};
\end{tikzpicture}
\end{center}
\end{minipage}
\hspace{0.5cm}
\begin{minipage}[b]{0.45\linewidth}
\tiny
\begin{description}
\item[$\kappa$] System-wide security parameter, usually 3.
\\ \smallskip
\item[$\cal DK$] $:= [DK^{(i)}]_i$ \\ List of denomination keys \\
$D + \sum_i A_{DK^{(i)}} < A_{DK}$
\item[$t_j$] Random scalar for $j<\kappa$
\item[${\cal T}$] $:= [T_j]_\kappa$ where $T_j = t_j G$
\item[$k_j$] $:= c T_j = t_j C$ is an ECDHE
\item[$b_j^{(i)}$] $:= \texttt{KDFb}(k_j,i)$ % blinding factor
\item[$c_j^{(i)}$] $:= \texttt{KDFc}(k_j,i)$ % coin secret keys
\item[$C_j^{(i)}$] $: = c_j^{(i)} G$ % new coin publics % keys
\item[${\cal B}$] $:= [H( \beta_j )]_\kappa$ where \\
$\beta_j := \left[ B_{b_j^{(i)}}(C_j^{(i)}) \right]_i$
\\ \smallskip
\item[$\gamma$] Random value in $[0,\kappa)$
% \\ \smallskip
% \item[$X$] Deposit or refresh
\end{description}
\end{minipage}
\end{figure}
\end{frame}
\begin{frame}{Taler {\tt /refresh/reveal}}
\begin{figure}[th]
\begin{minipage}[b]{0.45\linewidth}
\begin{center}
\begin{tikzpicture}[scale = 0.4,
transform shape,
msglabel/.style = { text = Black, yshift = .3cm,
sloped, midway },
okmsg/.style = { ->, color = MidnightBlue, thick,
>=stealth },
rstmsg/.style = { ->, color = BrickRed, thick,
>=stealth }
]
\node[draw = MidnightBlue,
fill = CornflowerBlue,
minimum width = .3cm,
minimum height = 10cm
] (h1) at (-4, 0) {};
\node[draw = MidnightBlue,
fill = CornflowerBlue,
minimum width = .3cm,
minimum height = 10cm
] (h2) at (4, 0) {};
\node[above = 0cm of h1] {Customer};
\node[above = 0cm of h2] {Exchange};
\path[->, color = MidnightBlue, very thick, >=stealth]
(-5, 4.5) edge
node[rotate=90, text = Black, yshift = .3cm] {Time}
(-5, -4.5);
\path[->, color = MidnightBlue, thick, >=stealth]
($(h1.east)+(0,3)$) edge
node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/reveal} $H({\cal T}, {\cal B}), {\tilde{\cal T}}, \beta_\gamma$}
($(h2.west)+(0,2)$);
\path[->, color = MidnightBlue, thick, >=stealth]
($(h2.west)+(0,0.5)$) edge
node[text = Black, yshift = .3cm, sloped] {200 OK: $\cal S$}
($(h1.east)+(0,-0.5)$);
\path[rstmsg]
($(h2.west)+(0, -2.5)$) edge
node[msglabel] {400 BAD REQUEST: $Z$}
($(h1.east)+(0, -3.5)$);
\node at (5.3, 0) {};
\end{tikzpicture}
\end{center}
\end{minipage}
\hspace{0.5cm}
\begin{minipage}[b]{0.45\linewidth}
\tiny
\begin{description}
\item[$\cal DK$] $:= [DK^{(i)}]_i$
\item[$t_j$] .. \\ \smallskip
\item[$\tilde{\cal T}$] $:= [t_j | j \in \kappa, j \neq \gamma]$ \\ \smallskip
\item[$k_\gamma$] $:= c T_\gamma = t_\gamma C$
\item[$b_\gamma^{(i)}$] $:= \texttt{KDFb}(k_\gamma,i)$
\item[$c_\gamma^{(i)}$] $:= \texttt{KDFc}(k_\gamma,i)$
\item[$C_\gamma^{(i)}$] $: = c_\gamma^{(i)} G$
\item[$B_\gamma^{(i)}$] $:= B_{b_\gamma^{(i)}}(C_\gamma^{(i)})$
\item[$\beta_\gamma$] $:= \big[ B_\gamma^{(i)} \big]_i$
\item[$\cal S$] $:= \left[ S_{DK^{(i)}}( B_\gamma^{(i)} ) \right]_i$ \\ \smallskip
2020-07-22 23:56:52 +02:00
\item[$Z$] Cut-and-choose mismatch information
\end{description}
\end{minipage}
\end{figure}
\end{frame}
\begin{frame}{Taler {\tt /refresh/link}}
\begin{figure}[th]
\begin{minipage}[b]{0.45\linewidth}
\begin{center}
\begin{tikzpicture}[scale = 0.4,
transform shape,
msglabel/.style = { text = Black, yshift = .3cm,
sloped, midway },
okmsg/.style = { ->, color = MidnightBlue, thick,
>=stealth },
rstmsg/.style = { ->, color = BrickRed, thick,
>=stealth }
]
\node[draw = MidnightBlue,
fill = CornflowerBlue,
minimum width = .3cm,
minimum height = 10cm
] (h1) at (-4, 0) {};
\node[draw = MidnightBlue,
fill = CornflowerBlue,
minimum width = .3cm,
minimum height = 10cm
] (h2) at (4, 0) {};
\node[above = 0cm of h1] {Customer};
2020-07-22 23:56:52 +02:00
\node[above = 0cm of h2] {Exchange};
\path[->, color = MidnightBlue, very thick, >=stealth]
(-5, 4.5) edge
node[rotate=90, text = Black, yshift = .3cm] {Time}
(-5, -4.5);
\path[->, color = MidnightBlue, thick, >=stealth]
($(h1.east)+(0,3)$) edge
node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/link} $C$}
($(h2.west)+(0,2)$);
\path[->, color = MidnightBlue, thick, >=stealth]
($(h2.west)+(0,0.5)$) edge
node[text = Black, yshift = .3cm, sloped] {200 OK: $T_\gamma$}
($(h1.east)+(0,-0.5)$);
\path[rstmsg]
($(h2.west)+(0, -2.5)$) edge
node[msglabel] {404 NOT FOUND}
($(h1.east)+(0, -3.5)$);
\node at (5.3, 0) {};
\end{tikzpicture}
\end{center}
\end{minipage}
\hspace{0.5cm}
\begin{minipage}[b]{0.45\linewidth}
\tiny
\begin{description}
\item[$C$] Old coind public key \\ \smallskip
\item[$T_\gamma$] Linkage data $\cal L$ at $\gamma$
\end{description}
\end{minipage}
\end{figure}
\end{frame}