exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

refresh.tex (7089B)


      1 \begin{frame}{Taler {\tt /refresh/melt}}
      2   \begin{figure}[th]
      3     \begin{minipage}[b]{0.45\linewidth}
      4       \begin{center}
      5 	\begin{tikzpicture}[scale = 0.4,
      6             transform shape,
      7             msglabel/.style    = { text = Black, yshift = .3cm,
      8                                    sloped, midway },
      9             okmsg/.style       = { ->, color = MidnightBlue, thick,
     10                                    >=stealth },
     11             rstmsg/.style      = { ->, color = BrickRed, thick,
     12                                    >=stealth }
     13 	  ]
     14 	  \node[draw = MidnightBlue,
     15 	    fill = CornflowerBlue,
     16 	    minimum width = .3cm,
     17 	    minimum height = 10cm
     18 	  ] (h1) at (-4, 0) {};
     19 	  \node[draw = MidnightBlue,
     20 	    fill = CornflowerBlue,
     21 	    minimum width = .3cm,
     22 	    minimum height = 10cm
     23 	  ] (h2) at (4, 0) {};
     24 	  \node[above = 0cm of h1] {Customer};
     25 	  \node[above = 0cm of h2] {Exchange};
     26 
     27 	  \path[->, color = MidnightBlue, very thick, >=stealth]
     28 	    (-5, 4.5) edge
     29 	    node[rotate=90, text = Black, yshift = .3cm] {Time}
     30 	    (-5, -4.5);
     31 	  \path[->, color = MidnightBlue, thick, >=stealth]
     32 	    ($(h1.east)+(0,3)$) edge
     33 	    node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/melt} $S_{DK}(C), S_c({\cal DK}, {\cal T},{\cal B})$}
     34 	    ($(h2.west)+(0,2)$);
     35 	  \path[->, color = MidnightBlue, thick, >=stealth]
     36 	    ($(h2.west)+(0,0.5)$) edge
     37 	    node[text = Black, yshift = .3cm, sloped] {200 OK: $S_{SK}(H({\cal T}, {\cal B}),\gamma)$}
     38 	    ($(h1.east)+(0,-0.5)$);
     39 	  \path[rstmsg]
     40 	    ($(h2.west)+(0, -2.5)$) edge
     41 	    node[msglabel] {409 CONFLICT: $S_{C}(X), \ldots$}
     42 	    ($(h1.east)+(0, -3.5)$);
     43 	  \node at (5.3, 0) {};
     44 	\end{tikzpicture}
     45       \end{center}
     46     \end{minipage}
     47     \hspace{0.5cm}
     48     \begin{minipage}[b]{0.45\linewidth}
     49       \tiny
     50       \begin{description}
     51       \item[$\kappa$] System-wide security parameter, usually 3. 
     52       \\ \smallskip
     53       \item[$\cal DK$] $:= [DK^{(i)}]_i$ \\ List of denomination keys \\
     54       $D + \sum_i A_{DK^{(i)}} < A_{DK}$
     55       \item[$t_j$] Random scalar for $j<\kappa$
     56       \item[${\cal T}$] $:= [T_j]_\kappa$ where $T_j = t_j G$
     57       \item[$k_j$] $:= c T_j = t_j C$ is an ECDHE
     58       \item[$b_j^{(i)}$] $:= \texttt{KDFb}(k_j,i)$ % blinding factor
     59       \item[$c_j^{(i)}$] $:= \texttt{KDFc}(k_j,i)$ % coin secret keys
     60       \item[$C_j^{(i)}$] $: = c_j^{(i)} G$ % new coin publics % keys
     61       \item[${\cal B}$] $:= [H( \beta_j )]_\kappa$ where \\
     62          $\beta_j := \left[ B_{b_j^{(i)}}(C_j^{(i)}) \right]_i$ 
     63       \\ \smallskip
     64       \item[$\gamma$] Random value in $[0,\kappa)$ 
     65 %      \\ \smallskip
     66 %      \item[$X$] Deposit or refresh
     67       \end{description}
     68     \end{minipage}
     69   \end{figure}
     70 \end{frame}
     71 
     72 
     73 \begin{frame}{Taler {\tt /refresh/reveal}}
     74   \begin{figure}[th]
     75     \begin{minipage}[b]{0.45\linewidth}
     76       \begin{center}
     77 	\begin{tikzpicture}[scale = 0.4,
     78             transform shape,
     79             msglabel/.style    = { text = Black, yshift = .3cm,
     80                                    sloped, midway },
     81             okmsg/.style       = { ->, color = MidnightBlue, thick,
     82                                    >=stealth },
     83             rstmsg/.style      = { ->, color = BrickRed, thick,
     84                                    >=stealth }
     85 	  ]
     86 	  \node[draw = MidnightBlue,
     87 	    fill = CornflowerBlue,
     88 	    minimum width = .3cm,
     89 	    minimum height = 10cm
     90 	  ] (h1) at (-4, 0) {};
     91 	  \node[draw = MidnightBlue,
     92 	    fill = CornflowerBlue,
     93 	    minimum width = .3cm,
     94 	    minimum height = 10cm
     95 	  ] (h2) at (4, 0) {};
     96 	  \node[above = 0cm of h1] {Customer};
     97 	  \node[above = 0cm of h2] {Exchange};
     98 
     99 	  \path[->, color = MidnightBlue, very thick, >=stealth]
    100 	    (-5, 4.5) edge
    101 	    node[rotate=90, text = Black, yshift = .3cm] {Time}
    102 	    (-5, -4.5);
    103 	  \path[->, color = MidnightBlue, thick, >=stealth]
    104 	    ($(h1.east)+(0,3)$) edge
    105 	    node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/reveal} $H({\cal T}, {\cal B}), {\tilde{\cal T}}, \beta_\gamma$}
    106 	    ($(h2.west)+(0,2)$);
    107 	  \path[->, color = MidnightBlue, thick, >=stealth]
    108 	    ($(h2.west)+(0,0.5)$) edge
    109 	    node[text = Black, yshift = .3cm, sloped] {200 OK: $\cal S$}
    110 	    ($(h1.east)+(0,-0.5)$);
    111 	  \path[rstmsg]
    112 	    ($(h2.west)+(0, -2.5)$) edge
    113 	    node[msglabel] {400 BAD REQUEST: $Z$}
    114 	    ($(h1.east)+(0, -3.5)$);
    115 	  \node at (5.3, 0) {};
    116 	\end{tikzpicture}
    117       \end{center}
    118     \end{minipage}
    119     \hspace{0.5cm}
    120     \begin{minipage}[b]{0.45\linewidth}
    121       \tiny
    122       \begin{description}
    123       \item[$\cal DK$] $:= [DK^{(i)}]_i$
    124       \item[$t_j$] .. \\ \smallskip
    125 
    126       \item[$\tilde{\cal T}$] $:= [t_j | j \in \kappa, j \neq \gamma]$ \\ \smallskip
    127 
    128       \item[$k_\gamma$] $:= c T_\gamma = t_\gamma C$ 
    129       \item[$b_\gamma^{(i)}$] $:= \texttt{KDFb}(k_\gamma,i)$ 
    130       \item[$c_\gamma^{(i)}$] $:= \texttt{KDFc}(k_\gamma,i)$ 
    131       \item[$C_\gamma^{(i)}$] $: = c_\gamma^{(i)} G$ 
    132 
    133       \item[$B_\gamma^{(i)}$] $:= B_{b_\gamma^{(i)}}(C_\gamma^{(i)})$
    134       \item[$\beta_\gamma$] $:= \big[ B_\gamma^{(i)} \big]_i$
    135       \item[$\cal S$] $:= \left[ S_{DK^{(i)}}( B_\gamma^{(i)} ) \right]_i$ \\ \smallskip
    136 
    137       \item[$Z$] Cut-and-choose mismatch information
    138       \end{description}
    139     \end{minipage}
    140   \end{figure}
    141 \end{frame}
    142 
    143 
    144 \begin{frame}{Taler {\tt /refresh/link}}
    145   \begin{figure}[th]
    146     \begin{minipage}[b]{0.45\linewidth}
    147       \begin{center}
    148 	\begin{tikzpicture}[scale = 0.4,
    149             transform shape,
    150             msglabel/.style    = { text = Black, yshift = .3cm,
    151                                    sloped, midway },
    152             okmsg/.style       = { ->, color = MidnightBlue, thick,
    153                                    >=stealth },
    154             rstmsg/.style      = { ->, color = BrickRed, thick,
    155                                    >=stealth }
    156 	  ]
    157 	  \node[draw = MidnightBlue,
    158 	    fill = CornflowerBlue,
    159 	    minimum width = .3cm,
    160 	    minimum height = 10cm
    161 	  ] (h1) at (-4, 0) {};
    162 	  \node[draw = MidnightBlue,
    163 	    fill = CornflowerBlue,
    164 	    minimum width = .3cm,
    165 	    minimum height = 10cm
    166 	  ] (h2) at (4, 0) {};
    167 	  \node[above = 0cm of h1] {Customer};
    168 	  \node[above = 0cm of h2] {Exchange};
    169 
    170 	  \path[->, color = MidnightBlue, very thick, >=stealth]
    171 	    (-5, 4.5) edge
    172 	    node[rotate=90, text = Black, yshift = .3cm] {Time}
    173 	    (-5, -4.5);
    174 	  \path[->, color = MidnightBlue, thick, >=stealth]
    175 	    ($(h1.east)+(0,3)$) edge
    176 	    node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/link} $C$}
    177 	    ($(h2.west)+(0,2)$);
    178 	  \path[->, color = MidnightBlue, thick, >=stealth]
    179 	    ($(h2.west)+(0,0.5)$) edge
    180 	    node[text = Black, yshift = .3cm, sloped] {200 OK: $T_\gamma$}
    181 	    ($(h1.east)+(0,-0.5)$);
    182 	  \path[rstmsg]
    183 	    ($(h2.west)+(0, -2.5)$) edge
    184 	    node[msglabel] {404 NOT FOUND}
    185 	    ($(h1.east)+(0, -3.5)$);
    186 	  \node at (5.3, 0) {};
    187 	\end{tikzpicture}
    188       \end{center}
    189     \end{minipage}
    190     \hspace{0.5cm}
    191     \begin{minipage}[b]{0.45\linewidth}
    192       \tiny
    193       \begin{description}
    194       \item[$C$] Old coind public key \\ \smallskip
    195       \item[$T_\gamma$] Linkage data $\cal L$ at $\gamma$
    196       \end{description}
    197     \end{minipage}
    198   \end{figure}
    199 \end{frame}
    200