marketing

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

2021-isss.tex (41581B)


      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 \usepackage{adjustbox}
     16 
     17 % CSS
     18 \lstdefinelanguage{CSS}{
     19   basicstyle=\ttfamily\scriptsize,
     20   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},
     21   sensitive=true,
     22   morecomment=[l]{//},
     23   morecomment=[s]{/*}{*/},
     24   morestring=[b]',
     25   morestring=[b]",
     26   alsoletter={:},
     27   alsodigit={-}
     28 }
     29 
     30 % JavaScript
     31 \lstdefinelanguage{JavaScript}{
     32   basicstyle=\ttfamily\scriptsize,
     33   morekeywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
     34   morecomment=[s]{/*}{*/},
     35   morecomment=[l]//,
     36   morestring=[b]",
     37   morestring=[b]'
     38 }
     39 
     40 \lstdefinelanguage{HTML5}{
     41   basicstyle=\ttfamily\scriptsize,
     42   language=html,
     43   sensitive=true,
     44   alsoletter={<>=-},
     45   morecomment=[s]{<!-}{-->},
     46   tag=[s],
     47   otherkeywords={
     48   % General
     49   >,
     50   % Standard tags
     51 	<!DOCTYPE,
     52   </html, <html, <head, <title, </title, <style, </style, <link, </head, <meta, />,
     53 	% body
     54 	</body, <body,
     55 	% Divs
     56 	</div, <div, </div>,
     57 	% Paragraphs
     58 	</p, <p, </p>,
     59 	% scripts
     60 	</script, <script,
     61   % More tags...
     62   <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, <source, <iframe, </iframe>, </video>, <image, </image>
     63   },
     64   ndkeywords={
     65   % General
     66   =,
     67   % HTML attributes
     68   charset=, src=, id=, width=, height=, style=, type=, rel=, href=,
     69   % SVG attributes
     70   fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, repeatCount=, xlink:href=,
     71   % CSS properties
     72   margin:, padding:, background-image:, border:, top:, left:, position:, width:, height:,
     73 	% CSS3 properties
     74   transform:, -moz-transform:, -webkit-transform:,
     75   animation:, -webkit-animation:,
     76   transition:,  transition-duration:, transition-property:, transition-timing-function:,
     77   }
     78 }
     79 
     80 \lstdefinelanguage{JavaScript}{
     81   basicstyle=\ttfamily\scriptsize,
     82   keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, for},
     83   keywordstyle=\color{blue}\bfseries,
     84   ndkeywords={class, export, boolean, throw, implements, import, this},
     85   ndkeywordstyle=\color{darkgray}\bfseries,
     86   identifierstyle=\color{black},
     87   sensitive=false,
     88   comment=[l]{//},
     89   morecomment=[s]{/*}{*/},
     90   commentstyle=\color{purple}\ttfamily,
     91   stringstyle=\color{red}\ttfamily,
     92   morestring=[b]',
     93   morestring=[b]"
     94 }
     95 
     96 \usetikzlibrary{shapes,arrows}
     97 \usetikzlibrary{positioning}
     98 \usetikzlibrary{calc}
     99 
    100 \title{GNU Taler}
    101 %\subtitle{}
    102 
    103 \setbeamertemplate{navigation symbols}{\includegraphics[width=1cm]{inria.pdf} \includegraphics[width=2.3cm]{bfh.png} \includegraphics[width=1.6cm]{fub.pdf} \includegraphics[width=0.4cm]{ashoka.png}  \includegraphics[width=0.4cm]{gnu.png} \includegraphics[width=1cm]{logo-2020.jpg} \hfill}
    104 %\setbeamercovered{transparent=1}
    105 
    106 \author[C. Grothoff]{Christian Grothoff}
    107 \date{17.11.2021}
    108 \institute{The GNU Project}
    109 
    110 
    111 \begin{document}
    112 
    113 \justifying
    114 
    115 \begin{frame}
    116   \begin{center}
    117     \LARGE {\bf GNU}
    118 
    119     \vfill
    120 %    \includegraphics[width=0.66\textwidth]{logo-2017-fr.pdf}
    121     \includegraphics[width=0.66\textwidth]{logo-2020.jpg}
    122     \vfill
    123   \end{center}
    124 \begin{textblock*}{6cm}(.5cm,7.7cm) % {block width} (coords)
    125     {\Large {\bf \href{https://taler.net/}{taler.net}} \\
    126 %    \href{https://twitter.com/taler}{taler@twitter} \\
    127     \href{https://taler-systems.com/}{taler-systems.com}}
    128 \end{textblock*}
    129 
    130 % Substitute based on who is giving the talk!
    131  \begin{textblock*}{6cm}(6.7cm,7.7cm) % {block width} (coords)
    132    {\hfill {\bf Christian Grothoff} \\
    133     \hfill grothoff@taler.net }
    134 \end{textblock*}
    135 
    136 \end{frame}
    137 
    138 
    139 \section{What is Taler?}
    140 \begin{frame}{What is Taler?}
    141   \framesubtitle{https://taler.net/en/}
    142   \begin{center}
    143 Taler is an electronic instant payment system.
    144   \end{center}
    145   \begin{itemize}
    146   \item Uses electronic coins stored in {\bf wallets} on customer's device
    147   \item Like {\bf cash}
    148   \item Pay in {\bf existing currencies} (i.e. EUR, USD, BTC), \\
    149     or use it to create new {\bf regional currencies}
    150   \end{itemize}
    151   \vfill
    152   \pause
    153  \noindent
    154  However, Taler is
    155   \begin{itemize}
    156     \item \emph{not} a currency
    157     \item \emph{not} a long-term store of value
    158     \item \emph{not} a network or instance of a system
    159     \item \emph{not} decentralized
    160     \item \emph{not} based on proof-of-work or proof-of-stake
    161     \item \emph{not} a speculative asset / ``get-rich-quick scheme''
    162   \end{itemize}
    163 \end{frame}
    164 
    165 
    166 \begin{frame}{Design principles}
    167   \framesubtitle{https://taler.net/en/principles.html}
    168 GNU Taler must ...
    169 \begin{enumerate}
    170   \item {... be implemented as {\bf free software}.}
    171   \item {... protect the {\bf privacy of buyers}.}
    172   \item {... must enable the state to {\bf tax income} and crack down on
    173     illegal business activities.}
    174   \item {... prevent payment fraud.}
    175   \item {... only {\bf disclose the minimal amount of information
    176     necessary}.}
    177   \item {... be usable.}
    178   \item {... be efficient.}
    179   \item {... avoid single points of failure.}
    180   \item {... foster {\bf competition}.}
    181 \end{enumerate}
    182 \end{frame}
    183 
    184 
    185 \begin{frame}
    186 \frametitle{Taler Overview}
    187   \framesubtitle{\url{https://taler.net/papers/chaum-blind-signatures.pdf}}
    188   \begin{center}
    189 \begin{tikzpicture}
    190  \tikzstyle{def} = [node distance= 5em and 6.5em, inner sep=1em, outer sep=.3em];
    191  \node (origin) at (0,0) {};
    192  \node (exchange) [def,above=of origin,draw]{Exchange};
    193  \node (customer) [def, draw, below left=of origin] {Customer};
    194  \node (merchant) [def, draw, below right=of origin] {Merchant};
    195  \node (auditor) [def, draw, above right=of origin]{Auditor};
    196 % \node (regulator) [def, draw, above=of auditor]{CSSF};
    197 
    198  \tikzstyle{C} = [color=black, line width=1pt]
    199 
    200  \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] (TextNode) {withdraw coins};
    201  \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] (TextNode) {deposit coins};
    202  \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] (TextNode) {spend coins};
    203  \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode) {verify};
    204 % \draw [<-, C] (regulator) -- (auditor) node [midway, above, sloped] (TextNode) {report};
    205 
    206 \end{tikzpicture}
    207 \end{center}
    208 \end{frame}
    209 
    210 
    211 \begin{frame}{The Taler Software Ecosystem}
    212   \framesubtitle{\url{https://taler.net/en/docs.html}}
    213   Taler is based on modular components that work together to provide a
    214   complete payment system:
    215   \vfill
    216   \begin{itemize}
    217     \item {\bf Exchange:} Service provider for digital cash
    218       \begin{itemize}
    219         \item Core exchange software (cryptography, database)
    220         \item Air-gapped key management, real-time {\bf auditing}
    221         \item LibEuFin: Modular integration with banking systems
    222       \end{itemize}
    223     \item {\bf Merchant:} Integration service for existing businesses
    224       \begin{itemize}
    225         \item Core merchant backend software (cryptography, database)
    226         \item Back-office interface for staff
    227         \item Frontend integration (E-commerce, Point-of-sale)
    228       \end{itemize}
    229     \item {\bf Wallet:} Consumer-controlled applications for e-cash
    230       \begin{itemize}
    231         \item Multi-platform wallet software (for browsers \& mobile phones)
    232         \item Wallet backup storage providers
    233         \item {\bf Anastasis}: Recovery of lost wallets based on secret splitting
    234       \end{itemize}
    235   \end{itemize}
    236 \end{frame}
    237 
    238 
    239 \begin{frame}
    240   % TODO: replace with simplified NEW architecture picture!
    241 \frametitle{Architecture of Taler}
    242 \begin{center}
    243   \includegraphics[width=1\textwidth]{operations.png}
    244 \end{center}
    245 \end{frame}
    246 
    247 
    248 \begin{frame}{Usability of Taler}
    249   \framesubtitle{https://demo.taler.net/}
    250   \vfill
    251   \begin{enumerate}
    252   \item Install browser extension.
    253   \item Visit the {\tt bank.demo.taler.net} to withdraw coins.
    254   \item Visit the {\tt shop.demo.taler.net} to spend coins.
    255   \end{enumerate}
    256   \vfill
    257 \end{frame}
    258 
    259 
    260 \begin{frame}[c]{Example: The Taler Snack Machine\footnote{by M. Boss and D. Hofer}}
    261   \framesubtitle{Integration of a MDB/ICP to Taler gateway.\\Implementation of a NFC or QR-Code to Taler wallet interface.}
    262 	\vfill
    263 \begin{center}
    264   \includegraphics[width=1\textwidth]{design}
    265 \end{center}
    266 \end{frame}
    267 \begin{frame}[c]{Example: The Taler Snack Machine\footnote{by M. Boss and D. Hofer}}
    268   \framesubtitle{Integration of a MDB/ICP to Taler gateway.\\Implementation of a NFC or QR-Code to Taler wallet interface.}
    269 	\vfill
    270 \begin{center}
    271   \includegraphics[width=1\textwidth]{taler-in-use.png}
    272 \end{center}
    273 \end{frame}
    274 
    275 
    276 \begin{frame}{How does it work?}
    277   \framesubtitle{\url{https://taler.net/papers/thesis-dold-phd-2019.pdf}}
    278   We use a few ancient constructions:
    279   \begin{itemize}
    280   \item Cryptographic hash function (1989)
    281   \item Blind signature (1983)
    282   \item Schnorr signature (1989)
    283   \item Diffie-Hellman key exchange (1976)
    284   \item Cut-and-choose zero-knowledge proof (1985)
    285   \end{itemize}
    286 But of course we use modern instantiations.
    287 \end{frame}
    288 
    289 
    290 \begin{frame}{Definition: Taxability}
    291   We say Taler is taxable because:
    292   \begin{itemize}
    293   \item Merchant's income is visible from deposits.
    294   \item Hash of contract is part of deposit data.
    295   \item State can trace income and enforce taxation.
    296   \end{itemize}\pause
    297   Limitations:
    298   \begin{itemize}
    299   \item withdraw loophole
    300   \item {\em sharing} coins among family and friends
    301   \end{itemize}
    302 \end{frame}
    303 
    304 
    305 \begin{frame}{Exchange setup: Create a denomination key (RSA)}
    306    \begin{minipage}{6cm}
    307     \begin{enumerate}
    308     \item Pick random primes $p,q$.
    309     \item Compute $n := pq$, $\phi(n) = (p-1)(q-1)$
    310     \item Pick small $e < \phi(n)$ such that
    311           $d := e^{-1} \mod \phi(n)$ exists.
    312     \item Publish public key $(e,n)$.
    313     \end{enumerate}
    314   \end{minipage}
    315   \begin{minipage}{6cm}
    316   \begin{tikzpicture}
    317  \tikzstyle{def} = [node distance=1em and 1em, inner sep=0em, outer sep=.3em];
    318     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    319     \node (primes) [draw=none, below = of origin] at (0,0) {$(p, q)$};
    320     \node (seal) [def, draw=none, below left=of primes]{\includegraphics[width=0.15\textwidth]{seal.pdf}};
    321     \node (hammer) [def, draw=none, below right=of primes]{\includegraphics[width=0.15\textwidth]{hammer.pdf}};
    322 
    323     \tikzstyle{C} = [color=black, line width=1pt]
    324 
    325     \draw [<-, C] (primes) -- (origin) node [midway, above, sloped] (TextNode) {};
    326     \draw [<-, C] (seal) -- (primes) node [midway, above, sloped] (TextNode) {};
    327     \draw [<-, C] (hammer) -- (primes) node [midway, above, sloped] (TextNode) {};
    328   \end{tikzpicture}
    329 %  \includegraphics[width=0.4\textwidth]{seal.pdf}
    330   \end{minipage}
    331 \end{frame}
    332 
    333 
    334 \begin{frame}{Merchant: Create a signing key (EdDSA)}
    335   \begin{minipage}{6cm}
    336     \begin{itemize}
    337   \item pick random $m \mod o$ as private key
    338   \item $M = mG$ public key
    339   \end{itemize}
    340   \end{minipage}
    341   \begin{minipage}{6cm}
    342   \begin{tikzpicture}
    343    \tikzstyle{def} = [node distance= 1em and 1em, inner sep=0em, outer sep=.3em];
    344     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    345     \node (m) [draw=none, below = of origin] at (0,0) {$m$};
    346     \node (seal) [draw=none, below=of m]{M};
    347    \tikzstyle{C} = [color=black, line width=1pt]
    348 
    349     \draw [<-, C] (m) -- (origin) node [midway, above, sloped] (TextNode) {};
    350     \draw [<-, C] (seal) -- (primes) node [midway, above, sloped] (TextNode) {};
    351   \end{tikzpicture}
    352   \end{minipage}
    353   \parbox[t]{3cm}{{\bf Capability:} $m \Rightarrow$ }
    354   \raisebox{\dimexpr-\height+\baselineskip}{\includegraphics[width=0.1\textwidth]{merchant-sign.pdf}}
    355 \end{frame}
    356 
    357 
    358 \begin{frame}{Customer: Create a planchet (EdDSA)}
    359   \begin{minipage}{8cm}
    360   \begin{itemize}
    361   \item Pick random $c \mod o$ private key
    362   \item $C = cG$ public key
    363   \end{itemize}
    364   \end{minipage}
    365   \begin{minipage}{4cm}
    366   \begin{tikzpicture}
    367    \tikzstyle{def} = [node distance= 1em and 1em, inner sep=0em, outer sep=.3em];
    368     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    369     \node (c) [draw=none, below = of origin] at (0,0) {$c$};
    370     \node (planchet) [draw=none, below=of c]{\includegraphics[width=0.4\textwidth]{planchet.pdf}};
    371     \tikzstyle{C} = [color=black, line width=1pt]
    372 
    373     \draw [<-, C] (c) -- (origin) node [midway, above, sloped] (TextNode) {};
    374     \draw [<-, C] (planchet) -- (c) node [midway, above, sloped] (TextNode) {};
    375   \end{tikzpicture}
    376   \end{minipage}
    377   \parbox[t]{3cm}{{\bf Capability:} $c \Rightarrow$ }
    378   \raisebox{\dimexpr-\height+\baselineskip}{\includegraphics[width=0.1\textwidth]{planchet-sign.pdf}}
    379 \end{frame}
    380 
    381 
    382 \begin{frame}{Customer: Blind planchet (RSA)}
    383   \begin{minipage}{6cm}
    384     \begin{enumerate}
    385     \item Obtain public key $(e,n)$
    386     \item Compute $f := FDH(C)$, $f < n$.
    387     \item Pick blinding factor $b \in \mathbb Z_n$
    388     \item Transmit $f' := f b^e \mod n$
    389     \end{enumerate}
    390   \end{minipage}
    391   \begin{minipage}{6cm}
    392   \begin{tikzpicture}
    393    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    394     \node (origin) at (0,0) {\includegraphics[width=0.2\textwidth]{dice.pdf}};
    395     \node (b) [def, draw=none, below = of origin] at (0,-0.2) {$b$};
    396     \node (blinded) [def, draw=none, below right=of b]{\includegraphics[width=0.2\textwidth]{blinded.pdf}};
    397     \node (planchet) [def, draw=none, above right=of blinded]{\includegraphics[width=0.15\textwidth]{planchet.pdf}};
    398     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
    399     \tikzstyle{C} = [color=black, line width=1pt]
    400 
    401     \draw [<-, C] (b) -- (origin) node [midway, above, sloped] (TextNode) {};
    402     \draw [<-, C] (blinded) -- (planchet) node [midway, above, sloped] (TextNode) {};
    403     \draw [<-, C] (blinded) -- (b) node [midway, above, sloped] (TextNode) {};
    404     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
    405   \end{tikzpicture}
    406   \end{minipage}
    407 \end{frame}
    408 
    409 
    410 \begin{frame}{Exchange: Blind sign (RSA)}
    411    \begin{minipage}{6cm}
    412     \begin{enumerate}
    413     \item Receive $f'$.
    414     \item Compute $s' := f'^d \mod n$.
    415     \item Send signature $s'$.
    416     \end{enumerate}
    417    \end{minipage}
    418   \begin{minipage}{6cm}
    419   \begin{tikzpicture}
    420    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    421     \node (hammer) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{hammer.pdf}};
    422     \node (signed) [def, draw=none, below left=of hammer]{\includegraphics[width=0.2\textwidth]{sign.pdf}};
    423     \node (blinded) [def, draw=none, above left=of signed]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    424     \node (customer) [node distance=4em and 0.5em, draw, below =of signed]{Customer};
    425     \tikzstyle{C} = [color=black, line width=1pt]
    426 
    427     \draw [<-, C] (signed) -- (hammer) node [midway, above, sloped] (TextNode) {};
    428     \draw [<-, C] (signed) -- (blinded) node [midway, above, sloped] (TextNode) {};
    429     \draw [<-, C] (customer) -- (signed) node [midway, above, sloped] (TextNode) {{\small transmit}};
    430   \end{tikzpicture}
    431   \end{minipage}
    432 \end{frame}
    433 
    434 
    435 \begin{frame}{Customer: Unblind coin (RSA)}
    436   \begin{minipage}{6cm}
    437    \begin{enumerate}
    438     \item Receive $s'$.
    439     \item Compute $s := s' b^{-1} \mod n$ % \\
    440     % ($(f')^d = (f b^e)^d = f^d b$).
    441     \end{enumerate}
    442    \end{minipage}
    443   \begin{minipage}{6cm}
    444   \begin{tikzpicture}
    445    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    446     \node (b) [def, draw=none] at (0,0) {$b$};
    447     \node (coin) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
    448     \node (signed) [def, draw=none, above left=of coin]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
    449     \tikzstyle{C} = [color=black, line width=1pt]
    450 
    451     \draw [<-, C] (coin) -- (b) node [midway, above, sloped] (TextNode) {};
    452     \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode) {};
    453   \end{tikzpicture}
    454   \end{minipage}
    455 \end{frame}
    456 
    457 
    458 \begin{frame}{Customer: Build shopping cart}
    459   \begin{center}
    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]{shop.pdf}};
    463     \node (cart) [draw=none, below=of m]{\includegraphics[width=0.2\textwidth]{cart.pdf}};
    464     \node (merchant) [node distance=4em and 0.5em, draw, below =of cart]{Merchant};
    465     \tikzstyle{C} = [color=black, line width=1pt];
    466     \draw [<-, C] (cart) -- (origin) node [midway, above, sloped] (TextNode) {};
    467     \draw [<-, C] (merchant) -- (cart) node [midway, above, sloped] (TextNode) {{\small transmit}};
    468   \end{tikzpicture}
    469   \end{center}
    470 \end{frame}
    471 
    472 
    473 \begin{frame}{Merchant: Propose contract (EdDSA)}
    474    \begin{minipage}{6cm}
    475    \begin{enumerate}
    476     \item Complete proposal $D$.
    477     \item Send $D$, $EdDSA_m(D)$
    478     \end{enumerate}
    479    \end{minipage}
    480   \begin{minipage}{6cm}
    481   \begin{tikzpicture}
    482    \tikzstyle{def} = [node distance=2em and 0.5em, inner sep=0em, outer sep=.3em];
    483     \node (cart) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{cart.pdf}};
    484     \node (proposal) [def, draw=none, below right=of cart]{\includegraphics[width=0.5\textwidth]{merchant_propose.pdf}};
    485     \node (customer) [node distance=4em and 0.5em, draw, below =of proposal]{Customer};
    486     \tikzstyle{C} = [color=black, line width=1pt];
    487     \node (sign) [def, draw=none, above right=of proposal] {$m$};
    488     \tikzstyle{C} = [color=black, line width=1pt]
    489 
    490     \draw [<-, C] (proposal) -- (sign) node [midway, above, sloped] (TextNode) {};
    491     \draw [<-, C] (proposal) -- (cart) node [midway, above, sloped] (TextNode) {};
    492     \draw [<-, C] (customer) -- (proposal) node [midway, above, sloped] (TextNode) {{\small transmit}};
    493   \end{tikzpicture}
    494   \end{minipage}
    495 \end{frame}
    496 
    497 
    498 \begin{frame}{Customer: Spend coin (EdDSA)}
    499   \begin{minipage}{6cm}
    500    \begin{enumerate}
    501     \item Receive proposal $D$, $EdDSA_m(D)$.
    502     \item Send $s$, $C$, $EdDSA_c(D)$
    503     \end{enumerate}
    504    \end{minipage}
    505   \begin{minipage}{6cm}
    506   \begin{tikzpicture}
    507    \tikzstyle{def} = [node distance=2em and 0.4em, inner sep=0em, outer sep=.3em];
    508     \node (proposal) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{merchant_propose.pdf}};
    509     \node (contract) [def, draw=none, below right=of cart]{\includegraphics[width=0.3\textwidth]{contract.pdf}};
    510     \node (c) [def, draw=none, above=of contract] {$c$};
    511     \node (merchant) [node distance=4em and 0.5em, draw, below=of contract]{Merchant};
    512     \node (coin) [def, draw=none, right=of contract]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
    513     \tikzstyle{C} = [color=black, line width=1pt]
    514 
    515     \draw [<-, C] (contract) -- (c) node [midway, above, sloped] (TextNode) {};
    516     \draw [<-, C] (contract) -- (proposal) node [midway, above, sloped] (TextNode) {};
    517     \draw [<-, C] (merchant) -- (contract) node [midway, above, sloped] (TextNode) {{\small transmit}};
    518     \draw [<-, C] (merchant) -- (coin) node [midway, below, sloped] (TextNode) {{\small transmit}};
    519   \end{tikzpicture}
    520   \end{minipage}
    521 \end{frame}
    522 
    523 
    524 \begin{frame}{Merchant and Exchange: Verify coin (RSA)}
    525 \framesubtitle{\url{https://taler.net/papers/euro-bearer-online-2021.pdf}}
    526 \begin{minipage}{6cm}
    527  \begin{equation*}
    528    s^e \stackrel{?}{\equiv} FDH(C) \mod n
    529    \end{equation*}
    530    \end{minipage}
    531   \begin{minipage}{6cm}
    532   \begin{minipage}{0.2\textwidth}
    533     \includegraphics[width=\textwidth]{coin.pdf}
    534   \end{minipage}
    535   $\stackrel{?}{\Leftrightarrow}$
    536   \begin{minipage}{0.2\textwidth}
    537     \includegraphics[width=\textwidth]{seal.pdf}
    538   \end{minipage}
    539   \end{minipage}
    540   \vfill
    541   The exchange does not only verify the signature, but also
    542   checks that the coin was not double-spent.
    543   \vfill
    544   \pause
    545   \begin{center}
    546   {\bf Taler is an online payment system.}
    547   \end{center}
    548   \vfill
    549 \end{frame}
    550 
    551 
    552 \begin{frame}{Giving change}
    553   It would be inefficient to pay EUR 100 with 1 cent coins!
    554   \begin{itemize}
    555   \item Denomination key represents value of a coin.
    556   \item Exchange may offer various denominations for coins.
    557   \item Wallet may not have exact change!
    558   \item Usability requires ability to pay given sufficient total funds.
    559   \end{itemize}\pause
    560   Key goals:
    561   \begin{itemize}
    562   \item maintain unlinkability
    563   \item maintain taxability of transactions
    564   \end{itemize}\pause
    565   Method:
    566   \begin{itemize}
    567     \item Contract can specify to only pay {\em partial value} of a coin.
    568     \item Exchange allows wallet to obtain {\em unlinkable change}
    569       for remaining coin value.
    570   \end{itemize}
    571 \end{frame}
    572 
    573 
    574 \begin{frame}{Diffie-Hellman (ECDH)}
    575   \begin{minipage}{8cm}
    576    \begin{enumerate}
    577     \item Create private keys $c,t \mod o$
    578     \item Define $C = cG$
    579     \item Define $T = tG$
    580     \item Compute DH \\ $cT = c(tG) = t(cG) = tC$
    581     \end{enumerate}
    582    \end{minipage}
    583   \begin{minipage}{6cm}
    584   \begin{tikzpicture}
    585    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    586     \node (t) [def, draw=none] at (0,0) {$t$};
    587     \node (ct) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{dh.pdf}};
    588     \node (c) [def, draw=none, above left= of ct]  {$c$};
    589     \tikzstyle{C} = [color=black, line width=1pt]
    590 
    591     \draw [<-, C] (ct) -- (c) node [midway, above, sloped] (TextNode) {};
    592     \draw [<-, C] (ct) -- (t) node [midway, above, sloped] (TextNode) {};
    593   \end{tikzpicture}
    594   \end{minipage}
    595 \end{frame}
    596 
    597 
    598 \begin{frame}{Strawman solution}
    599   \begin{minipage}{8cm}
    600     Given partially spent private coin key $c_{old}$:
    601    \begin{enumerate}
    602 %    \item Let $C_{old} := c_{old}G$ (as before)
    603     \item Pick random $c_{new} \mod o$ private key
    604     \item $C_{new} = c_{new}G$ public key
    605     \item Pick random $b_{new}$
    606     \item Compute $f_{new} := FDH(C_{new})$, $m < n$.
    607     \item Transmit $f'_{new} := f_{new} b_{new}^e \mod n$
    608    \end{enumerate}
    609    ... and sign request for change with $c_{old}$.
    610    \end{minipage}
    611   \begin{minipage}{4cm}
    612   \begin{tikzpicture}
    613    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
    614     \node (blinded) [def, draw=none]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    615     \node (planchet) [def, draw=none, above left= of blinded]  {\includegraphics[width=0.15\textwidth]{planchet.pdf}};
    616     \node (cnew) [def, draw=none, above= of planchet]  {$c_{new}$};
    617     \node (bnew) [def, draw=none, above right= of blinded]  {$b_{new}$};
    618     \node (dice1) [def, draw=none, above = of cnew]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
    619     \node (dice2) [def, draw=none, above = of bnew]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
    620     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
    621 
    622     \tikzstyle{C} = [color=black, line width=1pt]
    623 
    624     \draw [<-, C] (cnew) -- (dice1) node [midway, above, sloped] (TextNode) {};
    625     \draw [<-, C] (planchet) -- (cnew) node [midway, above, sloped] (TextNode) {};
    626     \draw [<-, C] (bnew) -- (dice2) node [midway, above, sloped] (TextNode) {};
    627     \draw [<-, C] (blinded) -- (planchet) node [midway, above, sloped] (TextNode) {};
    628     \draw [<-, C] (blinded) -- (bnew) node [midway, above, sloped] (TextNode) {};
    629     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
    630   \end{tikzpicture}
    631   \end{minipage}
    632   \pause
    633   \vfill
    634   {\bf Problem: Owner of $c_{new}$ may differ from owner of $c_{old}$!}
    635 \end{frame}
    636 
    637 
    638 \begin{frame}{Customer: Transfer key setup (ECDH)}
    639   \begin{minipage}{8cm}
    640     Given partially spent private coin key $c_{old}$:
    641    \begin{enumerate}
    642     \item Let $C_{old} := c_{old}G$ (as before)
    643     \item Create random private transfer key $t \mod o$
    644     \item Compute $T := tG$
    645     \item Compute $X := c_{old}(tG) = t(c_{old}G) = tC_{old}$
    646     \item Derive $c_{new}$ and $b_{new}$ from $X$
    647     \item Compute $C_{new} := c_{new}G$
    648     \item Compute $f_{new} := FDH(C_{new})$
    649     \item Transmit $f_{new}' := f_{new} b_{new}^e$
    650     \end{enumerate}
    651    \end{minipage}
    652   \begin{minipage}{4cm}
    653   \begin{tikzpicture}
    654    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
    655     \node (t) [def, draw=none] at (0,0) {$t$};
    656     \node (dice) [def, draw=none, above = of t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
    657     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
    658     \node (d) [def, draw=none, above left= of dh]  {$c_{old}$};
    659     \node (cp) [def, draw=none, below left= of dh]  {$c_{new}$};
    660     \node (bp) [def, draw=none, below right= of dh]  {$b_{new}$};
    661     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    662     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
    663 
    664     \tikzstyle{C} = [color=black, line width=1pt]
    665 
    666     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
    667     \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
    668     \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
    669     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
    670     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
    671     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
    672     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
    673     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
    674   \end{tikzpicture}
    675   \end{minipage}
    676 \end{frame}
    677 
    678 
    679 \begin{frame}{Cut-and-Choose}
    680   \begin{minipage}{4cm}
    681   \begin{tikzpicture}
    682    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
    683     \node (t) [def, draw=none] at (0,0) {$t_1$};
    684     \node (dice) [def, draw=none, above = of t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
    685     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
    686     \node (d) [def, draw=none, above left= of dh]  {$c_{old}$};
    687     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,1}$};
    688     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,1}$};
    689     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    690     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
    691 
    692     \tikzstyle{C} = [color=black, line width=1pt]
    693 
    694     \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
    695     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
    696     \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
    697     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
    698     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
    699     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
    700     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
    701     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
    702   \end{tikzpicture}
    703   \end{minipage}
    704   \begin{minipage}{4cm}
    705   \begin{tikzpicture}
    706    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
    707     \node (t) [def, draw=none] at (0,0) {$t_2$};
    708     \node (dice) [def, draw=none, above = of t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
    709     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
    710     \node (d) [def, draw=none, above left= of dh]  {$c_{old}$};
    711     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,2}$};
    712     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,2}$};
    713     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    714     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
    715 
    716     \tikzstyle{C} = [color=black, line width=1pt]
    717 
    718     \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
    719     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
    720     \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
    721     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
    722     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
    723     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
    724     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
    725     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
    726   \end{tikzpicture}
    727   \end{minipage}
    728   \begin{minipage}{4cm}
    729   \begin{tikzpicture}
    730    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
    731     \node (t) [def, draw=none] at (0,0) {$t_3$};
    732     \node (dice) [def, draw=none, above = of t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
    733     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
    734     \node (d) [def, draw=none, above left= of dh]  {$c_{old}$};
    735     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,3}$};
    736     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,3}$};
    737     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    738     \node (exchange) [node distance=4em and 0.5em, draw, below =of blinded]{Exchange};
    739 
    740     \tikzstyle{C} = [color=black, line width=1pt]
    741 
    742     \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
    743     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
    744     \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
    745     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
    746     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
    747     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
    748     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
    749     \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped] (TextNode) {{\small transmit}};
    750   \end{tikzpicture}
    751   \end{minipage}
    752 \end{frame}
    753 
    754 
    755 \begin{frame}{Exchange: Choose!}
    756    \begin{center}
    757     \item Exchange sends back random $\gamma \in \{ 1, 2, 3 \}$ to the customer.
    758     \end{center}
    759 \end{frame}
    760 
    761 
    762 \begin{frame}{Customer: Reveal}
    763    \begin{enumerate}
    764    \item If $\gamma = 1$, send $t_2$, $t_3$ to exchange
    765    \item If $\gamma = 2$, send $t_1$, $t_3$ to exchange
    766    \item If $\gamma = 3$, send $t_1$, $t_2$ to exchange
    767   \end{enumerate}
    768 \end{frame}
    769 
    770 
    771 \begin{frame}{Exchange: Verify ($\gamma = 2$)}
    772   \begin{minipage}{4cm}
    773   \begin{tikzpicture}
    774    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
    775     \node (h) [def, draw=none] at (0,0) {$t_1$};
    776     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
    777     \node (d) [def, draw=none, above left= of dh]  {$C_{old}$};
    778     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,1}$};
    779     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,1}$};
    780     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    781 
    782     \tikzstyle{C} = [color=black, line width=1pt]
    783 
    784     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
    785     \draw [<-, C] (dh) -- (h) node [midway, above, sloped] (TextNode) {};
    786     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
    787     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
    788     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
    789     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
    790   \end{tikzpicture}
    791   \end{minipage}
    792   \begin{minipage}{4cm}
    793  \
    794   \end{minipage}
    795   \begin{minipage}{4cm}
    796   \begin{tikzpicture}
    797    \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
    798     \node (h) [def, draw=none] at (0,0) {$t_3$};
    799     \node (dh) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
    800     \node (d) [def, draw=none, above left= of dh]  {$C_{old}$};
    801     \node (cp) [def, draw=none, below left= of dh]  {$c_{new,3}$};
    802     \node (bp) [def, draw=none, below right= of dh]  {$b_{new,3}$};
    803     \node (blinded) [def, draw=none, below right=of cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    804 
    805     \tikzstyle{C} = [color=black, line width=1pt]
    806 
    807     \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
    808     \draw [<-, C] (dh) -- (h) node [midway, above, sloped] (TextNode) {};
    809     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
    810     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
    811     \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
    812     \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
    813   \end{tikzpicture}
    814   \end{minipage}
    815 \end{frame}
    816 
    817 
    818 \begin{frame}{Exchange: Blind sign change (RSA)}
    819    \begin{minipage}{6cm}
    820     \begin{enumerate}
    821     \item Take $f_{new,\gamma}'$.
    822     \item Compute $s' := f_{new,\gamma}'^d \mod n$.
    823     \item Send signature $s'$.
    824     \end{enumerate}
    825    \end{minipage}
    826   \begin{minipage}{6cm}
    827   \begin{tikzpicture}
    828    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    829     \node (hammer) [def, draw=none] at (0,0) {\includegraphics[width=0.15\textwidth]{hammer.pdf}};
    830     \node (signed) [def, draw=none, below left=of hammer]{\includegraphics[width=0.2\textwidth]{sign.pdf}};
    831     \node (blinded) [def, draw=none, above left=of signed]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
    832     \node (customer) [node distance=4em and 0.5em, draw, below =of signed]{Customer};
    833     \tikzstyle{C} = [color=black, line width=1pt]
    834 
    835     \draw [<-, C] (signed) -- (hammer) node [midway, above, sloped] (TextNode) {};
    836     \draw [<-, C] (signed) -- (blinded) node [midway, above, sloped] (TextNode) {};
    837     \draw [<-, C] (customer) -- (signed) node [midway, above, sloped] (TextNode) {{\small transmit}};
    838   \end{tikzpicture}
    839   \end{minipage}
    840 \end{frame}
    841 
    842 
    843 \begin{frame}{Customer: Unblind change (RSA)}
    844   \begin{minipage}{6cm}
    845    \begin{enumerate}
    846     \item Receive $s'$.
    847     \item Compute $s := s' b_{new,\gamma}^{-1} \mod n$.
    848     \end{enumerate}
    849    \end{minipage}
    850   \begin{minipage}{6cm}
    851   \begin{tikzpicture}
    852    \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer sep=.3em];
    853     \node (b) [def, draw=none] at (0,0) {$b_{new,\gamma}$};
    854     \node (coin) [def, draw=none, below left=of b]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
    855     \node (signed) [def, draw=none, above left=of coin]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
    856     \tikzstyle{C} = [color=black, line width=1pt]
    857 
    858     \draw [<-, C] (coin) -- (b) node [midway, above, sloped] (TextNode) {};
    859     \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode) {};
    860   \end{tikzpicture}
    861   \end{minipage}
    862 \end{frame}
    863 
    864 
    865 \begin{frame}{Exchange: Allow linking change}
    866   \begin{minipage}{7cm}
    867     \begin{center}
    868     Given $C_{old}$
    869 
    870     \vspace{1cm}
    871 
    872     return $T_\gamma$, $s := s' b_{new,\gamma}^{-1} \mod n$.
    873   \end{center}
    874    \end{minipage}
    875   \begin{minipage}{5cm}
    876    \begin{tikzpicture}
    877     \tikzstyle{def} = [node distance= 3em and 0.5em, inner sep=0.5em, outer sep=.3em];
    878     \node (co) [def, draw=none] at (0,0) {$C_{old}$};
    879     \node (T) [def, draw=none, below left=of co]{$T_\gamma$};
    880     \node (sign) [def, draw=none, below right=of co]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
    881     \node (customer) [def, draw, below right=of T] {Customer};
    882 
    883     \tikzstyle{C} = [color=black, line width=1pt]
    884 
    885     \draw [<-, C] (T) -- (co) node [midway, above, sloped] (TextNode) {};
    886     \draw [<-, C] (sign) -- (co) node [midway, above, sloped] (TextNode) {};
    887     \draw [<-, C] (customer) -- (T) node [midway, above, sloped] (TextNode) {link};
    888     \draw [<-, C] (customer) -- (sign) node [midway, above, sloped] (TextNode) {link};
    889   \end{tikzpicture}
    890   \end{minipage}
    891 \end{frame}
    892 
    893 
    894 \begin{frame}{Customer: Link (threat!)}
    895   \begin{minipage}{6.3cm}
    896    \begin{enumerate}
    897     \item Have $c_{old}$.
    898     \item Obtain $T_\gamma$, $s$ from exchange
    899     \item Compute $X_\gamma = c_{old}T_\gamma$
    900     \item Derive $c_{new,\gamma}$ and $b_{new,\gamma}$ from $X_\gamma$
    901     \item Unblind $s := s' b_{new,\gamma}^{-1} \mod n$
    902   \end{enumerate}
    903 
    904    \end{minipage}
    905   \begin{minipage}{5.7cm}
    906   \begin{tikzpicture}
    907   \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer sep=.3em];
    908     \node (T) [def, draw=none] at (0,0) {$T_\gamma$};
    909     \node (exchange) [def, inner sep=0.5em, draw, above left=of T] {Exchange};
    910     \node (signed) [def, draw=none, below left=of T]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
    911     \node (dh) [def, draw=none, below right=of T]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
    912     \node (bp) [def, draw=none, below left= of dh]  {$b_{new,\gamma}$};
    913     \node (co) [def, draw=none, above right= of dh]  {$c_{old}$};
    914     \node (cp) [def, draw=none, below= of dh]  {$c_{new,\gamma}$};
    915     \node (coin) [def, draw=none, below left = of bp]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
    916     \node (psign) [def, node distance=2.5em and 0em, draw=none, below = of cp]{\includegraphics[width=0.2\textwidth]{planchet-sign.pdf}};
    917 
    918     \tikzstyle{C} = [color=black, line width=1pt]
    919 
    920     \draw [<-, C] (dh) -- (co) node [midway, above, sloped] (TextNode) {};
    921     \draw [<-, C] (dh) -- (T) node [midway, above, sloped] (TextNode) {};
    922     \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
    923     \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
    924     \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode) {};
    925     \draw [<-, C] (coin) -- (bp) node [midway, above, sloped] (TextNode) {};
    926     \draw [<-, C] (T) -- (exchange) node [midway, above, sloped] (TextNode) {link};
    927     \draw [<-, C] (signed) -- (exchange) node [midway, below, sloped] (TextNode) {link};
    928     \draw [<-, C, double] (psign) -- (cp) node [midway, below, sloped] (TextNode) {};
    929   \end{tikzpicture}
    930   \end{minipage}
    931 \end{frame}
    932 
    933 
    934 \begin{frame}{Refresh protocol summary}
    935   \begin{itemize}
    936   \item Customer asks exchange to convert old coin to new coin
    937   \item Protocol ensures new coins can be recovered from old coin
    938   \item[$\Rightarrow$] New coins are owned by the same entity!
    939   \end{itemize}
    940   Thus, the refresh protocol allows:
    941   \begin{itemize}
    942   \item To give unlinkable change.
    943   \item To give refunds to an anonymous customer.
    944   \item To expire old keys and migrate coins to new ones.
    945   \item To handle protocol aborts.
    946   \end{itemize}
    947   \noindent
    948   \begin{center}
    949     \bf
    950    Transactions via refresh are equivalent to {\em sharing} a wallet.
    951 \end{center}
    952 \end{frame}
    953 
    954 
    955 \begin{frame}{Taler: Project Status}
    956 \framesubtitle{\url{https://git.taler.net/}}
    957 \begin{itemize}
    958     \item Cryptographic protocols and core exchange component are stable
    959     \item Internal alpha deployment with a commercial bank in progress
    960     \item Discussions with various central banks
    961     \item R\&D focus:
    962     \begin{itemize}
    963     \item P2P payments with KYC
    964     \item Privacy-preserving age restrictions on coins
    965     \item Programmable money
    966     \item UX for financial inclusion
    967     \end{itemize}
    968   \end{itemize}
    969 \end{frame}
    970 
    971 
    972 \begin{frame}{How to support?}
    973   \begin{description}
    974     \item[Join:] {\small \url{https://lists.gnu.org/mailman/listinfo/taler}}, \\
    975                  \url{irc://irc.freenode.net/\#taler}
    976     \item[Develop:] \url{https://bugs.taler.net/}, \url{https://git.taler.net/}
    977     \item[Teach:] \url{https://docs.taler.net/}, \url{https://git.taler.net/marketing.git}
    978     \item[Translate:] \url{https://weblate.taler.net/}, \url{translation-volunteer@taler.net}
    979     \item[Integrate:] \url{https://docs.taler.net/}
    980     \item[Donate:] \url{https://gnunet.org/ev}
    981     \item[Invest:] \url{https://taler-systems.com/}
    982   \end{description}
    983 \end{frame}
    984 
    985 
    986 \begin{frame}
    987 \frametitle{Do you have any questions?}
    988 \framesubtitle{\url{https://taler.net/en/bibliography.html}}
    989 \vfill
    990 References:
    991 {\tiny
    992   \begin{itemize}
    993  \item{David Chaum, Christian Grothoff and Thomas Moser.
    994        {\em How to issue a central bank digital currency}.
    995        {\bf SNB Working Papers, 2021}.}
    996  \item{Belen Barros Pena.
    997        {\em Understanding and designing technologies for everyday financial collaboration}.
    998        {\bf University of Northumbria at Newcastle (PhD thesis)}, 2021.}
    999  \item{Dominik Samuel Meister and Dennis Neufeld.
   1000        {\em Anastasis: Password-less key recovery via multi-factor multi-party authentication}.
   1001        {\bf Bern University of Applied Sciences (BS thesis)}, 2020.}
   1002  \item{Florian Dold.
   1003        {\em The GNU Taler System: Practical and Provably Secure Electronic Payments}.
   1004        {\bf University of Rennes 1 (PhD thesis)}, 2019.}
   1005  \item{Christian Grothoff and Alex Pentland.
   1006        {\em Digital cash and privacy: What are the alternatives to Libra?}
   1007        {\bf MIT Media Lab}, 2019.}
   1008  \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci.
   1009        {\em Enabling Secure Web Payments with GNU Taler}.
   1010        {\bf SPACE 2016}.}
   1011  \item{David Chaum, Amos Fiat and Moni Naor.
   1012        {\em Untraceable electronic cash}.
   1013        {\bf Proceedings on Advances in Cryptology, 1990}.}
   1014 \end{itemize}
   1015 }
   1016 \end{frame}
   1017 
   1018 
   1019 \end{document}