marketing

Marketing materials (presentations, posters, flyers)
Log | Files | Refs

2020-wcef.tex (41076B)


      1 \pdfminorversion=3
      2 \documentclass[fleqn,xcolor={usenames,dvipsnames}]{beamer}
      3 \usepackage{amsmath}
      4 \usepackage{multimedia}
      5 \usepackage[utf8]{inputenc}
      6 \usepackage{framed,color,ragged2e}
      7 \usepackage[absolute,overlay]{textpos}
      8 \definecolor{shadecolor}{rgb}{0.8,0.8,0.8}
      9 \usetheme{boxes}
     10 \setbeamertemplate{navigation symbols}{}
     11 \usepackage{xcolor}
     12 \usepackage{tikz,eurosym}
     13 \usepackage[normalem]{ulem}
     14 \usepackage{listings}
     15 
     16 % CSS
     17 \lstdefinelanguage{CSS}{
     18   basicstyle=\ttfamily\scriptsize,
     19   keywords={color,background-image:,margin,padding,font,weight,display,position,top,left,right,bottom,list,style,border,size,white,space,min,width, transition:, transform:, transition-property, transition-duration, transition-timing-function},
     20   sensitive=true,
     21   morecomment=[l]{//},
     22   morecomment=[s]{/*}{*/},
     23   morestring=[b]',
     24   morestring=[b]",
     25   alsoletter={:},
     26   alsodigit={-}
     27 }
     28 
     29 % JavaScript
     30 \lstdefinelanguage{JavaScript}{
     31   basicstyle=\ttfamily\scriptsize,
     32   morekeywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
     33   morecomment=[s]{/*}{*/},
     34   morecomment=[l]//,
     35   morestring=[b]",
     36   morestring=[b]'
     37 }
     38 
     39 \lstdefinelanguage{HTML5}{
     40   basicstyle=\ttfamily\scriptsize,
     41   language=html,
     42   sensitive=true,
     43   alsoletter={<>=-},
     44   morecomment=[s]{<!-}{-->},
     45   tag=[s],
     46   otherkeywords={
     47   % General
     48   >,
     49   % Standard tags
     50 	<!DOCTYPE,
     51   </html, <html, <head, <title, </title, <style, </style, <link, </head, <meta, />,
     52 	% body
     53 	</body, <body,
     54 	% Divs
     55 	</div, <div, </div>,
     56 	% Paragraphs
     57 	</p, <p, </p>,
     58 	% scripts
     59 	</script, <script,
     60   % More tags...
     61   <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, <source, <iframe, </iframe>, </video>, <image, </image>
     62   },
     63   ndkeywords={
     64   % General
     65   =,
     66   % HTML attributes
     67   charset=, src=, id=, width=, height=, style=, type=, rel=, href=,
     68   % SVG attributes
     69   fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, repeatCount=, xlink:href=,
     70   % CSS properties
     71   margin:, padding:, background-image:, border:, top:, left:, position:, width:, height:,
     72 	% CSS3 properties
     73   transform:, -moz-transform:, -webkit-transform:,
     74   animation:, -webkit-animation:,
     75   transition:,  transition-duration:, transition-property:, transition-timing-function:,
     76   }
     77 }
     78 
     79 \lstdefinelanguage{JavaScript}{
     80   basicstyle=\ttfamily\scriptsize,
     81   keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, for},
     82   keywordstyle=\color{blue}\bfseries,
     83   ndkeywords={class, export, boolean, throw, implements, import, this},
     84   ndkeywordstyle=\color{darkgray}\bfseries,
     85   identifierstyle=\color{black},
     86   sensitive=false,
     87   comment=[l]{//},
     88   morecomment=[s]{/*}{*/},
     89   commentstyle=\color{purple}\ttfamily,
     90   stringstyle=\color{red}\ttfamily,
     91   morestring=[b]',
     92   morestring=[b]"
     93 }
     94 
     95 \usetikzlibrary{shapes,arrows}
     96 \usetikzlibrary{positioning}
     97 \usetikzlibrary{calc}
     98 
     99 \title{GNU Taler}
    100 %\subtitle{}
    101 
    102 \setbeamertemplate{navigation symbols}{\includegraphics[width=1cm]{inria.pdf} \includegraphics[width=0.5cm]{gnu.png} \includegraphics[width=0.5cm]{gnunet-logo-dark-text.png} \includegraphics[width=0.5cm]{ashoka.png} \includegraphics[width=4cm]{bfh.png} \hfill}
    103 %\setbeamercovered{transparent=1}
    104 
    105 \author[C. Grothoff]{J. Burdges, F. Dold, {\bf C. Grothoff}, M. Stanisci}
    106 \date{\today}
    107 \institute{The GNU Project}
    108 
    109 
    110 \begin{document}
    111 
    112 \justifying
    113 
    114 
    115 \begin{frame}[plain]
    116 	\includegraphics[width=1.2\textwidth]{hungry_dude}
    117 \end{frame}
    118 
    119 
    120 \begin{frame}{The Bank's Problem}
    121 
    122   3D secure (``verified by visa'') is a nightmare:
    123 
    124   \begin{minipage}{5cm}
    125     \begin{itemize}
    126     \item Complicated process
    127     \item Shifts liability to consumer
    128     \item Significant latency
    129     \item Can refuse valid requests
    130     \item Legal vendors excluded
    131     \item No privacy for buyers
    132      \end{itemize}
    133   \end{minipage}
    134   \begin{minipage}{5cm}
    135       \includegraphics[width=\textwidth]{illustrations/cc3ds.pdf}
    136   \end{minipage}
    137   \vfill
    138     Online credit card payments will be replaced, but with what?
    139 \end{frame}
    140 
    141 
    142 \begin{frame}{The Bank's Problem}
    143 \vfill
    144   \begin{textblock*}{12cm}(0.5cm,1cm) % {block width} (coords)
    145     \begin{itemize}
    146     \item Global tech companies push oligopolies
    147     \item Privacy and federated finance are at risk
    148 %    \item 30\% fees are conceivable
    149     \item Economic sovereignty is in danger
    150     \end{itemize}
    151 \end{textblock*}
    152 \begin{textblock*}{4cm}(3.5cm,5.2cm) % {block width} (coords)
    153  {\includegraphics[width=\textwidth]{../investors/competitor-logos/amazon.png}}
    154 \end{textblock*}
    155 \begin{textblock*}{2cm}(7cm,3cm) % {block width} (coords)
    156  {\includegraphics[width=\textwidth]{../investors/competitor-logos/alipay.jpeg}}
    157 \end{textblock*}
    158 \begin{textblock*}{2cm}(3cm,3.5cm) % {block width} (coords)
    159  {\includegraphics[width=\textwidth]{../investors/competitor-logos/paypal.jpeg}}
    160 \end{textblock*}
    161 \begin{textblock*}{2cm}(9cm,5cm) % {block width} (coords)
    162  {\includegraphics[width=\textwidth]{../investors/competitor-logos/applepay.jpeg}}
    163 \end{textblock*}
    164 \begin{textblock*}{2cm}(7.5cm,5.9cm) % {block width} (coords)
    165  {\includegraphics[width=\textwidth]{../investors/competitor-logos/samsungpay.jpeg}}
    166 \end{textblock*}
    167 \begin{textblock*}{1cm}(9.5cm,6.3cm) % {block width} (coords)
    168  {\includegraphics[width=\textwidth]{../investors/competitor-logos/android_pay.png}}
    169 \end{textblock*}
    170 \vfill
    171 \end{frame}
    172 
    173 
    174 \begin{frame}{Predicting the Future}
    175   \begin{itemize}
    176   \item Google, Apple or Facebook's Libra will be your bank and run your payment system
    177   \item They target advertising based on your purchase history, location and
    178         your ability to pay
    179   \item They will provide more usable, faster and broadly available
    180         payment solutions; our federated banking system will be history
    181 %        just like SMTP is now Gmail.
    182   \item After dominating the payment sector, they will start to charge fees
    183         befitting their oligopoly size
    184   \item Competitors and vendors not aligning with their corporate ``values''
    185         will be excluded by terms of service and go bankrupt
    186 %  \item The imperium will have another major tool for its financial warfare
    187   \end{itemize}
    188 \end{frame}
    189 
    190 
    191 \begin{frame}
    192   \begin{center}
    193     \LARGE {\bf GNU}
    194 
    195     \vfill
    196 %    \includegraphics[width=0.66\textwidth]{logo-2017-fr.pdf}
    197     \includegraphics[width=0.66\textwidth]{taler-logo-2018.pdf}
    198   \end{center}
    199   \vfill
    200   \begin{center}
    201     {\huge {\bf Digital} cash, made \textbf{socially responsible}.}
    202   \end{center}
    203   \vfill
    204 \begin{textblock*}{4cm}(.5cm,7.5cm) % {block width} (coords)
    205   {\Large {\bf \url{taler.net}} \\
    206     twitter@taler \\
    207     mail@taler.net }
    208 \end{textblock*}
    209 
    210 % Substitute based on who is giving the talk!
    211  \begin{textblock*}{6cm}(6.7cm,7.7cm) % {block width} (coords)
    212    {%\hfill {\Large {\bf Florian Dold \&} \\
    213     \hfill {\bf Christian Grothoff}} \\
    214     \hfill grothoff@taler.net 
    215 \end{textblock*}
    216 
    217 \end{frame}
    218 
    219 
    220 \section{What is Taler?}
    221 \begin{frame}{What is Taler?}
    222   \vfill
    223   \begin{center}
    224 Taler is an electronic instant payment system.
    225   \end{center}
    226   \begin{itemize}
    227   \item Uses electronic coins stored in {\bf wallets} on customer's device
    228   \item Like {\bf cash}
    229   \item Pay in {\bf existing currencies} (i.e. EUR, USD, CHF)
    230   \end{itemize}
    231   \vfill
    232 \end{frame}
    233 
    234 
    235 \begin{frame}{Design goals for the GNU Taler Payment System}
    236 GNU Taler must ...
    237 \begin{enumerate}
    238   \item {... be implemented as {\bf free software}.}
    239   \item {... protect the {\bf privacy of buyers}.}
    240   \item {... must enable the state to {\bf tax income} and crack down on
    241     illegal business activities.}
    242   \item {... prevent payment fraud.}
    243   \item {... only {\bf disclose the minimal amount of information
    244     necessary}.}
    245   \item {... be usable.}
    246   \item {... be efficient.}
    247   \item {... avoid single points of failure.}
    248   \item {... foster {\bf competition}.}
    249 \end{enumerate}
    250 \end{frame}
    251 
    252 
    253 \begin{frame}
    254 \frametitle{Taler Overview}
    255 \begin{center}
    256 \begin{tikzpicture}
    257  \tikzstyle{def} = [node distance= 5em and 6.5em, inner sep=1em, outer sep=.3em];
    258  \node (origin) at (0,0) {};
    259  \node (exchange) [def,above=of origin,draw]{Exchange};
    260  \node (customer) [def, draw, below left=of origin] {Customer};
    261  \node (merchant) [def, draw, below right=of origin] {Merchant};
    262  \node (auditor) [def, draw, above right=of origin]{Auditor};
    263 
    264  \tikzstyle{C} = [color=black, line width=1pt]
    265 
    266  \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] (TextNode) {withdraw coins};
    267  \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] (TextNode) {deposit coins};
    268  \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] (TextNode) {spend coins};
    269  \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode) {verify};
    270 
    271 \end{tikzpicture}
    272 \end{center}
    273 \end{frame}
    274 
    275 
    276 \begin{frame}{Taler in Operation}
    277   \centering
    278   \includegraphics[width=\textwidth]{operations.png}
    279 \end{frame}
    280 
    281 
    282 \begin{frame}{Usability of Taler}
    283   \vfill
    284   \begin{center}
    285     \url{https://demo.taler.net/}
    286   \end{center}
    287   \begin{enumerate}
    288   \item Install browser extension.
    289   \item Visit the {\tt bank.demo.taler.net} to withdraw coins.
    290   \item Visit the {\tt shop.demo.taler.net} to spend coins.
    291   \end{enumerate}
    292   \vfill
    293 \end{frame}
    294 
    295 
    296 \begin{frame}[c]{The Taler Snack Machine\footnote{By M. Boss and D. Hofer}}
    297   \framesubtitle{Integration of a MDB/ICP to Taler gateway.\\Implementation of a NFC or QR-Code to Taler wallet interface.}
    298 	\vfill
    299 	\begin{figure}
    300   \centering
    301   \includegraphics[width=1.0\textwidth]{design}
    302   \end{figure}
    303 \end{frame}
    304 
    305 
    306 \begin{frame}[t]{Software}
    307    \begin{figure}
    308   				\centering
    309   				\includegraphics[width=.9\textwidth]{software_stack}
    310 				\end{figure}
    311 \end{frame}
    312 
    313 
    314 \begin{frame}[c]{How to use at WCEF: Install App on Android\footnote{\url{https://wallet.taler.net/}}}
    315 		\begin{figure}
    316 			\includegraphics[width=0.9\textwidth]{download_wallet.png}
    317 		\end{figure}
    318 \end{frame}
    319 
    320 \begin{frame}{How to use at WCEF: Exchange cash for e-cash}
    321 		\begin{figure}
    322 			\includegraphics[width=0.9\textwidth]{get_taler_coins.png}
    323 		\end{figure}
    324 \end{frame}
    325 
    326 \begin{frame}{How to use at WCEF: Buy autographed copy of GRM!}
    327 		\begin{figure}
    328 			\includegraphics[width=0.9\textwidth]{get_snacks.png}
    329 		\end{figure}
    330 \end{frame}
    331 
    332 \begin{frame}[c]{How to use afterwards: Shop online\footnote{Operational until 31.1.2020}}
    333 \vfill
    334         \begin{center}
    335         \url{https://buywith.taler.net/}
    336         \end{center}
    337 \vfill
    338 \end{frame}
    339 
    340 
    341 \begin{frame}{Use Case: Journalism}
    342   Today:
    343   \begin{itemize}
    344     \item Corporate structure % ($\Rightarrow$ filter)
    345     \item Advertising primary revenue % ($\Rightarrow$ dependence)
    346     \item Tracking readers critical for business success
    347     \item Journalism and marketing hard to distinguish
    348   \end{itemize}\vfill\pause
    349   With GNU Taler:
    350   \begin{itemize}
    351     \item One-click micropayments per article
    352     \item Hosting requires no expertise % (no PCI DSS)
    353     \item Reader-funded reporting separated from marketing
    354     \item Readers can remain anonymous
    355   \end{itemize}
    356 \end{frame}
    357 
    358 
    359 \begin{frame}{Use Case: Anti-Spam}
    360   Today, p$\equiv$p provides authenticated encryption for e-mail:
    361   \begin{itemize}
    362     \item Free software
    363     \item Easy to use opportunistic encryption
    364     \item Available for Outlook, Android, Enigmail
    365     \item Spies \& spam filters can no longer inspect content
    366   \end{itemize}\vfill\pause
    367   With GNU Taler:
    368   \begin{itemize}
    369     \item Peer-to-peer payments via e-mail
    370     \item If unsolicited sender, hide messages from user \&
    371           automatically request payment from sender
    372     \item Sender can attach payment to be moved to inbox
    373     \item Receiver may grant refund to sender
    374   \end{itemize}
    375 \end{frame}
    376 
    377 
    378 \begin{frame}
    379   \vfill
    380   \begin{center}
    381     {\bf Where might this get us exactly?}
    382   \end{center}
    383   \vfill
    384 \end{frame}
    385 
    386 
    387 \begin{frame}{Visions}
    388   \begin{itemize}
    389   \item Be paid to read advertising, starting with spam
    390   \item Give welfare without intermediaries taking huge cuts
    391 %  \item Forster regional trade via regional currencies
    392   \item Eliminate corruption by making all income visible
    393   \item Stop the mining by making crypto-currencies useless for
    394         anything but crime
    395   \end{itemize}
    396 \end{frame}
    397 
    398 
    399 \section{Competitor analysis}
    400 \begin{frame}{Competitor comparison}
    401   \begin{center} \small
    402     \begin{tabular}{l||c|c|c|c|c}
    403                 & Cash & Bitcoin & Zerocoin & Creditcard & GNU Taler \\ \hline \hline
    404    Online      &$-$$-$$-$  &   ++    &    ++    &     +      &   +++  \\ \hline
    405     Offline     & +++  &   $-$$-$    &    $-$$-$    &     +      &   $-$$-$  \\ \hline
    406     Trans. cost & +    & $-$$-$$-$   & $-$$-$$-$  &     $-$      &   ++  \\ \hline
    407     Speed       & +    & $-$$-$$-$   & $-$$-$$-$  &     o      &   ++  \\ \hline
    408     Taxation    & $-$    &   $-$$-$    &  $-$$-$$-$   &    +++     &  +++  \\ \hline
    409     Payer-anon  &  ++  &   o     &    ++    &  $-$$-$$-$   &  +++  \\ \hline
    410     Payee-anon  & ++   &   o     &    ++    &  $-$$-$$-$    &  $-$$-$$-$ \\ \hline
    411     Security    &  $-$   &   o     &    o     &    $-$$-$      &  ++   \\ \hline
    412     Conversion  & +++  &  $-$$-$$-$   & $-$$-$$-$ &    +++     &  +++  \\ \hline
    413     Libre       &  $-$   &  +++    &    +++   & $-$ $-$ $-$      &  +++  \\
    414   \end{tabular}
    415   \end{center}
    416 \end{frame}
    417 
    418 
    419 \begin{frame}
    420   \vfill
    421   \begin{center}
    422     {\bf Technology}
    423   \end{center}
    424   \vfill
    425 \end{frame}
    426 
    427 
    428 \begin{frame}{How does it work?}
    429 We use a few ancient constructions:
    430   \begin{itemize}
    431   \item Cryptographic hash function (1989)
    432   \item Blind signature (1983)
    433   \item Schnorr signature (1989)
    434   \item Diffie-Hellman key exchange (1976)
    435   \item Cut-and-choose zero-knowledge proof (1985)
    436   \end{itemize}
    437 But of course we use modern instantiations.
    438 \end{frame}
    439 
    440 
    441 \begin{frame}{Exchange setup: Create a denomination key (RSA)}
    442    \begin{minipage}{6cm}
    443     \begin{enumerate}
    444     \item Pick random primes $p,q$.
    445     \item Compute $n := pq$, $\phi(n) = (p-1)(q-1)$
    446     \item Pick small $e < \phi(n)$ such that
    447           $d := e^{-1} \mod \phi(n)$ exists.
    448     \item Publish public key $(e,n)$.
    449     \end{enumerate}
    450   \end{minipage}
    451   \begin{minipage}{6cm}
    452   \begin{tikzpicture}
    453  \tikzstyle{def} = [node distance=1em and 1em, inner sep=0em, outer sep=.3em];
    454     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    455     \node (primes) [draw=none, below = of origin] at (0,0) {$(p, q)$};
    456     \node (seal) [def, draw=none, below left=of primes]{\includegraphics[width=0.15\textwidth]{seal.pdf}};
    457     \node (hammer) [def, draw=none, below right=of primes]{\includegraphics[width=0.15\textwidth]{hammer.pdf}};
    458 
    459     \tikzstyle{C} = [color=black, line width=1pt]
    460 
    461     \draw [<-, C] (primes) -- (origin) node [midway, above, sloped] (TextNode) {};
    462     \draw [<-, C] (seal) -- (primes) node [midway, above, sloped] (TextNode) {};
    463     \draw [<-, C] (hammer) -- (primes) node [midway, above, sloped] (TextNode) {};
    464   \end{tikzpicture}
    465 %  \includegraphics[width=0.4\textwidth]{seal.pdf}
    466   \end{minipage}
    467 \end{frame}
    468 
    469 
    470 \begin{frame}{Merchant: Create a signing key (EdDSA)}
    471   \begin{minipage}{6cm}
    472     \begin{itemize}
    473   \item pick random $m \mod o$ as private key
    474   \item $M = mG$ public key
    475   \end{itemize}
    476   \end{minipage}
    477   \begin{minipage}{6cm}
    478   \begin{tikzpicture}
    479    \tikzstyle{def} = [node distance= 1em and 1em, inner sep=0em, outer sep=.3em];
    480     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    481     \node (m) [draw=none, below = of origin] at (0,0) {$m$};
    482     \node (seal) [draw=none, below=of m]{M};
    483    \tikzstyle{C} = [color=black, line width=1pt]
    484 
    485     \draw [<-, C] (m) -- (origin) node [midway, above, sloped] (TextNode) {};
    486     \draw [<-, C] (seal) -- (primes) node [midway, above, sloped] (TextNode) {};
    487   \end{tikzpicture}
    488   \end{minipage}
    489   \parbox[t]{3cm}{{\bf Capability:} $m \Rightarrow$ }
    490   \raisebox{\dimexpr-\height+\baselineskip}{\includegraphics[width=0.1\textwidth]{merchant-sign.pdf}}
    491 \end{frame}
    492 
    493 
    494 \begin{frame}{Customer: Create a planchet (EdDSA)}
    495   \begin{minipage}{8cm}
    496   \begin{itemize}
    497   \item Pick random $c \mod o$ private key
    498   \item $C = cG$ public key
    499   \end{itemize}
    500   \end{minipage}
    501   \begin{minipage}{4cm}
    502   \begin{tikzpicture}
    503    \tikzstyle{def} = [node distance= 1em and 1em, inner sep=0em, outer sep=.3em];
    504     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    505     \node (c) [draw=none, below = of origin] at (0,0) {$c$};
    506     \node (planchet) [draw=none, below=of c]{\includegraphics[width=0.4\textwidth]{planchet.pdf}};
    507     \tikzstyle{C} = [color=black, line width=1pt]
    508 
    509     \draw [<-, C] (c) -- (origin) node [midway, above, sloped] (TextNode) {};
    510     \draw [<-, C] (planchet) -- (c) node [midway, above, sloped] (TextNode) {};
    511   \end{tikzpicture}
    512   \end{minipage}
    513   \parbox[t]{3cm}{{\bf Capability:} $c \Rightarrow$ }
    514   \raisebox{\dimexpr-\height+\baselineskip}{\includegraphics[width=0.1\textwidth]{planchet-sign.pdf}}
    515 \end{frame}
    516 
    517 
    518 \begin{frame}{Customer: Blind planchet (RSA)}
    519   \begin{minipage}{6cm}
    520     \begin{enumerate}
    521     \item Obtain public key $(e,n)$
    522     \item Compute $f := FDH(C)$, $f < n$.
    523     \item Pick blinding factor $b \in \mathbb Z_n$
    524     \item Transmit $f' := f b^e \mod n$
    525     \end{enumerate}
    526   \end{minipage}
    527   \begin{minipage}{6cm}
    528   \begin{tikzpicture}
    529    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    530     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    531     \node (b) [def, draw=none, below = of origin] at (0,-0.2) {$b$};
    532     \node (blinded) [def, draw=none, below right=of b]{\includegraphics[width=0.2\textwidth]{blinded.pdf}};
    533     \node (planchet) [def, draw=none, above right=of blinded]{\includegraphics[width=0.15\textwidth]{planchet.pdf}};
    534     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
    535     \tikzstyle{C} = [color=black, line width=1pt]
    536 
    537     \draw [<-, C] (b) -- (origin) node [midway, above, sloped] (TextNode) {};
    538     \draw [<-, C] (blinded) -- (planchet) node [midway, above, sloped] (TextNode) {};
    539     \draw [<-, C] (blinded) -- (b) node [midway, above, sloped] (TextNode) {};
    540     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
    541   \end{tikzpicture}
    542   \end{minipage}
    543 \end{frame}
    544 
    545 
    546 \begin{frame}{Exchange: Blind sign (RSA)}
    547    \begin{minipage}{6cm}
    548     \begin{enumerate}
    549     \item Receive $f'$.
    550     \item Compute $s' := f'^d \mod n$.
    551     \item Send signature $s'$.
    552     \end{enumerate}
    553    \end{minipage}
    554   \begin{minipage}{6cm}
    555   \begin{tikzpicture}
    556    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    557     \node (hammer) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{hammer.pdf}};
    558     \node (signed) [def, draw=none, below left=of hammer]{\includegraphics[width=0.2\textwidth]{sign.pdf}};
    559     \node (blinded) [def, draw=none, above left=of signed]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    560     \node (customer) [node distance=4em and 0.5em, draw, below =of signed]{Customer};
    561     \tikzstyle{C} = [color=black, line width=1pt]
    562 
    563     \draw [<-, C] (signed) -- (hammer) node [midway, above, sloped] (TextNode) {};
    564     \draw [<-, C] (signed) -- (blinded) node [midway, above, sloped] (TextNode) {};
    565     \draw [<-, C] (customer) -- (signed) node [midway, above, sloped] (TextNode) {{\small transmit}};
    566   \end{tikzpicture}
    567   \end{minipage}
    568 \end{frame}
    569 
    570 
    571 \begin{frame}{Customer: Unblind coin (RSA)}
    572   \begin{minipage}{6cm}
    573    \begin{enumerate}
    574     \item Receive $s'$.
    575     \item Compute $s := s' b^{-1} \mod n$ % \\
    576     % ($(f')^d = (f b^e)^d = f^d b$).
    577     \end{enumerate}
    578    \end{minipage}
    579   \begin{minipage}{6cm}
    580   \begin{tikzpicture}
    581    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    582     \node (b) [def, draw=none] at (0,0) {$b$};
    583     \node (coin) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
    584     \node (signed) [def, draw=none, above left=of coin]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
    585     \tikzstyle{C} = [color=black, line width=1pt]
    586 
    587     \draw [<-, C] (coin) -- (b) node [midway, above, sloped] (TextNode) {};
    588     \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode) {};
    589   \end{tikzpicture}
    590   \end{minipage}
    591 \end{frame}
    592 
    593 
    594 \begin{frame}{Customer: Build shopping cart}
    595   \begin{center}
    596   \begin{tikzpicture}
    597    \tikzstyle{def} = [node distance= 1em and 1em, inner sep=0em, outer sep=.3em];
    598     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{shop.pdf}};
    599     \node (cart) [draw=none, below=of m]{\includegraphics[width=0.2\textwidth]{cart.pdf}};
    600     \node (merchant) [node distance=4em and 0.5em, draw, below =of cart]{Merchant};
    601     \tikzstyle{C} = [color=black, line width=1pt];
    602     \draw [<-, C] (cart) -- (origin) node [midway, above, sloped] (TextNode) {};
    603     \draw [<-, C] (merchant) -- (cart) node [midway, above, sloped] (TextNode) {{\small transmit}};
    604   \end{tikzpicture}
    605   \end{center}
    606 \end{frame}
    607 
    608 
    609 \begin{frame}{Merchant: Propose contract (EdDSA)}
    610    \begin{minipage}{6cm}
    611    \begin{enumerate}
    612     \item Complete proposal $D$.
    613     \item Send $D$, $EdDSA_m(D)$
    614     \end{enumerate}
    615    \end{minipage}
    616   \begin{minipage}{6cm}
    617   \begin{tikzpicture}
    618    \tikzstyle{def} = [node distance=2em and 0.5em, inner sep=0em, outer sep=.3em];
    619     \node (cart) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{cart.pdf}};
    620     \node (proposal) [def, draw=none, below right=of cart]{\includegraphics[width=0.5\textwidth]{merchant_propose.pdf}};
    621     \node (customer) [node distance=4em and 0.5em, draw, below =of proposal]{Customer};
    622     \tikzstyle{C} = [color=black, line width=1pt];
    623     \node (sign) [def, draw=none, above right=of proposal] {$m$};
    624     \tikzstyle{C} = [color=black, line width=1pt]
    625 
    626     \draw [<-, C] (proposal) -- (sign) node [midway, above, sloped] (TextNode) {};
    627     \draw [<-, C] (proposal) -- (cart) node [midway, above, sloped] (TextNode) {};
    628     \draw [<-, C] (customer) -- (proposal) node [midway, above, sloped] (TextNode) {{\small transmit}};
    629   \end{tikzpicture}
    630   \end{minipage}
    631 \end{frame}
    632 
    633 
    634 \begin{frame}{Customer: Spend coin (EdDSA)}
    635   \begin{minipage}{6cm}
    636    \begin{enumerate}
    637     \item Receive proposal $D$, $EdDSA_m(D)$.
    638     \item Send $s$, $C$, $EdDSA_c(D)$
    639     \end{enumerate}
    640    \end{minipage}
    641   \begin{minipage}{6cm}
    642   \begin{tikzpicture}
    643    \tikzstyle{def} = [node distance=2em and 0.4em, inner sep=0em, outer sep=.3em];
    644     \node (proposal) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{merchant_propose.pdf}};
    645     \node (contract) [def, draw=none, below right=of cart]{\includegraphics[width=0.3\textwidth]{contract.pdf}};
    646     \node (c) [def, draw=none, above=of contract] {$c$};
    647     \node (merchant) [node distance=4em and 0.5em, draw, below=of contract]{Merchant};
    648     \node (coin) [def, draw=none, right=of contract]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
    649     \tikzstyle{C} = [color=black, line width=1pt]
    650 
    651     \draw [<-, C] (contract) -- (c) node [midway, above, sloped] (TextNode) {};
    652     \draw [<-, C] (contract) -- (proposal) node [midway, above, sloped] (TextNode) {};
    653     \draw [<-, C] (merchant) -- (contract) node [midway, above, sloped] (TextNode) {{\small transmit}};
    654     \draw [<-, C] (merchant) -- (coin) node [midway, below, sloped] (TextNode) {{\small transmit}};
    655   \end{tikzpicture}
    656   \end{minipage}
    657 \end{frame}
    658 
    659 
    660 \begin{frame}{Merchant and Exchange: Verify coin (RSA)}
    661    \begin{minipage}{6cm}
    662  \begin{equation*}
    663    s^e \stackrel{?}{\equiv} FDH(C) \mod n
    664    \end{equation*}
    665    \end{minipage}
    666   \begin{minipage}{6cm}
    667   \begin{minipage}{0.2\textwidth}
    668     \includegraphics[width=\textwidth]{coin.pdf}
    669   \end{minipage}
    670   $\stackrel{?}{\Leftrightarrow}$
    671   \begin{minipage}{0.2\textwidth}
    672     \includegraphics[width=\textwidth]{seal.pdf}
    673   \end{minipage}
    674   \end{minipage}
    675 \end{frame}
    676 
    677 
    678 \begin{frame}{Technology}
    679 GNU Taler additionally offers:
    680 \begin{itemize}
    681 \item Giving change, can provide refunds
    682 \item Integration with HTTP, handles network failures
    683 \item High performance
    684 \item Bounded losses on key compromise
    685 \item Formal security proofs
    686 \item ...
    687 \end{itemize}
    688 \begin{center}
    689 \includegraphics[width=0.5\textwidth]{provable-security.png}
    690 \end{center}
    691 More information at \url{https://taler.net/}.
    692 \end{frame}
    693 
    694 
    695 \begin{frame}{Conclusion}
    696   \begin{center}
    697     {\bf  What can we do?}
    698    \end{center}
    699   \vfill
    700 \begin{itemize}
    701  \item{Suffer mass-surveillance enabled by credit card oligopolies with high fees, and}
    702  \item{Engage in arms race with deliberately unregulatable blockchains, and}
    703  \item{Enjoy the ``benefits'' of cash \\
    704   \hfill  \includegraphics[height=0.3\textheight]{atm-rupee.jpg} \hfill}
    705 \end{itemize}
    706 \vfill
    707 \begin{center}
    708   {\bf OR}
    709 \end{center}
    710 \vfill
    711 \begin{itemize}
    712  \item{Establish free software alternative balancing social goals!}
    713 \end{itemize}
    714 \vfill
    715 \end{frame}
    716 
    717 
    718 \begin{frame}
    719 \frametitle{Do you have any questions?}
    720 \vfill
    721 References:
    722 {\tiny
    723   \begin{enumerate}
    724  \item{Christian Grothoff, Bart Polot and Carlo von Loesch.
    725        {\em The Internet is broken: Idealistic Ideas for Building a GNU Network}.
    726        {\bf W3C/IAB Workshop on Strengthening the Internet Against Pervasive Monitoring (STRINT)}, 2014.}
    727  \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci.
    728        {\em Enabling Secure Web Payments with GNU Taler}.
    729        {\bf SPACE 2016}.}
    730  \item{Florian Dold, Sree Harsha Totakura, Benedikt M\"uller, Jeffrey Burdges and Christian Grothoff.
    731        {\em Taler: Taxable Anonymous Libre Electronic Reserves}.
    732        Available upon request. 2016.}
    733  \item{Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer and Madars Virza.
    734        {\em Zerocash: Decentralized Anonymous Payments from Bitcoin}.
    735        {\bf IEEE Symposium on Security \& Privacy, 2016}.}
    736  \item{David Chaum, Amos Fiat and Moni Naor.
    737        {\em Untraceable electronic cash}.
    738        {\bf Proceedings on Advances in Cryptology, 1990}.}
    739   \item{Phillip Rogaway.
    740        {\em The Moral Character of Cryptographic Work}.
    741        {\bf Asiacrypt}, 2015.} \label{bib:rogaway}
    742 \end{enumerate}
    743 }
    744 \end{frame}
    745 
    746 
    747 \begin{frame}{The Distraction: Bitcoin}
    748 
    749 \begin{itemize}
    750 \item Unregulated payment system and currency:
    751 \item[] $\Rightarrow$ lack of regulation is a feature!
    752 \item Implemented in free software
    753 \item Decentralised peer-to-peer system   \pause
    754 \item Decentralised banking requires solving Byzantine consensus
    755 \item Creative solution: tie initial accumulation to solving consensus \pause
    756 \item[] $\Rightarrow$ Proof-of-work advances ledger
    757 \item[] $\Rightarrow$ Very expensive banking
    758 \end{itemize}
    759 \end{frame}
    760 
    761 
    762 \begin{frame}
    763   \frametitle{\includegraphics[height=0.5cm]{pics/bitcoin.jpeg}?}
    764   \centering
    765 \noindent
    766 \includegraphics[width=\textwidth]{pics/btc-transaction-cost.png}
    767 
    768 Current average transaction value: $\approx$ 1000 USD
    769 \end{frame}
    770 
    771 
    772 \begin{frame}
    773   \vfill
    774   \begin{center}
    775     {\bf What is there?}
    776   \end{center}
    777   \vfill
    778 \end{frame}
    779 
    780 
    781 \begin{frame}{Components}
    782   \begin{itemize}
    783   \item REST APIs, C APIs
    784   \item Command-line, WebExtension (Firefox, Chrome, Chromium, Brave) and Android wallet
    785   \item GLS bank integration (libeufin, WiP)
    786   \item Escrow/backup solution (Anastasis, WiP)
    787   \item Merchant backend \& backoffice (needs improvements)
    788   \item WooCommerce plugin (needs update)
    789   \item Taler-enabled vending machine (MDB)
    790   \item Sample Web frontends
    791   \end{itemize}
    792 \end{frame}
    793 
    794 
    795 \end{document}
    796 
    797 
    798 
    799 
    800 \begin{frame}{Taler {\tt /withdraw/sign}}
    801 % Customer withdrawing coins with blind signatures
    802 % \bigskip
    803   \begin{figure}[th]
    804     \begin{minipage}[b]{0.45\linewidth}
    805       \begin{center}
    806         \begin{tikzpicture}[scale = 0.4,
    807             transform shape,
    808             msglabel/.style    = { text = Black, yshift = .3cm,
    809                                    sloped, midway },
    810             okmsg/.style       = { ->, color = MidnightBlue, thick,
    811                                    >=stealth },
    812             rstmsg/.style      = { ->, color = BrickRed, thick,
    813                                    >=stealth }
    814           ]
    815           \node[draw = MidnightBlue,
    816             fill = CornflowerBlue,
    817             minimum width = .3cm,
    818             minimum height = 10cm
    819           ] (h1) at (-4, 0) {};
    820           \node[draw = MidnightBlue,
    821             fill = CornflowerBlue,
    822             minimum width = .3cm,
    823             minimum height = 10cm
    824           ] (h2) at (4, 0) {};
    825           \node[above = 0cm of h1] {Wallet};
    826           \node[above = 0cm of h2] {Exchange};
    827 
    828           \path[->, color = MidnightBlue, very thick, >=stealth]
    829             (-5, 4.5) edge
    830             node[rotate=90, text = Black, yshift = .3cm] {Time}
    831             (-5, -4.5);
    832           \path[okmsg, dashed]
    833              ($(h1.east)+(0, 4.0)+(0, -1.0)$) edge
    834              node[msglabel] {SEPA(RK,A)}
    835              ($(h2.west)+(0, 3.5)+(0, -1.0)$);
    836           \path[okmsg]
    837             ($(h1.east)+(0, -1.0)$) edge
    838             node[msglabel] {POST {\tt /withdraw/sign} $S_{RK}(DK, B_b(C))$}
    839             ($(h2.west)+(0, -1.5)$);
    840           \path[okmsg]
    841             ($(h2.west)+(0, -2.0)$) edge
    842             node[msglabel] {200 OK: $S_{DK}(B_b(C))$)}
    843             ($(h1.east)+(0, -2.5)$);
    844           \path[rstmsg]
    845             ($(h2.west)+(0, -3.5)$) edge
    846             node[msglabel] {402 PAYMENT REQUIRED: $S_{RK}(DK, B_b(C))$)}
    847             ($(h1.east)+(0, -4)$);
    848           \node at (5.3, 0) {};
    849         \end{tikzpicture}
    850       \end{center}
    851       Result: $\langle c, S_{DK}(C) \rangle$.
    852     \end{minipage}
    853     \hspace{0.5cm}
    854     \begin{minipage}[b]{0.45\linewidth}
    855       \tiny
    856       \begin{description}
    857       \item[$A$] Some amount, $A \ge A_{DK}$
    858       \item[$RK$] Reserve key
    859       \item[$DK$] Denomination key
    860       \item[$b$] Blinding factor
    861       \item[$B_b()$] RSA-FDH blinding % DK supressed
    862       \item[$C$] Coin public key $C := cG$
    863       \item[$S_{RK}()$] EdDSA signature
    864       \item[$S_{DK}()$] RSA-FDH signature
    865       \end{description}
    866     \end{minipage}
    867   \end{figure}
    868 \end{frame}
    869 
    870 
    871 \begin{frame}[t]{Taler {\tt /deposit}}
    872 Merchant and exchange see only the public coin $\langle C, S_{DK}(C) \rangle$.
    873 \bigskip
    874   \begin{figure}[th]
    875     \begin{minipage}[b]{0.45\linewidth}
    876       \begin{center}
    877         \begin{tikzpicture}[scale = 0.4,
    878             transform shape,
    879             msglabel/.style    = { text = Black, yshift = .3cm,
    880                                    sloped, midway },
    881             okmsg/.style       = { ->, color = MidnightBlue, thick,
    882                                    >=stealth },
    883             rstmsg/.style      = { ->, color = BrickRed, thick,
    884                                    >=stealth }
    885           ]
    886           \node[draw = MidnightBlue,
    887             fill = CornflowerBlue,
    888             minimum width = .3cm,
    889             minimum height = 10cm
    890           ] (h1) at (-4, 0) {};
    891           \node[draw = MidnightBlue,
    892             fill = CornflowerBlue,
    893             minimum width = .3cm,
    894             minimum height = 10cm
    895           ] (h2) at (4, 0) {};
    896           \node[above = 0cm of h1] {Merchant};
    897           \node[above = 0cm of h2] {Exchange};
    898 
    899           \path[->, color = MidnightBlue, very thick, >=stealth]
    900             (-5, 4.5) edge
    901             node[rotate=90, text = Black, yshift = .3cm] {Time}
    902             (-5, -4.5);
    903           \path[->, color = MidnightBlue, thick, >=stealth]
    904             ($(h1.east)+(0,3)$) edge
    905             node[text = Black, yshift = .3cm, sloped] {POST {\tt /deposit} $S_{DK}(C), S_{c}(D)$}
    906             ($(h2.west)+(0,2)$);
    907           \path[->, color = MidnightBlue, thick, >=stealth]
    908             ($(h2.west)+(0,0.5)$) edge
    909             node[text = Black, yshift = .3cm, sloped] {200 OK: $S_{SK}(S_{c}(D))$}
    910             ($(h1.east)+(0,-0.5)$);
    911           \path[rstmsg]
    912             ($(h2.west)+(0, -2.5)$) edge
    913             node[msglabel] {409 CONFLICT: $S_{c}(D')$}
    914             ($(h1.east)+(0, -3.5)$);
    915           \node at (5.3, 0) {};
    916         \end{tikzpicture}
    917       \end{center}
    918     \end{minipage}
    919     \hspace{0.5cm}
    920     \begin{minipage}[b]{0.45\linewidth}
    921       \tiny
    922       \begin{description}
    923       \item[$DK$] Denomination key
    924       \item[$S_{DK}()$] RSA-FDH signature using $DK$
    925       \item[$c$] Private coin key, $C := cG$.
    926       \item[$S_{C}()$] EdDSA signature using $c$
    927       \item[$D$] Deposit details
    928       \item[$SK$] Exchange's signing key
    929       \item[$S_{SK}()$] EdDSA signature using $SK$
    930       \item[$D'$] Conficting deposit details $D' \not= D$
    931       \end{description}
    932     \end{minipage}
    933   \end{figure}
    934 \end{frame}
    935 
    936 
    937 \begin{frame}{Taler {\tt /refresh/melt}}
    938   \begin{figure}[th]
    939     \begin{minipage}[b]{0.45\linewidth}
    940       \begin{center}
    941 	\begin{tikzpicture}[scale = 0.4,
    942             transform shape,
    943             msglabel/.style    = { text = Black, yshift = .3cm,
    944                                    sloped, midway },
    945             okmsg/.style       = { ->, color = MidnightBlue, thick,
    946                                    >=stealth },
    947             rstmsg/.style      = { ->, color = BrickRed, thick,
    948                                    >=stealth }
    949 	  ]
    950 	  \node[draw = MidnightBlue,
    951 	    fill = CornflowerBlue,
    952 	    minimum width = .3cm,
    953 	    minimum height = 10cm
    954 	  ] (h1) at (-4, 0) {};
    955 	  \node[draw = MidnightBlue,
    956 	    fill = CornflowerBlue,
    957 	    minimum width = .3cm,
    958 	    minimum height = 10cm
    959 	  ] (h2) at (4, 0) {};
    960 	  \node[above = 0cm of h1] {Customer};
    961 	  \node[above = 0cm of h2] {Exchange};
    962 
    963 	  \path[->, color = MidnightBlue, very thick, >=stealth]
    964 	    (-5, 4.5) edge
    965 	    node[rotate=90, text = Black, yshift = .3cm] {Time}
    966 	    (-5, -4.5);
    967 	  \path[->, color = MidnightBlue, thick, >=stealth]
    968 	    ($(h1.east)+(0,3)$) edge
    969 	    node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/melt} $S_{DK}(C), S_c({\cal DK}, {\cal T},{\cal B})$}
    970 	    ($(h2.west)+(0,2)$);
    971 	  \path[->, color = MidnightBlue, thick, >=stealth]
    972 	    ($(h2.west)+(0,0.5)$) edge
    973 	    node[text = Black, yshift = .3cm, sloped] {200 OK: $S_{SK}(H({\cal T}, {\cal B}),\gamma)$}
    974 	    ($(h1.east)+(0,-0.5)$);
    975 	  \path[rstmsg]
    976 	    ($(h2.west)+(0, -2.5)$) edge
    977 	    node[msglabel] {409 CONFLICT: $S_{C}(X), \ldots$}
    978 	    ($(h1.east)+(0, -3.5)$);
    979 	  \node at (5.3, 0) {};
    980 	\end{tikzpicture}
    981       \end{center}
    982     \end{minipage}
    983     \hspace{0.5cm}
    984     \begin{minipage}[b]{0.45\linewidth}
    985       \tiny
    986       \begin{description}
    987       \item[$\kappa$] System-wide security parameter, usually 3.
    988       \\ \smallskip
    989       \item[$\cal DK$] $:= [DK^{(i)}]_i$ \\ List of denomination keys \\
    990       $D + \sum_i A_{DK^{(i)}} < A_{DK}$
    991       \item[$t_j$] Random scalar for $j<\kappa$
    992       \item[${\cal T}$] $:= [T_j]_\kappa$ where $T_j = t_j G$
    993       \item[$k_j$] $:= c T_j = t_j C$ is an ECDHE
    994       \item[$b_j^{(i)}$] $:= KDF_b(k_j,i)$ % blinding factor
    995       \item[$c_j^{(i)}$] $:= KDF_c(k_j,i)$ % coin secret keys
    996       \item[$C_j^{(i)}$] $: = c_j^{(i)} G$ % new coin publics % keys
    997       \item[${\cal B}$] $:= [H( \beta_j )]_\kappa$ where \\
    998          $\beta_j := \left[ B_{b_j^{(i)}}(C_j^{(i)}) \right]_i$
    999       \\ \smallskip
   1000       \item[$\gamma$] Random value in $[0,\kappa)$
   1001 %      \\ \smallskip
   1002 %      \item[$X$] Deposit or refresh
   1003       \end{description}
   1004     \end{minipage}
   1005   \end{figure}
   1006 \end{frame}
   1007 
   1008 
   1009 \begin{frame}{Taler {\tt /refresh/reveal}}
   1010   \begin{figure}[th]
   1011     \begin{minipage}[b]{0.45\linewidth}
   1012       \begin{center}
   1013 	\begin{tikzpicture}[scale = 0.4,
   1014             transform shape,
   1015             msglabel/.style    = { text = Black, yshift = .3cm,
   1016                                    sloped, midway },
   1017             okmsg/.style       = { ->, color = MidnightBlue, thick,
   1018                                    >=stealth },
   1019             rstmsg/.style      = { ->, color = BrickRed, thick,
   1020                                    >=stealth }
   1021 	  ]
   1022 	  \node[draw = MidnightBlue,
   1023 	    fill = CornflowerBlue,
   1024 	    minimum width = .3cm,
   1025 	    minimum height = 10cm
   1026 	  ] (h1) at (-4, 0) {};
   1027 	  \node[draw = MidnightBlue,
   1028 	    fill = CornflowerBlue,
   1029 	    minimum width = .3cm,
   1030 	    minimum height = 10cm
   1031 	  ] (h2) at (4, 0) {};
   1032 	  \node[above = 0cm of h1] {Customer};
   1033 	  \node[above = 0cm of h2] {Exchange};
   1034 
   1035 	  \path[->, color = MidnightBlue, very thick, >=stealth]
   1036 	    (-5, 4.5) edge
   1037 	    node[rotate=90, text = Black, yshift = .3cm] {Time}
   1038 	    (-5, -4.5);
   1039 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1040 	    ($(h1.east)+(0,3)$) edge
   1041 	    node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/reveal} $H({\cal T}, {\cal B}), {\tilde{\cal T}}, \beta_\gamma$}
   1042 	    ($(h2.west)+(0,2)$);
   1043 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1044 	    ($(h2.west)+(0,0.5)$) edge
   1045 	    node[text = Black, yshift = .3cm, sloped] {200 OK: $\cal S$}
   1046 	    ($(h1.east)+(0,-0.5)$);
   1047 	  \path[rstmsg]
   1048 	    ($(h2.west)+(0, -2.5)$) edge
   1049 	    node[msglabel] {400 BAD REQUEST: $Z$}
   1050 	    ($(h1.east)+(0, -3.5)$);
   1051 	  \node at (5.3, 0) {};
   1052 	\end{tikzpicture}
   1053       \end{center}
   1054     \end{minipage}
   1055     \hspace{0.5cm}
   1056     \begin{minipage}[b]{0.45\linewidth}
   1057       \tiny
   1058       \begin{description}
   1059       \item[$\cal DK$] $:= [DK^{(i)}]_i$
   1060       \item[$t_j$] .. \\ \smallskip
   1061 
   1062       \item[$\tilde{\cal T}$] $:= [t_j | j \in \kappa, j \neq \gamma]$ \\ \smallskip
   1063 
   1064       \item[$k_\gamma$] $:= c T_\gamma = t_\gamma C$
   1065       \item[$b_\gamma^{(i)}$] $:= KDF_b(k_\gamma,i)$
   1066       \item[$c_\gamma^{(i)}$] $:= KDF_c(k_\gamma,i)$
   1067       \item[$C_\gamma^{(i)}$] $: = c_\gamma^{(i)} G$
   1068 
   1069       \item[$B_\gamma^{(i)}$] $:= B_{b_\gamma^{(i)}}(C_\gamma^{(i)})$
   1070       \item[$\beta_\gamma$] $:= \big[ B_\gamma^{(i)} \big]_i$
   1071       \item[$\cal S$] $:= \left[ S_{DK^{(i)}}( B_\gamma^{(i)} ) \right]_i$ \\ \smallskip
   1072 
   1073       \item[$Z$] Cut-and-choose missmatch information
   1074       \end{description}
   1075     \end{minipage}
   1076   \end{figure}
   1077 \end{frame}
   1078 
   1079 
   1080 \begin{frame}{Taler {\tt /refresh/link}}
   1081   \begin{figure}[th]
   1082     \begin{minipage}[b]{0.45\linewidth}
   1083       \begin{center}
   1084 	\begin{tikzpicture}[scale = 0.4,
   1085             transform shape,
   1086             msglabel/.style    = { text = Black, yshift = .3cm,
   1087                                    sloped, midway },
   1088             okmsg/.style       = { ->, color = MidnightBlue, thick,
   1089                                    >=stealth },
   1090             rstmsg/.style      = { ->, color = BrickRed, thick,
   1091                                    >=stealth }
   1092 	  ]
   1093 	  \node[draw = MidnightBlue,
   1094 	    fill = CornflowerBlue,
   1095 	    minimum width = .3cm,
   1096 	    minimum height = 10cm
   1097 	  ] (h1) at (-4, 0) {};
   1098 	  \node[draw = MidnightBlue,
   1099 	    fill = CornflowerBlue,
   1100 	    minimum width = .3cm,
   1101 	    minimum height = 10cm
   1102 	  ] (h2) at (4, 0) {};
   1103 	  \node[above = 0cm of h1] {Customer};
   1104 	  \node[above = 0cm of h2] {Exchagne};
   1105 
   1106 	  \path[->, color = MidnightBlue, very thick, >=stealth]
   1107 	    (-5, 4.5) edge
   1108 	    node[rotate=90, text = Black, yshift = .3cm] {Time}
   1109 	    (-5, -4.5);
   1110 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1111 	    ($(h1.east)+(0,3)$) edge
   1112 	    node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/link} $C$}
   1113 	    ($(h2.west)+(0,2)$);
   1114 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1115 	    ($(h2.west)+(0,0.5)$) edge
   1116 	    node[text = Black, yshift = .3cm, sloped] {200 OK: $T_\gamma$}
   1117 	    ($(h1.east)+(0,-0.5)$);
   1118 	  \path[rstmsg]
   1119 	    ($(h2.west)+(0, -2.5)$) edge
   1120 	    node[msglabel] {404 NOT FOUND}
   1121 	    ($(h1.east)+(0, -3.5)$);
   1122 	  \node at (5.3, 0) {};
   1123 	\end{tikzpicture}
   1124       \end{center}
   1125     \end{minipage}
   1126     \hspace{0.5cm}
   1127     \begin{minipage}[b]{0.45\linewidth}
   1128       \tiny
   1129       \begin{description}
   1130       \item[$C$] Old coind public key \\ \smallskip
   1131       \item[$T_\gamma$] Linkage data $\cal L$ at $\gamma$
   1132       \end{description}
   1133     \end{minipage}
   1134   \end{figure}
   1135 \end{frame}
   1136 
   1137 
   1138 \begin{frame}{Operational security}
   1139   \begin{center}
   1140     \resizebox{\textwidth}{!}{
   1141 \begin{tikzpicture}[
   1142   font=\sffamily,
   1143   every matrix/.style={ampersand replacement=\&,column sep=2cm,row sep=2cm},
   1144   source/.style={draw,thick,rounded corners,fill=green!20,inner sep=.3cm},
   1145   process/.style={draw,thick,circle,fill=blue!20},
   1146   sink/.style={source,fill=green!20},
   1147   datastore/.style={draw,very thick,shape=datastore,inner sep=.3cm},
   1148   dots/.style={gray,scale=2},
   1149   to/.style={->,>=stealth',shorten >=1pt,semithick,font=\sffamily\footnotesize},
   1150   every node/.style={align=center}]
   1151 
   1152   % Position the nodes using a matrix layout
   1153   \matrix{
   1154     \node[source] (wallet) {Wallet};
   1155       \& \node[process] (browser) {Browser};
   1156       \& \node[process] (shop) {Web shop};
   1157       \& \node[sink] (backend) {Taler backend}; \\
   1158   };
   1159 
   1160   % Draw the arrows between the nodes and label them.
   1161   \draw[to] (browser) to[bend right=50] node[midway,above] {(4) signed contract}
   1162       node[midway,below] {(signal)} (wallet);
   1163   \draw[to] (wallet) to[bend right=50] node[midway,above] {(signal)}
   1164       node[midway,below] {(5) signed coins} (browser);
   1165   \draw[<->] (browser) -- node[midway,above] {(3,6) custom}
   1166       node[midway,below] {(HTTPS)} (shop);
   1167   \draw[to] (shop) to[bend right=50] node[midway,above] {(HTTPS)}
   1168       node[midway,below] {(1) proposed contract / (7) signed coins} (backend);
   1169   \draw[to] (backend) to[bend right=50] node[midway,above] {(2) signed contract / (8) confirmation}
   1170       node[midway,below] {(HTTPS)} (shop);
   1171 \end{tikzpicture}
   1172 }
   1173 \end{center}
   1174 \end{frame}