marketing

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

2018-isac.tex (63064B)


      1 \documentclass[fleqn,xcolor={usenames,dvipsnames}]{beamer}
      2 \usepackage{amsmath}
      3 \usepackage{multimedia}
      4 \usepackage[utf8]{inputenc}
      5 \usepackage{framed,color,ragged2e}
      6 \usepackage[absolute,overlay]{textpos}
      7 \definecolor{shadecolor}{rgb}{0.8,0.8,0.8}
      8 \usetheme{boxes}
      9 \setbeamertemplate{navigation symbols}{}
     10 \usepackage{xcolor}
     11 \usepackage{tikz,eurosym}
     12 \usepackage[normalem]{ulem}
     13 \usepackage{listings}
     14 
     15 % CSS
     16 \lstdefinelanguage{CSS}{
     17   basicstyle=\ttfamily\scriptsize,
     18   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},
     19   sensitive=true,
     20   morecomment=[l]{//},
     21   morecomment=[s]{/*}{*/},
     22   morestring=[b]',
     23   morestring=[b]",
     24   alsoletter={:},
     25   alsodigit={-}
     26 }
     27 
     28 % JavaScript
     29 \lstdefinelanguage{JavaScript}{
     30   basicstyle=\ttfamily\scriptsize,
     31   morekeywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
     32   morecomment=[s]{/*}{*/},
     33   morecomment=[l]//,
     34   morestring=[b]",
     35   morestring=[b]'
     36 }
     37 
     38 \lstdefinelanguage{HTML5}{
     39   basicstyle=\ttfamily\scriptsize,
     40   language=html,
     41   sensitive=true,
     42   alsoletter={<>=-},
     43   morecomment=[s]{<!-}{-->},
     44   tag=[s],
     45   otherkeywords={
     46   % General
     47   >,
     48   % Standard tags
     49 	<!DOCTYPE,
     50   </html, <html, <head, <title, </title, <style, </style, <link, </head, <meta, />,
     51 	% body
     52 	</body, <body,
     53 	% Divs
     54 	</div, <div, </div>,
     55 	% Paragraphs
     56 	</p, <p, </p>,
     57 	% scripts
     58 	</script, <script,
     59   % More tags...
     60   <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, <source, <iframe, </iframe>, </video>, <image, </image>
     61   },
     62   ndkeywords={
     63   % General
     64   =,
     65   % HTML attributes
     66   charset=, src=, id=, width=, height=, style=, type=, rel=, href=,
     67   % SVG attributes
     68   fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, repeatCount=, xlink:href=,
     69   % CSS properties
     70   margin:, padding:, background-image:, border:, top:, left:, position:, width:, height:,
     71 	% CSS3 properties
     72   transform:, -moz-transform:, -webkit-transform:,
     73   animation:, -webkit-animation:,
     74   transition:,  transition-duration:, transition-property:, transition-timing-function:,
     75   }
     76 }
     77 
     78 \lstdefinelanguage{JavaScript}{
     79   basicstyle=\ttfamily\scriptsize,
     80   keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, for},
     81   keywordstyle=\color{blue}\bfseries,
     82   ndkeywords={class, export, boolean, throw, implements, import, this},
     83   ndkeywordstyle=\color{darkgray}\bfseries,
     84   identifierstyle=\color{black},
     85   sensitive=false,
     86   comment=[l]{//},
     87   morecomment=[s]{/*}{*/},
     88   commentstyle=\color{purple}\ttfamily,
     89   stringstyle=\color{red}\ttfamily,
     90   morestring=[b]',
     91   morestring=[b]"
     92 }
     93 
     94 \usetikzlibrary{shapes,arrows}
     95 \usetikzlibrary{positioning}
     96 \usetikzlibrary{calc}
     97 
     98 \title{GNU Taler}
     99 %\subtitle{}
    100 
    101 \setbeamertemplate{navigation symbols}{\includegraphics[width=1cm]{inria.pdf} \includegraphics[width=0.5cm]{gnu.png} \includegraphics[width=0.5cm]{ashoka.png}\hfill}
    102 %\setbeamercovered{transparent=1}
    103 
    104 \author[C. Grothoff]{J. Burdges, F. Dold, {\bf C. Grothoff}, M. Stanisci}
    105 \date{\today}
    106 \institute{The GNU Project}
    107 
    108 
    109 \begin{document}
    110 
    111 \justifying
    112 
    113 \begin{frame}
    114   \begin{center}
    115     \LARGE {\bf GNU Taler}
    116 
    117     \vfill
    118 %    \includegraphics[width=0.66\textwidth]{logo-2017-fr.pdf}
    119     \includegraphics[width=0.66\textwidth]{taler-logo-2018.pdf}
    120   \end{center}
    121 \begin{textblock*}{4cm}(.5cm,8.2cm) % {block width} (coords)
    122   {\Large {\bf \url{taler.net}} \\
    123     twitter@taler }
    124 \end{textblock*}
    125 
    126 % Substitute based on who is giving the talk!
    127  \begin{textblock*}{6cm}(6.7cm,8.2cm) % {block width} (coords)
    128    {\hfill {\Large {\bf Christian Grothoff}} \\
    129     \hfill grothoff@taler.net }
    130 \end{textblock*}
    131 
    132 \end{frame}
    133 
    134 
    135 \section{The Bank's Online Payment Problem}
    136 \begin{frame}{The Bank's Online Payment Problem}
    137 
    138   3D secure (``verified by visa'') is a nightmare:
    139 
    140   \begin{minipage}{5cm}
    141     \begin{itemize}
    142     \item Complicated process
    143     \item Shifts liability to consumer
    144     \item Significant latency
    145     \item Can refuse valid requests
    146     \item Legal vendors excluded
    147     \item No privacy for buyers
    148      \end{itemize}
    149   \end{minipage}
    150   \begin{minipage}{5cm}
    151       \includegraphics[width=\textwidth]{illustrations/cc3ds.pdf}
    152   \end{minipage}
    153   \vfill
    154     Online credit card payments will be replaced, but with what?
    155 \end{frame}
    156 
    157 
    158 \begin{frame}{The Bank's Online Payment Problem}
    159 \vfill
    160   \begin{textblock*}{12cm}(0.5cm,1cm) % {block width} (coords)
    161     \begin{itemize}
    162     \item Global tech companies push oligopolies
    163     \item Privacy and federated finance are at risk
    164 %    \item 30\% fees are conceivable
    165     \item Economic sovereignty is in danger
    166     \end{itemize}
    167 \end{textblock*}
    168 \begin{textblock*}{4cm}(3.5cm,5.2cm) % {block width} (coords)
    169  {\includegraphics[width=\textwidth]{../investors/competitor-logos/amazon.png}}
    170 \end{textblock*}
    171 \begin{textblock*}{2cm}(7cm,3cm) % {block width} (coords)
    172  {\includegraphics[width=\textwidth]{../investors/competitor-logos/alipay.jpeg}}
    173 \end{textblock*}
    174 \begin{textblock*}{2cm}(3cm,3.5cm) % {block width} (coords)
    175  {\includegraphics[width=\textwidth]{../investors/competitor-logos/paypal.jpeg}}
    176 \end{textblock*}
    177 \begin{textblock*}{2cm}(9cm,5cm) % {block width} (coords)
    178  {\includegraphics[width=\textwidth]{../investors/competitor-logos/applepay.jpeg}}
    179 \end{textblock*}
    180 \begin{textblock*}{2cm}(7.5cm,5.9cm) % {block width} (coords)
    181  {\includegraphics[width=\textwidth]{../investors/competitor-logos/samsungpay.jpeg}}
    182 \end{textblock*}
    183 \begin{textblock*}{1cm}(9.5cm,6.3cm) % {block width} (coords)
    184  {\includegraphics[width=\textwidth]{../investors/competitor-logos/android_pay.png}}
    185 \end{textblock*}
    186 \vfill
    187 \end{frame}
    188 
    189 
    190 \begin{frame}{The Distraction: Bitcoin}
    191 
    192 \begin{itemize}
    193 \item Unregulated payment system and currency:
    194 \item[] $\Rightarrow$ lack of regulation is a feature!
    195 \item Implemented in free software
    196 \item Decentralised peer-to-peer system   \pause
    197 \item Decentralised banking requires solving Byzantine consensus
    198 \item Creative solution: tie initial accumulation to solving consensus \pause
    199 \item[] $\Rightarrow$ Proof-of-work advances ledger
    200 \item[] $\Rightarrow$ Very expensive banking
    201 \end{itemize}
    202 \end{frame}
    203 
    204 
    205 \begin{frame}
    206   \frametitle{\includegraphics[height=0.5cm]{pics/bitcoin.jpeg}?}
    207   \centering
    208 \noindent
    209 \includegraphics[width=\textwidth]{pics/btc-transaction-cost.pdf}
    210 
    211 Average transaction value: $\approx$ 6575 USD (on 5.12.2017)
    212 \end{frame}
    213 
    214 
    215 \begin{frame}
    216   \frametitle{\includegraphics[height=0.5cm]{pics/zerocoin.png}?}
    217 
    218 Cryptography is rather primitive:
    219 \begin{center}
    220   {\bf All Bitcoin transactions are public and linkable!}
    221 \end{center}
    222 
    223 \begin{itemize}
    224 \item[] $\Rightarrow$ no privacy guarantees
    225 \item[] $\Rightarrow$ enhanced with ``laundering'' services
    226 \end{itemize}
    227 ZeroCoin, CryptoNote (Monero) and ZeroCash (ZCash) offer anonymity.
    228 \end{frame}
    229 
    230 
    231 \begin{frame}
    232   \vfill
    233 \begin{center}
    234 {\bf Do you want to have a libertarian economy?}
    235 \end{center}
    236   \vfill
    237 \begin{center}
    238 {\bf Do you want to live under total surveillance?}
    239 \end{center}
    240 \vfill
    241 \end{frame}
    242 
    243 
    244 \begin{frame}{GNU Taler}
    245   \vfill
    246   \begin{center}
    247     {\huge {\bf Digital} cash, made \textbf{socially responsible}.}
    248   \end{center}
    249   \vfill
    250   \begin{center}
    251   \includegraphics[scale=1.5]{taler-big-accent.pdf}
    252   \end{center}
    253   \vfill
    254   \begin{center}
    255     Privacy-Preserving, Practical, Taxable, Free Software, Efficient
    256   \end{center}
    257  \vfill
    258  \vfill
    259 \ %
    260 \end{frame}
    261 
    262 
    263 \section{What is Taler?}
    264 \begin{frame}{What is Taler?}
    265   \vfill
    266   \begin{center}
    267 Taler is an electronic instant payment system.
    268   \end{center}
    269   \begin{itemize}
    270   \item Uses electronic coins stored in {\bf wallets} on customer's device
    271   \item Like {\bf cash}
    272   \item Pay in {\bf existing currencies} (i.e. EUR, USD, BTC), \\
    273     or use it to create new {\bf regional currencies}
    274   \end{itemize}
    275   \vfill
    276 \end{frame}
    277 
    278 
    279 \begin{frame}
    280 \frametitle{Taler Overview}
    281 \begin{center}
    282 \begin{tikzpicture}
    283  \tikzstyle{def} = [node distance= 5em and 6.5em, inner sep=1em, outer sep=.3em];
    284  \node (origin) at (0,0) {};
    285  \node (exchange) [def,above=of origin,draw]{Exchange};
    286  \node (customer) [def, draw, below left=of origin] {Customer};
    287  \node (merchant) [def, draw, below right=of origin] {Merchant};
    288  \node (auditor) [def, draw, above right=of origin]{Auditor};
    289 
    290  \tikzstyle{C} = [color=black, line width=1pt]
    291 
    292  \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] (TextNode) {withdraw coins};
    293  \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] (TextNode) {deposit coins};
    294  \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] (TextNode) {spend coins};
    295  \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode) {verify};
    296 
    297 \end{tikzpicture}
    298 \end{center}
    299 \end{frame}
    300 
    301 
    302 \begin{frame}
    303   % TODO: replace with simplified NEW architecture picture!
    304 \frametitle{Architecture of Taler}
    305 \begin{center}
    306   \includegraphics[width=0.9\textwidth]{illustrations/taler-arch-full.pdf}
    307 
    308   $\Rightarrow$ Convenient, taxable, privacy-enhancing, \& resource friendly!
    309 \end{center}
    310 \end{frame}
    311 
    312 
    313 \begin{frame}{Usability of Taler}
    314   \vfill
    315   \begin{center}
    316     \url{https://demo.taler.net/}
    317   \end{center}
    318   \begin{enumerate}
    319   \item Install Browser extension.
    320   \item Visit the {\tt bank.demo.taler.net} to withdraw coins.
    321   \item Visit the {\tt shop.demo.taler.net} to spend coins.
    322   \end{enumerate}
    323   \vfill
    324 \end{frame}
    325 
    326 
    327 \begin{frame}{Use Case: Journalism}
    328   Today:
    329   \begin{itemize}
    330     \item Corporate structure % ($\Rightarrow$ filter)
    331     \item Advertising primary revenue % ($\Rightarrow$ dependence)
    332     \item Tracking readers critical for business success
    333     \item Journalism and marketing hard to distinguish
    334   \end{itemize}\vfill\pause
    335   With GNU Taler:
    336   \begin{itemize}
    337     \item One-click micropayments per article
    338     \item Hosting requires no expertise % (no PCI DSS)
    339     \item Reader-funded reporting separated from marketing
    340     \item Readers can remain anonymous
    341   \end{itemize}
    342 \end{frame}
    343 
    344 
    345 \begin{frame}{Use Case: Anti-Spam}
    346   Today, p$\equiv$p provides authenticated encryption for e-mail:
    347   \begin{itemize}
    348     \item Free software
    349     \item Easy to use opportunistic encryption
    350     \item Available for Outlook, Android, Enigmail
    351     \item Spies \& spam filters can no longer inspect content
    352   \end{itemize}\vfill\pause
    353   With GNU Taler:
    354   \begin{itemize}
    355     \item Peer-to-peer payments via e-mail
    356     \item If unsolicited sender, hide messages from user \&
    357           automatically request payment from sender
    358     \item Sender can attach payment to be moved to inbox
    359     \item Receiver may grant refund to sender
    360   \end{itemize}
    361 \end{frame}
    362 
    363 
    364 \begin{frame}{Social Impact of Taler}
    365   \begin{center}
    366     \includegraphics[height=0.8\textheight]{../../social-impact.pdf}
    367   \end{center}
    368 \end{frame}
    369 
    370 
    371 \begin{frame}{Taxability}
    372   We say Taler is taxable because:
    373   \begin{itemize}
    374   \item Merchant's income is visible from deposits.
    375   \item Hash of contract is part of deposit data.
    376   \item State can trace income and enforce taxation.
    377   \end{itemize}\pause
    378 %  Limitations:
    379 %  \begin{itemize}
    380 %  \item withdraw loophole
    381 %  \item {\em sharing} coins among family and friends
    382 %  \end{itemize}
    383 \end{frame}
    384 
    385 
    386 \begin{frame}{How does it work?}
    387 We use a few ancient constructions:
    388   \begin{itemize}
    389   \item Cryptographic hash function (1989)
    390   \item Blind signature (1983)
    391   \item Schnorr signature (1989)
    392   \item Diffie-Hellman key exchange (1976)
    393   \item Cut-and-choose zero-knowledge proof (1985)
    394   \end{itemize}
    395 But of course we use modern instantiations.
    396 \end{frame}
    397 
    398 
    399 \begin{frame}{Exchange setup: Create a denomination key (RSA)}
    400    \begin{minipage}{6cm}
    401     \begin{enumerate}
    402     \item Pick random primes $p,q$.
    403     \item Compute $n := pq$, $\phi(n) = (p-1)(q-1)$
    404     \item Pick small $e < \phi(n)$ such that
    405           $d := e^{-1} \mod \phi(n)$ exists.
    406     \item Publish public key $(e,n)$.
    407     \end{enumerate}
    408   \end{minipage}
    409   \begin{minipage}{6cm}
    410   \begin{tikzpicture}
    411  \tikzstyle{def} = [node distance=1em and 1em, inner sep=0em, outer sep=.3em];
    412     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    413     \node (primes) [draw=none, below = of origin] at (0,0) {$(p, q)$};
    414     \node (seal) [def, draw=none, below left=of primes]{\includegraphics[width=0.15\textwidth]{seal.pdf}};
    415     \node (hammer) [def, draw=none, below right=of primes]{\includegraphics[width=0.15\textwidth]{hammer.pdf}};
    416 
    417     \tikzstyle{C} = [color=black, line width=1pt]
    418 
    419     \draw [<-, C] (primes) -- (origin) node [midway, above, sloped] (TextNode) {};
    420     \draw [<-, C] (seal) -- (primes) node [midway, above, sloped] (TextNode) {};
    421     \draw [<-, C] (hammer) -- (primes) node [midway, above, sloped] (TextNode) {};
    422   \end{tikzpicture}
    423 %  \includegraphics[width=0.4\textwidth]{seal.pdf}
    424   \end{minipage}
    425 \end{frame}
    426 
    427 
    428 \begin{frame}{Merchant: Create a signing key (EdDSA)}
    429   \begin{minipage}{6cm}
    430     \begin{itemize}
    431   \item pick random $m \mod o$ as private key
    432   \item $M = mG$ public key
    433   \end{itemize}
    434   \end{minipage}
    435   \begin{minipage}{6cm}
    436   \begin{tikzpicture}
    437    \tikzstyle{def} = [node distance= 1em and 1em, inner sep=0em, outer sep=.3em];
    438     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    439     \node (m) [draw=none, below = of origin] at (0,0) {$m$};
    440     \node (seal) [draw=none, below=of m]{M};
    441    \tikzstyle{C} = [color=black, line width=1pt]
    442 
    443     \draw [<-, C] (m) -- (origin) node [midway, above, sloped] (TextNode) {};
    444     \draw [<-, C] (seal) -- (primes) node [midway, above, sloped] (TextNode) {};
    445   \end{tikzpicture}
    446   \end{minipage}
    447   \parbox[t]{3cm}{{\bf Capability:} $m \Rightarrow$ }
    448   \raisebox{\dimexpr-\height+\baselineskip}{\includegraphics[width=0.1\textwidth]{merchant-sign.pdf}}
    449 \end{frame}
    450 
    451 
    452 \begin{frame}{Customer: Create a planchet (EdDSA)}
    453   \begin{minipage}{8cm}
    454   \begin{itemize}
    455   \item Pick random $c \mod o$ private key
    456   \item $C = cG$ public key
    457   \end{itemize}
    458   \end{minipage}
    459   \begin{minipage}{4cm}
    460   \begin{tikzpicture}
    461    \tikzstyle{def} = [node distance= 1em and 1em, inner sep=0em, outer sep=.3em];
    462     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    463     \node (c) [draw=none, below = of origin] at (0,0) {$c$};
    464     \node (planchet) [draw=none, below=of c]{\includegraphics[width=0.4\textwidth]{planchet.pdf}};
    465     \tikzstyle{C} = [color=black, line width=1pt]
    466 
    467     \draw [<-, C] (c) -- (origin) node [midway, above, sloped] (TextNode) {};
    468     \draw [<-, C] (planchet) -- (c) node [midway, above, sloped] (TextNode) {};
    469   \end{tikzpicture}
    470   \end{minipage}
    471   \parbox[t]{3cm}{{\bf Capability:} $c \Rightarrow$ }
    472   \raisebox{\dimexpr-\height+\baselineskip}{\includegraphics[width=0.1\textwidth]{planchet-sign.pdf}}
    473 \end{frame}
    474 
    475 
    476 \begin{frame}{Customer: Blind planchet (RSA)}
    477   \begin{minipage}{6cm}
    478     \begin{enumerate}
    479     \item Obtain public key $(e,n)$
    480     \item Compute $f := FDH(C)$, $f < n$.
    481     \item Pick blinding factor $b \in \mathbb Z_n$
    482     \item Transmit $f' := f b^e \mod n$
    483     \end{enumerate}
    484   \end{minipage}
    485   \begin{minipage}{6cm}
    486   \begin{tikzpicture}
    487    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    488     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    489     \node (b) [def, draw=none, below = of origin] at (0,-0.2) {$b$};
    490     \node (blinded) [def, draw=none, below right=of b]{\includegraphics[width=0.2\textwidth]{blinded.pdf}};
    491     \node (planchet) [def, draw=none, above right=of blinded]{\includegraphics[width=0.15\textwidth]{planchet.pdf}};
    492     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
    493     \tikzstyle{C} = [color=black, line width=1pt]
    494 
    495     \draw [<-, C] (b) -- (origin) node [midway, above, sloped] (TextNode) {};
    496     \draw [<-, C] (blinded) -- (planchet) node [midway, above, sloped] (TextNode) {};
    497     \draw [<-, C] (blinded) -- (b) node [midway, above, sloped] (TextNode) {};
    498     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
    499   \end{tikzpicture}
    500   \end{minipage}
    501 \end{frame}
    502 
    503 
    504 \begin{frame}{Exchange: Blind sign (RSA)}
    505    \begin{minipage}{6cm}
    506     \begin{enumerate}
    507     \item Receive $f'$.
    508     \item Compute $s' := f'^d \mod n$.
    509     \item Send signature $s'$.
    510     \end{enumerate}
    511    \end{minipage}
    512   \begin{minipage}{6cm}
    513   \begin{tikzpicture}
    514    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    515     \node (hammer) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{hammer.pdf}};
    516     \node (signed) [def, draw=none, below left=of hammer]{\includegraphics[width=0.2\textwidth]{sign.pdf}};
    517     \node (blinded) [def, draw=none, above left=of signed]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    518     \node (customer) [node distance=4em and 0.5em, draw, below =of signed]{Customer};
    519     \tikzstyle{C} = [color=black, line width=1pt]
    520 
    521     \draw [<-, C] (signed) -- (hammer) node [midway, above, sloped] (TextNode) {};
    522     \draw [<-, C] (signed) -- (blinded) node [midway, above, sloped] (TextNode) {};
    523     \draw [<-, C] (customer) -- (signed) node [midway, above, sloped] (TextNode) {{\small transmit}};
    524   \end{tikzpicture}
    525   \end{minipage}
    526 \end{frame}
    527 
    528 
    529 \begin{frame}{Customer: Unblind coin (RSA)}
    530   \begin{minipage}{6cm}
    531    \begin{enumerate}
    532     \item Receive $s'$.
    533     \item Compute $s := s' b^{-1} \mod n$ % \\
    534     % ($(f')^d = (f b^e)^d = f^d b$).
    535     \end{enumerate}
    536    \end{minipage}
    537   \begin{minipage}{6cm}
    538   \begin{tikzpicture}
    539    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    540     \node (b) [def, draw=none] at (0,0) {$b$};
    541     \node (coin) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
    542     \node (signed) [def, draw=none, above left=of coin]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
    543     \tikzstyle{C} = [color=black, line width=1pt]
    544 
    545     \draw [<-, C] (coin) -- (b) node [midway, above, sloped] (TextNode) {};
    546     \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode) {};
    547   \end{tikzpicture}
    548   \end{minipage}
    549 \end{frame}
    550 
    551 
    552 \begin{frame}{Withdrawing coins on the Web}
    553   \begin{center}
    554     \includegraphics[height=0.9\textheight]{figs/taler-withdraw.pdf}
    555   \end{center}
    556 \end{frame}
    557 
    558 
    559 \begin{frame}{Customer: Build shopping cart}
    560   \begin{center}
    561   \begin{tikzpicture}
    562    \tikzstyle{def} = [node distance= 1em and 1em, inner sep=0em, outer sep=.3em];
    563     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{shop.pdf}};
    564     \node (cart) [draw=none, below=of m]{\includegraphics[width=0.2\textwidth]{cart.pdf}};
    565     \node (merchant) [node distance=4em and 0.5em, draw, below =of cart]{Merchant};
    566     \tikzstyle{C} = [color=black, line width=1pt];
    567     \draw [<-, C] (cart) -- (origin) node [midway, above, sloped] (TextNode) {};
    568     \draw [<-, C] (merchant) -- (cart) node [midway, above, sloped] (TextNode) {{\small transmit}};
    569   \end{tikzpicture}
    570   \end{center}
    571 \end{frame}
    572 
    573 
    574 \begin{frame}{Merchant Integration: Wallet Detection}
    575  \lstset{language=JavaScript}
    576  \lstinputlisting{figs/taler-presence-js.html}
    577 % \caption{Sample code to detect the Taler wallet. Allowing the
    578 %  Web site to detect the presence of the wallet leaks one bit
    579 %  of information about the user. The above logic also works
    580 %  if the wallet is installed while the page is open.}
    581 %  \label{listing:presence}
    582 \end{frame}
    583 
    584 
    585 \begin{frame}{Merchant Integration: Payment Request}
    586 % \begin{figure}[p!]
    587  \lstset{language=HTML5}
    588  \lstinputlisting{figs/taler-402.html}
    589 %  \caption{Sample HTTP response to prompt the wallet to show an offer.}
    590 %   \label{listing:http-contract}
    591 % \end{figure}
    592 
    593 % \begin{figure*}[p!]
    594 % \lstset{language=HTML5}
    595 % \lstinputlisting{figs/taler-contract.html}
    596 % \caption{Sample JavaScript code to prompt the wallet to show an offer.
    597 %          Here, the contract is fetched on-demand from the server.
    598 %          The {\tt taler\_pay()} function needs to be invoked
    599 %          when the user triggers the checkout.}
    600 % \label{listing:contract}
    601 % \end{figure*}
    602 \end{frame}
    603 
    604 
    605 \begin{frame}{Merchant Integration: Contract}
    606   % \begin{figure*}[t!]
    607   {\tiny
    608  \lstset{language=JavaScript}
    609  \lstinputlisting{figs/taler-contract.json}
    610 %   \caption{Minimal Taler contract over a digital article with a value of \EUR{0.10}. The merchant will pay transaction fees up to \EUR{0.01}.  The hash over the wire transfer information was truncated to make it fit to the page.}
    611 %   \label{listing:json-contract}
    612  % \end{figure*}
    613  }
    614 \end{frame}
    615 
    616 
    617 \begin{frame}{Merchant: Propose contract (EdDSA)}
    618    \begin{minipage}{6cm}
    619    \begin{enumerate}
    620     \item Complete proposal $D$.
    621     \item Send $D$, $EdDSA_m(D)$
    622     \end{enumerate}
    623    \end{minipage}
    624   \begin{minipage}{6cm}
    625   \begin{tikzpicture}
    626    \tikzstyle{def} = [node distance=2em and 0.5em, inner sep=0em, outer sep=.3em];
    627     \node (cart) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{cart.pdf}};
    628     \node (proposal) [def, draw=none, below right=of cart]{\includegraphics[width=0.5\textwidth]{merchant_propose.pdf}};
    629     \node (customer) [node distance=4em and 0.5em, draw, below =of proposal]{Customer};
    630     \tikzstyle{C} = [color=black, line width=1pt];
    631     \node (sign) [def, draw=none, above right=of proposal] {$m$};
    632     \tikzstyle{C} = [color=black, line width=1pt]
    633 
    634     \draw [<-, C] (proposal) -- (sign) node [midway, above, sloped] (TextNode) {};
    635     \draw [<-, C] (proposal) -- (cart) node [midway, above, sloped] (TextNode) {};
    636     \draw [<-, C] (customer) -- (proposal) node [midway, above, sloped] (TextNode) {{\small transmit}};
    637   \end{tikzpicture}
    638   \end{minipage}
    639 \end{frame}
    640 
    641 
    642 \begin{frame}{Customer: Spend coin (EdDSA)}
    643   \begin{minipage}{6cm}
    644    \begin{enumerate}
    645     \item Receive proposal $D$, $EdDSA_m(D)$.
    646     \item Send $s$, $C$, $EdDSA_c(D)$
    647     \end{enumerate}
    648    \end{minipage}
    649   \begin{minipage}{6cm}
    650   \begin{tikzpicture}
    651    \tikzstyle{def} = [node distance=2em and 0.4em, inner sep=0em, outer sep=.3em];
    652     \node (proposal) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{merchant_propose.pdf}};
    653     \node (contract) [def, draw=none, below right=of cart]{\includegraphics[width=0.3\textwidth]{contract.pdf}};
    654     \node (c) [def, draw=none, above=of contract] {$c$};
    655     \node (merchant) [node distance=4em and 0.5em, draw, below=of contract]{Merchant};
    656     \node (coin) [def, draw=none, right=of contract]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
    657     \tikzstyle{C} = [color=black, line width=1pt]
    658 
    659     \draw [<-, C] (contract) -- (c) node [midway, above, sloped] (TextNode) {};
    660     \draw [<-, C] (contract) -- (proposal) node [midway, above, sloped] (TextNode) {};
    661     \draw [<-, C] (merchant) -- (contract) node [midway, above, sloped] (TextNode) {{\small transmit}};
    662     \draw [<-, C] (merchant) -- (coin) node [midway, below, sloped] (TextNode) {{\small transmit}};
    663   \end{tikzpicture}
    664   \end{minipage}
    665 \end{frame}
    666 
    667 
    668 \begin{frame}{Merchant and Exchange: Verify coin (RSA)}
    669    \begin{minipage}{6cm}
    670  \begin{equation*}
    671    s^e \stackrel{?}{\equiv} FDH(C) \mod n
    672    \end{equation*}
    673    \end{minipage}
    674   \begin{minipage}{6cm}
    675   \begin{minipage}{0.2\textwidth}
    676     \includegraphics[width=\textwidth]{coin.pdf}
    677   \end{minipage}
    678   $\stackrel{?}{\Leftrightarrow}$
    679   \begin{minipage}{0.2\textwidth}
    680     \includegraphics[width=\textwidth]{seal.pdf}
    681   \end{minipage}
    682   \end{minipage}
    683 \end{frame}
    684 
    685 
    686 \begin{frame}{Payment processing with Taler}
    687   \begin{center}
    688     \includegraphics[height=0.9\textheight]{figs/taler-pay.pdf}
    689   \end{center}
    690 \end{frame}
    691 
    692 
    693 \begin{frame}{Giving change}
    694   It would be inefficient to pay EUR 100 with 1 cent coins!
    695   \begin{itemize}
    696   \item Denomination key represents value of a coin.
    697   \item Exchange may offer various denominations for coins.
    698   \item Wallet may not have exact change!
    699   \item Usability requires ability to pay given sufficient total funds.
    700   \end{itemize}\pause
    701   Key goals:
    702   \begin{itemize}
    703   \item maintain unlinkability
    704   \item maintain taxability of transactions
    705   \end{itemize}\pause
    706   Method:
    707   \begin{itemize}
    708     \item Contract can specify to only pay {\em partial value} of a coin.
    709     \item Exchange allows wallet to obtain {\em unlinkable change}
    710       for remaining coin value.
    711   \end{itemize}
    712 \end{frame}
    713 
    714 
    715 \begin{frame}{Refresh protocol summary}
    716   \begin{itemize}
    717   \item Customer asks exchange to convert old coin to new coin
    718   \item Protocol ensures new coins can be recovered from old coin
    719   \item[$\Rightarrow$] New coins are owned by the same entity!
    720   \end{itemize}
    721   Thus, the refresh protocol allows:
    722   \begin{itemize}
    723   \item To give unlinkable change.
    724   \item To give refunds to an anonymous customer.
    725   \item To expire old keys and migrate coins to new ones.
    726   \item To handle protocol aborts.
    727   \end{itemize}
    728 \end{frame}
    729 
    730 
    731 \section{Competitor analysis}
    732 \begin{frame}{Competitor comparison}
    733   \begin{center} \small
    734     \begin{tabular}{l||c|c|c|c|c}
    735                 & Cash & Bitcoin & Zerocoin & Creditcard & GNU Taler \\ \hline \hline
    736    Online      &$-$$-$$-$  &   ++    &    ++    &     +      &   +++  \\ \hline
    737     Offline     & +++  &   $-$$-$    &    $-$$-$    &     +      &   $-$$-$  \\ \hline
    738     Trans. cost & +    & $-$$-$$-$   & $-$$-$$-$  &     $-$      &   ++  \\ \hline
    739     Speed       & +    & $-$$-$$-$   & $-$$-$$-$  &     o      &   ++  \\ \hline
    740     Taxation    & $-$    &   $-$$-$    &  $-$$-$$-$   &    +++     &  +++  \\ \hline
    741     Payer-anon  &  ++  &   o     &    ++    &  $-$$-$$-$   &  +++  \\ \hline
    742     Payee-anon  & ++   &   o     &    ++    &  $-$$-$$-$    &  $-$$-$$-$ \\ \hline
    743     Security    &  $-$   &   o     &    o     &    $-$$-$      &  ++   \\ \hline
    744     Conversion  & +++  &  $-$$-$$-$   & $-$$-$$-$ &    +++     &  +++  \\ \hline
    745     Libre       &  $-$   &  +++    &    +++   & $-$ $-$ $-$      &  +++  \\
    746   \end{tabular}
    747   \end{center}
    748 \end{frame}
    749 
    750 
    751 
    752 \begin{frame}[fragile]{\texttt{payto:} Uniform Identifiers for Payments and Accounts}
    753   \vfill
    754   Like \texttt{mailto:}, but for bank accounts instead of email accounts!
    755   \vfill
    756   \begin{verbatim}
    757     payto://<PAYMENT-METHOD>/<ACCOUNT-NR>
    758       ?subject=InvoiceNr42
    759       &amount=EUR:12.50
    760   \end{verbatim}
    761   \vfill
    762   Default action:  Open app to review and confirm payment.
    763   \vfill
    764 \end{frame}
    765 
    766 
    767 \begin{frame}[fragile]{Benefits of \texttt{payto://}}
    768   \begin{itemize}
    769     \item Standardized way to represent financial resources (bank account, bitcoin wallet)
    770       and payments to them
    771     \item Useful on the client-side on the Web and for FinTech backend applications
    772     \item Payment methods (such as SEPA, ACH, Bitcoin) are registered with
    773           IANA and allow extra options
    774     \item Under standardization with IETF as \texttt{draft-dold-payto}
    775   \end{itemize}
    776   \begin{center}
    777     Please voice your support!
    778   \end{center}
    779 \end{frame}
    780 
    781 
    782 
    783 \begin{frame}{How to support?}
    784   \begin{itemize}
    785     \item Join: \href{https://lists.gnu.org/mailman/listinfo/taler}{taler@gnu.org}, \href{irc://irc.freenode.net/\#taler}{\#taler}
    786     \item Coding \& design: \url{https://gnunet.org/bugs/}
    787     \item Translation: \url{https://git.taler.net/www.git/tree/locale/fr/LC_MESSAGES/messages.po}
    788     \item Integration: \url{https://docs.taler.net/}
    789     \item Donations: \url{https://gnunet.org/ev}
    790     \item Funding: \url{https://taler.net/en/investors.html}
    791   \end{itemize}
    792   \vfill
    793   \begin{center}
    794     {\bf And of course we are looking for banks as partners!}
    795   \end{center}
    796 \end{frame}
    797 
    798 
    799 \begin{frame}
    800   \frametitle{Team \hfill \& \hfill Advisory Board \hfill}
    801   \begin{minipage}{5cm}
    802     \begin{description}
    803  \item[Leon Schumacher]\ \\ co-founder
    804  \item[Dr. Christian Grothoff]\ \\ co-founder
    805  \item[Michael Widmer]\ \\ Jurist
    806  \item[Dr. Jeff Burdges]\ \\ PostDoc
    807  \item[Florian Dold]\ \\ PhD Student
    808     \end{description}
    809 
    810 \end{minipage}
    811   \begin{minipage}{5.5cm}
    812  {\tiny
    813 \begin{description}
    814  \item[Prof. Mikhail Atallah] \ \\
    815    Cryptographer, co-founder
    816    Arxan Technologies Inc.
    817  \item[Prof. Roberto Di Cosmo] \ \\
    818    Director IRILL
    819  \item[Greg Framke] \ \\
    820    CIO Manulife, \\
    821    former COO Etrade
    822  \item[Ante Gulam] \ \\
    823    Global Head of Information Security --- CISO \\
    824    MetaPack Group
    825  \item[Dr. Richard Stallman]\ \\
    826    Founder of the \\ \mbox{Free Software movement}
    827  \item[Chris Pagett] \ \\
    828    former Group Head Security/ \ \\
    829    Fraud/Geo Risk HSBC
    830  \item[Prof. Alex Pentland] \ \\
    831    MIT Media Lab
    832 \end{description}
    833 }
    834 \end{minipage}
    835 \vfill
    836 \includegraphics[height=0.1\textwidth]{../investors/team-images/leon-schumacher.jpg}    \hfill
    837 \includegraphics[height=0.1\textwidth]{../investors/team-images/christian-grothoff.jpg}\hfill
    838 \includegraphics[height=0.1\textwidth]{../investors/team-images/michael-widmer.jpg}\hfill
    839 \includegraphics[height=0.1\textwidth]{../investors/team-images/jeff-burdges.jpg}\hfill
    840 \includegraphics[height=0.1\textwidth]{../investors/team-images/florian-dold.jpg}\hfill
    841 \includegraphics[height=0.1\textwidth]{../investors/board-images/mja.jpg} \hfill
    842 \includegraphics[height=0.1\textwidth]{../investors/board-images/roberto-di-cosmo.jpg}    \hfill
    843 \includegraphics[height=0.1\textwidth]{../investors/board-images/greg-framke.jpg}    \hfill
    844 \includegraphics[height=0.1\textwidth]{../investors/board-images/ante-gulam.jpg} \hfill
    845 \includegraphics[height=0.1\textwidth]{../investors/board-images/alex-pentland.jpg}
    846 %\note{Advisory board still under construction.}
    847 \end{frame}
    848 
    849 
    850 \begin{frame}{Conclusion}
    851   \begin{center}
    852     {\bf  What can we do?}
    853    \end{center}
    854   \vfill
    855 \begin{itemize}
    856  \item{Suffer mass-surveillance enabled by credit card oligopolies with high fees, and}
    857  \item{Engage in arms race with deliberately unregulatable blockchains, and}
    858  \item{Enjoy the ``benefits'' of cash \\
    859   \hfill  \includegraphics[height=0.3\textheight]{atm-rupee.jpg} \hfill}
    860 \end{itemize}
    861 \vfill
    862 \begin{center}
    863   {\bf OR}
    864 \end{center}
    865 \vfill
    866 \begin{itemize}
    867  \item{Establish free software alternative balancing social goals!}
    868 \end{itemize}
    869 \vfill
    870 \end{frame}
    871 
    872 
    873 \begin{frame}
    874 \frametitle{Do you have any questions?}
    875 \vfill
    876 References:
    877 {\tiny
    878   \begin{enumerate}
    879  \item{Christian Grothoff, Bart Polot and Carlo von Loesch.
    880        {\em The Internet is broken: Idealistic Ideas for Building a GNU Network}.
    881        {\bf W3C/IAB Workshop on Strengthening the Internet Against Pervasive Monitoring (STRINT)}, 2014.}
    882  \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci.
    883        {\em Enabling Secure Web Payments with GNU Taler}.
    884        {\bf SPACE 2016}.}
    885  \item{Florian Dold, Sree Harsha Totakura, Benedikt M\"uller, Jeffrey Burdges and Christian Grothoff.
    886        {\em Taler: Taxable Anonymous Libre Electronic Reserves}.
    887        Available upon request. 2016.}
    888  \item{Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer and Madars Virza.
    889        {\em Zerocash: Decentralized Anonymous Payments from Bitcoin}.
    890        {\bf IEEE Symposium on Security \& Privacy, 2016}.}
    891  \item{David Chaum, Amos Fiat and Moni Naor.
    892        {\em Untraceable electronic cash}.
    893        {\bf Proceedings on Advances in Cryptology, 1990}.}
    894   \item{Phillip Rogaway.
    895        {\em The Moral Character of Cryptographic Work}.
    896        {\bf Asiacrypt}, 2015.} \label{bib:rogaway}
    897 \end{enumerate}
    898 }
    899 \begin{center}
    900   {\bf Let money facilitate trade; but ensure capital serves society.}
    901 \end{center}
    902 \end{frame}
    903 
    904 
    905 
    906 
    907 \end{document}
    908 
    909 
    910 
    911 
    912 \begin{frame}{Taler {\tt /withdraw/sign}}
    913 % Customer withdrawing coins with blind signatures
    914 % \bigskip
    915   \begin{figure}[th]
    916     \begin{minipage}[b]{0.45\linewidth}
    917       \begin{center}
    918         \begin{tikzpicture}[scale = 0.4,
    919             transform shape,
    920             msglabel/.style    = { text = Black, yshift = .3cm,
    921                                    sloped, midway },
    922             okmsg/.style       = { ->, color = MidnightBlue, thick,
    923                                    >=stealth },
    924             rstmsg/.style      = { ->, color = BrickRed, thick,
    925                                    >=stealth }
    926           ]
    927           \node[draw = MidnightBlue,
    928             fill = CornflowerBlue,
    929             minimum width = .3cm,
    930             minimum height = 10cm
    931           ] (h1) at (-4, 0) {};
    932           \node[draw = MidnightBlue,
    933             fill = CornflowerBlue,
    934             minimum width = .3cm,
    935             minimum height = 10cm
    936           ] (h2) at (4, 0) {};
    937           \node[above = 0cm of h1] {Wallet};
    938           \node[above = 0cm of h2] {Exchange};
    939 
    940           \path[->, color = MidnightBlue, very thick, >=stealth]
    941             (-5, 4.5) edge
    942             node[rotate=90, text = Black, yshift = .3cm] {Time}
    943             (-5, -4.5);
    944           \path[okmsg, dashed]
    945              ($(h1.east)+(0, 4.0)+(0, -1.0)$) edge
    946              node[msglabel] {SEPA(RK,A)}
    947              ($(h2.west)+(0, 3.5)+(0, -1.0)$);
    948           \path[okmsg]
    949             ($(h1.east)+(0, -1.0)$) edge
    950             node[msglabel] {POST {\tt /withdraw/sign} $S_{RK}(DK, B_b(C))$}
    951             ($(h2.west)+(0, -1.5)$);
    952           \path[okmsg]
    953             ($(h2.west)+(0, -2.0)$) edge
    954             node[msglabel] {200 OK: $S_{DK}(B_b(C))$)}
    955             ($(h1.east)+(0, -2.5)$);
    956           \path[rstmsg]
    957             ($(h2.west)+(0, -3.5)$) edge
    958             node[msglabel] {402 PAYMENT REQUIRED: $S_{RK}(DK, B_b(C))$)}
    959             ($(h1.east)+(0, -4)$);
    960           \node at (5.3, 0) {};
    961         \end{tikzpicture}
    962       \end{center}
    963       Result: $\langle c, S_{DK}(C) \rangle$.
    964     \end{minipage}
    965     \hspace{0.5cm}
    966     \begin{minipage}[b]{0.45\linewidth}
    967       \tiny
    968       \begin{description}
    969       \item[$A$] Some amount, $A \ge A_{DK}$
    970       \item[$RK$] Reserve key
    971       \item[$DK$] Denomination key
    972       \item[$b$] Blinding factor
    973       \item[$B_b()$] RSA-FDH blinding % DK supressed
    974       \item[$C$] Coin public key $C := cG$
    975       \item[$S_{RK}()$] EdDSA signature
    976       \item[$S_{DK}()$] RSA-FDH signature
    977       \end{description}
    978     \end{minipage}
    979   \end{figure}
    980 \end{frame}
    981 
    982 
    983 \begin{frame}[t]{Taler {\tt /deposit}}
    984 Merchant and exchange see only the public coin $\langle C, S_{DK}(C) \rangle$.
    985 \bigskip
    986   \begin{figure}[th]
    987     \begin{minipage}[b]{0.45\linewidth}
    988       \begin{center}
    989         \begin{tikzpicture}[scale = 0.4,
    990             transform shape,
    991             msglabel/.style    = { text = Black, yshift = .3cm,
    992                                    sloped, midway },
    993             okmsg/.style       = { ->, color = MidnightBlue, thick,
    994                                    >=stealth },
    995             rstmsg/.style      = { ->, color = BrickRed, thick,
    996                                    >=stealth }
    997           ]
    998           \node[draw = MidnightBlue,
    999             fill = CornflowerBlue,
   1000             minimum width = .3cm,
   1001             minimum height = 10cm
   1002           ] (h1) at (-4, 0) {};
   1003           \node[draw = MidnightBlue,
   1004             fill = CornflowerBlue,
   1005             minimum width = .3cm,
   1006             minimum height = 10cm
   1007           ] (h2) at (4, 0) {};
   1008           \node[above = 0cm of h1] {Merchant};
   1009           \node[above = 0cm of h2] {Exchange};
   1010 
   1011           \path[->, color = MidnightBlue, very thick, >=stealth]
   1012             (-5, 4.5) edge
   1013             node[rotate=90, text = Black, yshift = .3cm] {Time}
   1014             (-5, -4.5);
   1015           \path[->, color = MidnightBlue, thick, >=stealth]
   1016             ($(h1.east)+(0,3)$) edge
   1017             node[text = Black, yshift = .3cm, sloped] {POST {\tt /deposit} $S_{DK}(C), S_{c}(D)$}
   1018             ($(h2.west)+(0,2)$);
   1019           \path[->, color = MidnightBlue, thick, >=stealth]
   1020             ($(h2.west)+(0,0.5)$) edge
   1021             node[text = Black, yshift = .3cm, sloped] {200 OK: $S_{SK}(S_{c}(D))$}
   1022             ($(h1.east)+(0,-0.5)$);
   1023           \path[rstmsg]
   1024             ($(h2.west)+(0, -2.5)$) edge
   1025             node[msglabel] {409 CONFLICT: $S_{c}(D')$}
   1026             ($(h1.east)+(0, -3.5)$);
   1027           \node at (5.3, 0) {};
   1028         \end{tikzpicture}
   1029       \end{center}
   1030     \end{minipage}
   1031     \hspace{0.5cm}
   1032     \begin{minipage}[b]{0.45\linewidth}
   1033       \tiny
   1034       \begin{description}
   1035       \item[$DK$] Denomination key
   1036       \item[$S_{DK}()$] RSA-FDH signature using $DK$
   1037       \item[$c$] Private coin key, $C := cG$.
   1038       \item[$S_{C}()$] EdDSA signature using $c$
   1039       \item[$D$] Deposit details
   1040       \item[$SK$] Exchange's signing key
   1041       \item[$S_{SK}()$] EdDSA signature using $SK$
   1042       \item[$D'$] Conficting deposit details $D' \not= D$
   1043       \end{description}
   1044     \end{minipage}
   1045   \end{figure}
   1046 \end{frame}
   1047 
   1048 
   1049 \begin{frame}{Taler {\tt /refresh/melt}}
   1050   \begin{figure}[th]
   1051     \begin{minipage}[b]{0.45\linewidth}
   1052       \begin{center}
   1053 	\begin{tikzpicture}[scale = 0.4,
   1054             transform shape,
   1055             msglabel/.style    = { text = Black, yshift = .3cm,
   1056                                    sloped, midway },
   1057             okmsg/.style       = { ->, color = MidnightBlue, thick,
   1058                                    >=stealth },
   1059             rstmsg/.style      = { ->, color = BrickRed, thick,
   1060                                    >=stealth }
   1061 	  ]
   1062 	  \node[draw = MidnightBlue,
   1063 	    fill = CornflowerBlue,
   1064 	    minimum width = .3cm,
   1065 	    minimum height = 10cm
   1066 	  ] (h1) at (-4, 0) {};
   1067 	  \node[draw = MidnightBlue,
   1068 	    fill = CornflowerBlue,
   1069 	    minimum width = .3cm,
   1070 	    minimum height = 10cm
   1071 	  ] (h2) at (4, 0) {};
   1072 	  \node[above = 0cm of h1] {Customer};
   1073 	  \node[above = 0cm of h2] {Exchange};
   1074 
   1075 	  \path[->, color = MidnightBlue, very thick, >=stealth]
   1076 	    (-5, 4.5) edge
   1077 	    node[rotate=90, text = Black, yshift = .3cm] {Time}
   1078 	    (-5, -4.5);
   1079 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1080 	    ($(h1.east)+(0,3)$) edge
   1081 	    node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/melt} $S_{DK}(C), S_c({\cal DK}, {\cal T},{\cal B})$}
   1082 	    ($(h2.west)+(0,2)$);
   1083 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1084 	    ($(h2.west)+(0,0.5)$) edge
   1085 	    node[text = Black, yshift = .3cm, sloped] {200 OK: $S_{SK}(H({\cal T}, {\cal B}),\gamma)$}
   1086 	    ($(h1.east)+(0,-0.5)$);
   1087 	  \path[rstmsg]
   1088 	    ($(h2.west)+(0, -2.5)$) edge
   1089 	    node[msglabel] {409 CONFLICT: $S_{C}(X), \ldots$}
   1090 	    ($(h1.east)+(0, -3.5)$);
   1091 	  \node at (5.3, 0) {};
   1092 	\end{tikzpicture}
   1093       \end{center}
   1094     \end{minipage}
   1095     \hspace{0.5cm}
   1096     \begin{minipage}[b]{0.45\linewidth}
   1097       \tiny
   1098       \begin{description}
   1099       \item[$\kappa$] System-wide security parameter, usually 3.
   1100       \\ \smallskip
   1101       \item[$\cal DK$] $:= [DK^{(i)}]_i$ \\ List of denomination keys \\
   1102       $D + \sum_i A_{DK^{(i)}} < A_{DK}$
   1103       \item[$t_j$] Random scalar for $j<\kappa$
   1104       \item[${\cal T}$] $:= [T_j]_\kappa$ where $T_j = t_j G$
   1105       \item[$k_j$] $:= c T_j = t_j C$ is an ECDHE
   1106       \item[$b_j^{(i)}$] $:= KDF_b(k_j,i)$ % blinding factor
   1107       \item[$c_j^{(i)}$] $:= KDF_c(k_j,i)$ % coin secret keys
   1108       \item[$C_j^{(i)}$] $: = c_j^{(i)} G$ % new coin publics % keys
   1109       \item[${\cal B}$] $:= [H( \beta_j )]_\kappa$ where \\
   1110          $\beta_j := \left[ B_{b_j^{(i)}}(C_j^{(i)}) \right]_i$
   1111       \\ \smallskip
   1112       \item[$\gamma$] Random value in $[0,\kappa)$
   1113 %      \\ \smallskip
   1114 %      \item[$X$] Deposit or refresh
   1115       \end{description}
   1116     \end{minipage}
   1117   \end{figure}
   1118 \end{frame}
   1119 
   1120 
   1121 \begin{frame}{Taler {\tt /refresh/reveal}}
   1122   \begin{figure}[th]
   1123     \begin{minipage}[b]{0.45\linewidth}
   1124       \begin{center}
   1125 	\begin{tikzpicture}[scale = 0.4,
   1126             transform shape,
   1127             msglabel/.style    = { text = Black, yshift = .3cm,
   1128                                    sloped, midway },
   1129             okmsg/.style       = { ->, color = MidnightBlue, thick,
   1130                                    >=stealth },
   1131             rstmsg/.style      = { ->, color = BrickRed, thick,
   1132                                    >=stealth }
   1133 	  ]
   1134 	  \node[draw = MidnightBlue,
   1135 	    fill = CornflowerBlue,
   1136 	    minimum width = .3cm,
   1137 	    minimum height = 10cm
   1138 	  ] (h1) at (-4, 0) {};
   1139 	  \node[draw = MidnightBlue,
   1140 	    fill = CornflowerBlue,
   1141 	    minimum width = .3cm,
   1142 	    minimum height = 10cm
   1143 	  ] (h2) at (4, 0) {};
   1144 	  \node[above = 0cm of h1] {Customer};
   1145 	  \node[above = 0cm of h2] {Exchange};
   1146 
   1147 	  \path[->, color = MidnightBlue, very thick, >=stealth]
   1148 	    (-5, 4.5) edge
   1149 	    node[rotate=90, text = Black, yshift = .3cm] {Time}
   1150 	    (-5, -4.5);
   1151 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1152 	    ($(h1.east)+(0,3)$) edge
   1153 	    node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/reveal} $H({\cal T}, {\cal B}), {\tilde{\cal T}}, \beta_\gamma$}
   1154 	    ($(h2.west)+(0,2)$);
   1155 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1156 	    ($(h2.west)+(0,0.5)$) edge
   1157 	    node[text = Black, yshift = .3cm, sloped] {200 OK: $\cal S$}
   1158 	    ($(h1.east)+(0,-0.5)$);
   1159 	  \path[rstmsg]
   1160 	    ($(h2.west)+(0, -2.5)$) edge
   1161 	    node[msglabel] {400 BAD REQUEST: $Z$}
   1162 	    ($(h1.east)+(0, -3.5)$);
   1163 	  \node at (5.3, 0) {};
   1164 	\end{tikzpicture}
   1165       \end{center}
   1166     \end{minipage}
   1167     \hspace{0.5cm}
   1168     \begin{minipage}[b]{0.45\linewidth}
   1169       \tiny
   1170       \begin{description}
   1171       \item[$\cal DK$] $:= [DK^{(i)}]_i$
   1172       \item[$t_j$] .. \\ \smallskip
   1173 
   1174       \item[$\tilde{\cal T}$] $:= [t_j | j \in \kappa, j \neq \gamma]$ \\ \smallskip
   1175 
   1176       \item[$k_\gamma$] $:= c T_\gamma = t_\gamma C$
   1177       \item[$b_\gamma^{(i)}$] $:= KDF_b(k_\gamma,i)$
   1178       \item[$c_\gamma^{(i)}$] $:= KDF_c(k_\gamma,i)$
   1179       \item[$C_\gamma^{(i)}$] $: = c_\gamma^{(i)} G$
   1180 
   1181       \item[$B_\gamma^{(i)}$] $:= B_{b_\gamma^{(i)}}(C_\gamma^{(i)})$
   1182       \item[$\beta_\gamma$] $:= \big[ B_\gamma^{(i)} \big]_i$
   1183       \item[$\cal S$] $:= \left[ S_{DK^{(i)}}( B_\gamma^{(i)} ) \right]_i$ \\ \smallskip
   1184 
   1185       \item[$Z$] Cut-and-choose missmatch information
   1186       \end{description}
   1187     \end{minipage}
   1188   \end{figure}
   1189 \end{frame}
   1190 
   1191 
   1192 \begin{frame}{Taler {\tt /refresh/link}}
   1193   \begin{figure}[th]
   1194     \begin{minipage}[b]{0.45\linewidth}
   1195       \begin{center}
   1196 	\begin{tikzpicture}[scale = 0.4,
   1197             transform shape,
   1198             msglabel/.style    = { text = Black, yshift = .3cm,
   1199                                    sloped, midway },
   1200             okmsg/.style       = { ->, color = MidnightBlue, thick,
   1201                                    >=stealth },
   1202             rstmsg/.style      = { ->, color = BrickRed, thick,
   1203                                    >=stealth }
   1204 	  ]
   1205 	  \node[draw = MidnightBlue,
   1206 	    fill = CornflowerBlue,
   1207 	    minimum width = .3cm,
   1208 	    minimum height = 10cm
   1209 	  ] (h1) at (-4, 0) {};
   1210 	  \node[draw = MidnightBlue,
   1211 	    fill = CornflowerBlue,
   1212 	    minimum width = .3cm,
   1213 	    minimum height = 10cm
   1214 	  ] (h2) at (4, 0) {};
   1215 	  \node[above = 0cm of h1] {Customer};
   1216 	  \node[above = 0cm of h2] {Exchagne};
   1217 
   1218 	  \path[->, color = MidnightBlue, very thick, >=stealth]
   1219 	    (-5, 4.5) edge
   1220 	    node[rotate=90, text = Black, yshift = .3cm] {Time}
   1221 	    (-5, -4.5);
   1222 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1223 	    ($(h1.east)+(0,3)$) edge
   1224 	    node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/link} $C$}
   1225 	    ($(h2.west)+(0,2)$);
   1226 	  \path[->, color = MidnightBlue, thick, >=stealth]
   1227 	    ($(h2.west)+(0,0.5)$) edge
   1228 	    node[text = Black, yshift = .3cm, sloped] {200 OK: $T_\gamma$}
   1229 	    ($(h1.east)+(0,-0.5)$);
   1230 	  \path[rstmsg]
   1231 	    ($(h2.west)+(0, -2.5)$) edge
   1232 	    node[msglabel] {404 NOT FOUND}
   1233 	    ($(h1.east)+(0, -3.5)$);
   1234 	  \node at (5.3, 0) {};
   1235 	\end{tikzpicture}
   1236       \end{center}
   1237     \end{minipage}
   1238     \hspace{0.5cm}
   1239     \begin{minipage}[b]{0.45\linewidth}
   1240       \tiny
   1241       \begin{description}
   1242       \item[$C$] Old coind public key \\ \smallskip
   1243       \item[$T_\gamma$] Linkage data $\cal L$ at $\gamma$
   1244       \end{description}
   1245     \end{minipage}
   1246   \end{figure}
   1247 \end{frame}
   1248 
   1249 
   1250 \begin{frame}{Operational security}
   1251   \begin{center}
   1252     \resizebox{\textwidth}{!}{
   1253 \begin{tikzpicture}[
   1254   font=\sffamily,
   1255   every matrix/.style={ampersand replacement=\&,column sep=2cm,row sep=2cm},
   1256   source/.style={draw,thick,rounded corners,fill=green!20,inner sep=.3cm},
   1257   process/.style={draw,thick,circle,fill=blue!20},
   1258   sink/.style={source,fill=green!20},
   1259   datastore/.style={draw,very thick,shape=datastore,inner sep=.3cm},
   1260   dots/.style={gray,scale=2},
   1261   to/.style={->,>=stealth',shorten >=1pt,semithick,font=\sffamily\footnotesize},
   1262   every node/.style={align=center}]
   1263 
   1264   % Position the nodes using a matrix layout
   1265   \matrix{
   1266     \node[source] (wallet) {Wallet};
   1267       \& \node[process] (browser) {Browser};
   1268       \& \node[process] (shop) {Web shop};
   1269       \& \node[sink] (backend) {Taler backend}; \\
   1270   };
   1271 
   1272   % Draw the arrows between the nodes and label them.
   1273   \draw[to] (browser) to[bend right=50] node[midway,above] {(4) signed contract}
   1274       node[midway,below] {(signal)} (wallet);
   1275   \draw[to] (wallet) to[bend right=50] node[midway,above] {(signal)}
   1276       node[midway,below] {(5) signed coins} (browser);
   1277   \draw[<->] (browser) -- node[midway,above] {(3,6) custom}
   1278       node[midway,below] {(HTTPS)} (shop);
   1279   \draw[to] (shop) to[bend right=50] node[midway,above] {(HTTPS)}
   1280       node[midway,below] {(1) proposed contract / (7) signed coins} (backend);
   1281   \draw[to] (backend) to[bend right=50] node[midway,above] {(2) signed contract / (8) confirmation}
   1282       node[midway,below] {(HTTPS)} (shop);
   1283 \end{tikzpicture}
   1284 }
   1285 \end{center}
   1286 \end{frame}
   1287 \begin{frame}{Diffie-Hellman (ECDH)}
   1288   \begin{minipage}{8cm}
   1289    \begin{enumerate}
   1290     \item Create private keys $c,t \mod o$
   1291     \item Define $C = cG$
   1292     \item Define $T = tG$
   1293     \item Compute DH \\ $cT = c(tG) = t(cG) = tC$
   1294     \end{enumerate}
   1295    \end{minipage}
   1296   \begin{minipage}{6cm}
   1297   \begin{tikzpicture}
   1298    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
   1299     \node (t) [def, draw=none] at (0,0) {$t$};
   1300     \node (ct) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{dh.pdf}};
   1301     \node (c) [def, draw=none, above left= of ct]  {$c$};
   1302     \tikzstyle{C} = [color=black, line width=1pt]
   1303 
   1304     \draw [<-, C] (ct) -- (c) node [midway, above, sloped] (TextNode) {};
   1305     \draw [<-, C] (ct) -- (t) node [midway, above, sloped] (TextNode) {};
   1306   \end{tikzpicture}
   1307   \end{minipage}
   1308 \end{frame}
   1309 
   1310 
   1311 \begin{frame}{Strawman solution}
   1312   \begin{minipage}{8cm}
   1313     Given partially spent private coin key $c_{old}$:
   1314    \begin{enumerate}
   1315 %    \item Let $C_{old} := c_{old}G$ (as before)
   1316     \item Pick random $c_{new} \mod o$ private key
   1317     \item $C_{new} = c_{new}G$ public key
   1318     \item Pick random $b_{new}$
   1319     \item Compute $f_{new} := FDH(C_{new})$, $m < n$.
   1320     \item Transmit $f'_{new} := f_{new} b_{new}^e \mod n$
   1321    \end{enumerate}
   1322    ... and sign request for change with $c_{old}$.
   1323    \end{minipage}
   1324   \begin{minipage}{4cm}
   1325   \begin{tikzpicture}
   1326    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
   1327     \node (blinded) [def, draw=none]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
   1328     \node (planchet) [def, draw=none, above left= of blinded]  {\includegraphics[width=0.15\textwidth]{planchet.pdf}};
   1329     \node (cnew) [def, draw=none, above= of planchet]  {$c_{new}$};
   1330     \node (bnew) [def, draw=none, above right= of blinded]  {$b_{new}$};
   1331     \node (dice1) [def, draw=none, above = of cnew]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
   1332     \node (dice2) [def, draw=none, above = of bnew]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
   1333     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
   1334 
   1335     \tikzstyle{C} = [color=black, line width=1pt]
   1336 
   1337     \draw [<-, C] (cnew) -- (dice1) node [midway, above, sloped] (TextNode) {};
   1338     \draw [<-, C] (planchet) -- (cnew) node [midway, above, sloped] (TextNode) {};
   1339     \draw [<-, C] (bnew) -- (dice2) node [midway, above, sloped] (TextNode) {};
   1340     \draw [<-, C] (blinded) -- (planchet) node [midway, above, sloped] (TextNode) {};
   1341     \draw [<-, C] (blinded) -- (bnew) node [midway, above, sloped] (TextNode) {};
   1342     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
   1343   \end{tikzpicture}
   1344   \end{minipage}
   1345   \pause
   1346   \vfill
   1347   {\bf Problem: Owner of $c_{new}$ may differ from owner of $c_{old}$!}
   1348 \end{frame}
   1349 
   1350 
   1351 \begin{frame}{Customer: Transfer key setup (ECDH)}
   1352   \begin{minipage}{8cm}
   1353     Given partially spent private coin key $c_{old}$:
   1354    \begin{enumerate}
   1355     \item Let $C_{old} := c_{old}G$ (as before)
   1356     \item Create random private transfer key $t \mod o$
   1357     \item Compute $T := tG$
   1358     \item Compute $X := c_{old}(tG) = t(c_{old}G) = tC_{old}$
   1359     \item Derive $c_{new}$ and $b_{new}$ from $X$
   1360     \item Compute $C_{new} := c_{new}G$
   1361     \item Compute $f_{new} := FDH(C_{new})$
   1362     \item Transmit $f_{new}' := f_{new} b_{new}^e$
   1363     \end{enumerate}
   1364    \end{minipage}
   1365   \begin{minipage}{4cm}
   1366   \begin{tikzpicture}
   1367    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
   1368     \node (t) [def, draw=none] at (0,0) {$t$};
   1369     \node (dice) [def, draw=none, above = of t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
   1370     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
   1371     \node (d) [def, draw=none, above left= of dh]  {$c_{old}$};
   1372     \node (cp) [def, draw=none, below left= of dh]  {$c_{new}$};
   1373     \node (bp) [def, draw=none, below right= of dh]  {$b_{new}$};
   1374     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
   1375     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
   1376 
   1377     \tikzstyle{C} = [color=black, line width=1pt]
   1378 
   1379     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
   1380     \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
   1381     \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
   1382     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1383     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1384     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
   1385     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
   1386     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
   1387   \end{tikzpicture}
   1388   \end{minipage}
   1389 \end{frame}
   1390 
   1391 
   1392 \begin{frame}{Cut-and-Choose}
   1393   \begin{minipage}{4cm}
   1394   \begin{tikzpicture}
   1395    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
   1396     \node (t) [def, draw=none] at (0,0) {$t_1$};
   1397     \node (dice) [def, draw=none, above = of t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
   1398     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
   1399     \node (d) [def, draw=none, above left= of dh]  {$c_{old}$};
   1400     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,1}$};
   1401     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,1}$};
   1402     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
   1403     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
   1404 
   1405     \tikzstyle{C} = [color=black, line width=1pt]
   1406 
   1407     \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
   1408     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
   1409     \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
   1410     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1411     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1412     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
   1413     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
   1414     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
   1415   \end{tikzpicture}
   1416   \end{minipage}
   1417   \begin{minipage}{4cm}
   1418   \begin{tikzpicture}
   1419    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
   1420     \node (t) [def, draw=none] at (0,0) {$t_2$};
   1421     \node (dice) [def, draw=none, above = of t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
   1422     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
   1423     \node (d) [def, draw=none, above left= of dh]  {$c_{old}$};
   1424     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,2}$};
   1425     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,2}$};
   1426     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
   1427     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
   1428 
   1429     \tikzstyle{C} = [color=black, line width=1pt]
   1430 
   1431     \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
   1432     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
   1433     \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
   1434     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1435     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1436     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
   1437     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
   1438     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
   1439   \end{tikzpicture}
   1440   \end{minipage}
   1441   \begin{minipage}{4cm}
   1442   \begin{tikzpicture}
   1443    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
   1444     \node (t) [def, draw=none] at (0,0) {$t_3$};
   1445     \node (dice) [def, draw=none, above = of t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
   1446     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
   1447     \node (d) [def, draw=none, above left= of dh]  {$c_{old}$};
   1448     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,3}$};
   1449     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,3}$};
   1450     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
   1451     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
   1452 
   1453     \tikzstyle{C} = [color=black, line width=1pt]
   1454 
   1455     \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
   1456     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
   1457     \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
   1458     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1459     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1460     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
   1461     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
   1462     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
   1463   \end{tikzpicture}
   1464   \end{minipage}
   1465 \end{frame}
   1466 
   1467 
   1468 \begin{frame}{Exchange: Choose!}
   1469    \begin{center}
   1470     \item Exchange sends back random $\gamma \in \{ 1, 2, 3 \}$ to the customer.
   1471     \end{center}
   1472 \end{frame}
   1473 
   1474 
   1475 \begin{frame}{Customer: Reveal}
   1476    \begin{enumerate}
   1477    \item If $\gamma = 1$, send $t_2$, $t_3$ to exchange
   1478    \item If $\gamma = 2$, send $t_1$, $t_3$ to exchange
   1479    \item If $\gamma = 3$, send $t_1$, $t_2$ to exchange
   1480   \end{enumerate}
   1481 \end{frame}
   1482 
   1483 
   1484 \begin{frame}{Exchange: Verify ($\gamma = 2$)}
   1485   \begin{minipage}{4cm}
   1486   \begin{tikzpicture}
   1487    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
   1488     \node (h) [def, draw=none] at (0,0) {$t_1$};
   1489     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
   1490     \node (d) [def, draw=none, above left= of dh]  {$C_{old}$};
   1491     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,1}$};
   1492     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,1}$};
   1493     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
   1494 
   1495     \tikzstyle{C} = [color=black, line width=1pt]
   1496 
   1497     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
   1498     \draw [<-, C] (dh) -- (h) node [midway, above, sloped] (TextNode) {};
   1499     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1500     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1501     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
   1502     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
   1503   \end{tikzpicture}
   1504   \end{minipage}
   1505   \begin{minipage}{4cm}
   1506  \
   1507   \end{minipage}
   1508   \begin{minipage}{4cm}
   1509   \begin{tikzpicture}
   1510    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
   1511     \node (h) [def, draw=none] at (0,0) {$t_3$};
   1512     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
   1513     \node (d) [def, draw=none, above left= of dh]  {$C_{old}$};
   1514     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,3}$};
   1515     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,3}$};
   1516     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
   1517 
   1518     \tikzstyle{C} = [color=black, line width=1pt]
   1519 
   1520     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
   1521     \draw [<-, C] (dh) -- (h) node [midway, above, sloped] (TextNode) {};
   1522     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1523     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1524     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
   1525     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
   1526   \end{tikzpicture}
   1527   \end{minipage}
   1528 \end{frame}
   1529 
   1530 
   1531 \begin{frame}{Exchange: Blind sign change (RSA)}
   1532    \begin{minipage}{6cm}
   1533     \begin{enumerate}
   1534     \item Take $f_{new,\gamma}'$.
   1535     \item Compute $s' := f_{new,\gamma}'^d \mod n$.
   1536     \item Send signature $s'$.
   1537     \end{enumerate}
   1538    \end{minipage}
   1539   \begin{minipage}{6cm}
   1540   \begin{tikzpicture}
   1541    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
   1542     \node (hammer) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{hammer.pdf}};
   1543     \node (signed) [def, draw=none, below left=of hammer]{\includegraphics[width=0.2\textwidth]{sign.pdf}};
   1544     \node (blinded) [def, draw=none, above left=of signed]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
   1545     \node (customer) [node distance=4em and 0.5em, draw, below =of signed]{Customer};
   1546     \tikzstyle{C} = [color=black, line width=1pt]
   1547 
   1548     \draw [<-, C] (signed) -- (hammer) node [midway, above, sloped] (TextNode) {};
   1549     \draw [<-, C] (signed) -- (blinded) node [midway, above, sloped] (TextNode) {};
   1550     \draw [<-, C] (customer) -- (signed) node [midway, above, sloped] (TextNode) {{\small transmit}};
   1551   \end{tikzpicture}
   1552   \end{minipage}
   1553 \end{frame}
   1554 
   1555 
   1556 \begin{frame}{Customer: Unblind change (RSA)}
   1557   \begin{minipage}{6cm}
   1558    \begin{enumerate}
   1559     \item Receive $s'$.
   1560     \item Compute $s := s' b_{new,\gamma}^{-1} \mod n$.
   1561     \end{enumerate}
   1562    \end{minipage}
   1563   \begin{minipage}{6cm}
   1564   \begin{tikzpicture}
   1565    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
   1566     \node (b) [def, draw=none] at (0,0) {$b_{new,\gamma}$};
   1567     \node (coin) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
   1568     \node (signed) [def, draw=none, above left=of coin]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
   1569     \tikzstyle{C} = [color=black, line width=1pt]
   1570 
   1571     \draw [<-, C] (coin) -- (b) node [midway, above, sloped] (TextNode) {};
   1572     \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode) {};
   1573   \end{tikzpicture}
   1574   \end{minipage}
   1575 \end{frame}
   1576 
   1577 
   1578 \begin{frame}{Exchange: Allow linking change}
   1579   \begin{minipage}{7cm}
   1580     \begin{center}
   1581     Given $C_{old}$
   1582 
   1583     \vspace{1cm}
   1584 
   1585     return $T_\gamma$, $s := s' b_{new,\gamma}^{-1} \mod n$.
   1586   \end{center}
   1587    \end{minipage}
   1588   \begin{minipage}{5cm}
   1589    \begin{tikzpicture}
   1590     \tikzstyle{def} = [node distance= 3em and 0.5em, inner sep=0.5em, outer sep=.3em];
   1591     \node (co) [def, draw=none] at (0,0) {$C_{old}$};
   1592     \node (T) [def, draw=none, below left=of co]{$T_\gamma$};
   1593     \node (sign) [def, draw=none, below right=of co]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
   1594     \node (customer) [def, draw, below right=of T] {Customer};
   1595 
   1596     \tikzstyle{C} = [color=black, line width=1pt]
   1597 
   1598     \draw [<-, C] (T) -- (co) node [midway, above, sloped] (TextNode) {};
   1599     \draw [<-, C] (sign) -- (co) node [midway, above, sloped] (TextNode) {};
   1600     \draw [<-, C] (customer) -- (T) node [midway, above, sloped] (TextNode) {link};
   1601     \draw [<-, C] (customer) -- (sign) node [midway, above, sloped] (TextNode) {link};
   1602   \end{tikzpicture}
   1603   \end{minipage}
   1604 \end{frame}
   1605 
   1606 
   1607 \begin{frame}{Customer: Link (threat!)}
   1608   \begin{minipage}{6.3cm}
   1609    \begin{enumerate}
   1610     \item Have $c_{old}$.
   1611     \item Obtain $T_\gamma$, $s$ from exchange
   1612     \item Compute $X_\gamma = c_{old}T_\gamma$
   1613     \item Derive $c_{new,\gamma}$ and $b_{new,\gamma}$ from $X_\gamma$
   1614     \item Unblind $s := s' b_{new,\gamma}^{-1} \mod n$
   1615   \end{enumerate}
   1616 
   1617    \end{minipage}
   1618   \begin{minipage}{5.7cm}
   1619   \begin{tikzpicture}
   1620   \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
   1621     \node (T) [def, draw=none] at (0,0) {$T_\gamma$};
   1622     \node (exchange) [def, inner sep=0.5em, draw, above left=of T] {Exchange};
   1623     \node (signed) [def, draw=none, below left=of T]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
   1624     \node (dh) [def, draw=none, below right=of T]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
   1625     \node (bp) [def, draw=none, below left= of dh]  {$b_{new,\gamma}$};
   1626     \node (co) [def, draw=none, above right= of dh]  {$c_{old}$};
   1627     \node (cp) [def, draw=none, below= of dh]  {$c_{new,\gamma}$};
   1628     \node (coin) [def, draw=none, below left = of bp]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
   1629     \node (psign) [def, node distance=2.5em and 0em, draw=none, below = of cp]{\includegraphics[width=0.2\textwidth]{planchet-sign.pdf}};
   1630 
   1631     \tikzstyle{C} = [color=black, line width=1pt]
   1632 
   1633     \draw [<-, C] (dh) -- (co) node [midway, above, sloped] (TextNode) {};
   1634     \draw [<-, C] (dh) -- (T) node [midway, above, sloped] (TextNode) {};
   1635     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1636     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
   1637     \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode) {};
   1638     \draw [<-, C] (coin) -- (bp) node [midway, above, sloped] (TextNode) {};
   1639     \draw [<-, C] (T) -- (exchange) node [midway, above, sloped] (TextNode) {link};
   1640     \draw [<-, C] (signed) -- (exchange) node [midway, below, sloped] (TextNode) {link};
   1641     \draw [<-, C, double] (psign) -- (cp) node [midway, below, sloped] (TextNode) {};
   1642   \end{tikzpicture}
   1643   \end{minipage}
   1644 \end{frame}
   1645 
   1646 
   1647 \begin{frame}{Use Cases: Refugee Camps}
   1648   Today:
   1649   \begin{itemize}
   1650   \item Non-bankable
   1651   \item Direct distribution of goods to population
   1652   \item Limited economic activity in camps
   1653   \item High level of economic dependence
   1654   \end{itemize}\vfill\pause
   1655   With GNU Taler:
   1656   \begin{itemize}
   1657   \item Local currency issued as basic income backed by aid
   1658   \item Taxation possible based on economic status
   1659   \item Local governance enabled by local taxes
   1660   \item Increased economic independence and political participation
   1661   \end{itemize}
   1662 \end{frame}