marketing

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

2024-datenspuren.tex (23432B)


      1 \pdfminorversion=3
      2 \documentclass[fleqn,xcolor={usenames,dvipsnames},aspectratio=169]{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[normalem]{ulem}
     13 \usepackage{listings}
     14 \usepackage{adjustbox}
     15 \usepackage{array}
     16 \usepackage{bbding}
     17 \usepackage{relsize}
     18 \usepackage{graphicx}
     19 \usepackage{tikz,eurosym,calc}
     20 \usetikzlibrary{tikzmark}
     21 \usetikzlibrary{shapes,arrows,arrows.meta}
     22 \usetikzlibrary{positioning,fit,patterns}
     23 \usetikzlibrary{calc}
     24 \usepackage{multicol}
     25 \usepackage{pgf-umlsd}
     26 \usepackage{relsize}
     27 
     28 
     29 % CSS
     30 \lstdefinelanguage{CSS}{
     31   basicstyle=\ttfamily\scriptsize,
     32   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},
     33   sensitive=true,
     34   morecomment=[l]{//},
     35   morecomment=[s]{/*}{*/},
     36   morestring=[b]',
     37   morestring=[b]",
     38   alsoletter={:},
     39   alsodigit={-}
     40 }
     41 
     42 % JavaScript
     43 \lstdefinelanguage{JavaScript}{
     44   basicstyle=\ttfamily\scriptsize,
     45   morekeywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
     46   morecomment=[s]{/*}{*/},
     47   morecomment=[l]//,
     48   morestring=[b]",
     49   morestring=[b]'
     50 }
     51 
     52 \lstdefinelanguage{HTML5}{
     53   basicstyle=\ttfamily\scriptsize,
     54   language=html,
     55   sensitive=true,
     56   alsoletter={<>=-},
     57   morecomment=[s]{<!-}{-->},
     58   tag=[s],
     59   otherkeywords={
     60   % General
     61   >,
     62   % Standard tags
     63 	<!DOCTYPE,
     64   </html, <html, <head, <title, </title, <style, </style, <link, </head, <meta, />,
     65 	% body
     66 	</body, <body,
     67 	% Divs
     68 	</div, <div, </div>,
     69 	% Paragraphs
     70 	</p, <p, </p>,
     71 	% scripts
     72 	</script, <script,
     73   % More tags...
     74   <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, <source, <iframe, </iframe>, </video>, <image, </image>
     75   },
     76   ndkeywords={
     77   % General
     78   =,
     79   % HTML attributes
     80   charset=, src=, id=, width=, height=, style=, type=, rel=, href=,
     81   % SVG attributes
     82   fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, repeatCount=, xlink:href=,
     83   % CSS properties
     84   margin:, padding:, background-image:, border:, top:, left:, position:, width:, height:,
     85 	% CSS3 properties
     86   transform:, -moz-transform:, -webkit-transform:,
     87   animation:, -webkit-animation:,
     88   transition:,  transition-duration:, transition-property:, transition-timing-function:,
     89   }
     90 }
     91 
     92 \lstdefinelanguage{JavaScript}{
     93   basicstyle=\ttfamily\scriptsize,
     94   keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, for},
     95   keywordstyle=\color{blue}\bfseries,
     96   ndkeywords={class, export, boolean, throw, implements, import, this},
     97   ndkeywordstyle=\color{darkgray}\bfseries,
     98   identifierstyle=\color{black},
     99   sensitive=false,
    100   comment=[l]{//},
    101   morecomment=[s]{/*}{*/},
    102   commentstyle=\color{purple}\ttfamily,
    103   stringstyle=\color{red}\ttfamily,
    104   morestring=[b]',
    105   morestring=[b]"
    106 }
    107 
    108 \setbeamersize{description width=1em}
    109 
    110 \definecolor{blue}{rgb}{0,0,0.7}
    111 \newcommand{\orange}[1]{{\color{orange}#1}}
    112 \newcommand{\blue}[1]{{\color{blue}#1}}
    113 \newcommand{\red}[1]{{\color{red}#1}}
    114 
    115 \newcommand{\drawfrom}{\xleftarrow{\$}}
    116 \newcommand\Exists{%
    117 	  \mathop{\lower0.75ex\hbox{\ensuremath{%
    118 		  \mathlarger{\mathlarger{\mathlarger{\mathlarger{\exists}}}}}}}%
    119 	  \limits}
    120 
    121 \newcommand\Forall{%
    122 	  \mathop{\lower0.75ex\hbox{\ensuremath{%
    123 		  \mathlarger{\mathlarger{\mathlarger{\mathlarger{\forall}}}}}}}%
    124 	  \limits}
    125 
    126 
    127 \title{GNU Taler}
    128 %\subtitle{}
    129 
    130 \setbeamertemplate{navigation symbols}{ \includegraphics[width=1cm]{tud-logo.pdf} \includegraphics[width=0.4cm]{logo-esen.pdf} \includegraphics[width=1cm]{logo-GlsBank.png} \includegraphics[width=0.6cm]{logo-MagNetBank.pdf} \includegraphics[width=0.4cm]{logo-ps.pdf} \includegraphics[width=0.4cm]{logo-nlnet.pdf} \includegraphics[width=0.4cm]{logo-HomoDigitalis.pdf} \includegraphics[width=0.4cm]{logo-codeblau.pdf}  \includegraphics[width=1.4cm]{logo-tue.pdf}  \includegraphics[width=0.6cm]{logo-visualvest.pdf} \includegraphics[width=1cm]{inria.pdf} \includegraphics[width=0.4cm]{logo-bfh.pdf} \includegraphics[width=1.6cm]{fub.pdf} \includegraphics[width=0.4cm]{ashoka.png}  \includegraphics[width=0.4cm]{gnu.png} \includegraphics[width=1cm]{taler-logo-2021-inkscape.pdf} \hfill}
    131 %\setbeamercovered{transparent=1}
    132 
    133 \author{L. Wittmann, C. Grothoff}
    134 \date{\today}
    135 \institute{The GNU Project}
    136 
    137 
    138 \begin{document}
    139 
    140 \justifying
    141 
    142 \begin{frame}
    143   \begin{center}
    144     \LARGE {\bf GNU}
    145 
    146     \vfill
    147 %    \includegraphics[width=0.66\textwidth]{logo-2017-fr.pdf}
    148     \includegraphics[width=0.66\textwidth]{taler-logo-2021-inkscape.pdf}
    149   \end{center}
    150 
    151   \begin{center}
    152       \includegraphics[width=0.15\textwidth]{logo-EU.pdf}
    153       \includegraphics[width=0.15\textwidth]{logo-SBFI.pdf}
    154   \end{center}
    155 
    156 \begin{textblock*}{6cm}(.5cm,7.7cm) % {block width} (coords)
    157     {\Large {\bf \href{https://taler.net/}{taler.net}} \\
    158     \href{https://twitter.com/taler}{taler@twitter}}
    159 \end{textblock*}
    160 
    161 % Substitute based on who is giving the talk!
    162  \begin{textblock*}{6cm}(8.5cm,7.7cm) % {block width} (coords)
    163    {\hfill {\bf Christian Grothoff} \\
    164     \hfill {\bf \& Leo Wittmann } }
    165 \end{textblock*}
    166 
    167 \end{frame}
    168 
    169 \setbeamertemplate{navigation symbols}{\hfill \includegraphics[width=1cm]{taler-logo-2021-inkscape.pdf}}
    170 
    171 
    172 
    173 \begin{frame}
    174 \frametitle{Taler Overview}
    175 \begin{center}
    176 \begin{tikzpicture}
    177  \tikzstyle{def} = [node distance= 5em and 6.5em, inner sep=1em, outer sep=.3em];
    178  \node (origin) at (0,0) {};
    179  \node (exchange) [def,above=of origin,draw]{Exchange};
    180  \node (customer) [def, draw, below left=of origin] {Customer};
    181  \node (merchant) [def, draw, below right=of origin] {Merchant};
    182  \node (auditor) [def, draw, above right=of origin]{Auditor};
    183 % \node (regulator) [def, draw, above=of auditor]{CSSF};
    184 
    185  \tikzstyle{C} = [color=black, line width=1pt]
    186 
    187  \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] (TextNode) {withdraw coins};
    188  \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] (TextNode) {deposit coins};
    189  \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] (TextNode) {spend coins};
    190  \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode) {verify};
    191 % \draw [<-, C] (regulator) -- (auditor) node [midway, above, sloped] (TextNode) {report};
    192 
    193 \end{tikzpicture}
    194 \end{center}
    195 \end{frame}
    196 
    197 \begin{frame}
    198 \frametitle{Architecture of Taler}
    199 \begin{center}
    200   \includegraphics[width=1\textwidth]{operations.png}
    201 \end{center}
    202 \end{frame}
    203 
    204 
    205 \begin{frame}{Taler Exchange}
    206   The {\bf Exchange} is the core logic of the payment system.
    207 
    208   \begin{itemize}
    209     \item One exchange at minimum must be operated per currency
    210     \item Offers a REST API for merchants and customers
    211     \item Uses several helper processes for configuration and to
    212           interact with RTGS and cryptography
    213     \item KYC support via OAuth 2.0, KycAID or Persona APIs
    214     \item SPAs for AML and KYC processes
    215   \end{itemize}
    216 \end{frame}
    217 
    218 
    219 \begin{frame}{Taler: Exchange Architecture}
    220 \begin{center}
    221 \begin{tikzpicture}
    222  \tikzstyle{def} = [node distance=2em and 2.5em, inner sep=1em, outer sep=.3em];
    223  \node (origin) at (0,0) {};
    224  \node (httpd) [def,above=of origin,draw]{httpd};
    225  \node (secmod-rsa) [def, draw, right=of httpd] {secmod-rsa};
    226  \node (secmod-eddsa) [def, draw, left=of httpd] {secmod-eddsa};
    227  \node (postgres) [def, draw, below=of httpd]{Postgres};
    228  \node (aggregator) [def, draw, right=of postgres]{aggregator};
    229  \node (transfer) [def, draw, below left=of postgres]{transfer};
    230  \node (wirewatch) [def, draw, below right=of postgres]{wirewatch};
    231  \node (nexus) [def, draw, below=of postgres]{Nexus};
    232 
    233  \tikzstyle{C} = [color=black, line width=1pt]
    234 
    235  \draw [<->, C] (httpd) -- (postgres) node [midway, above, sloped] (TextNode) {};
    236  \draw [<->, C] (httpd) -- (secmod-rsa) node [midway, above, sloped] (TextNode) {};
    237  \draw [<->, C] (httpd) -- (secmod-eddsa) node [midway, above, sloped] (TextNode) {};
    238  \draw [<->, C] (aggregator) -- (postgres) node [midway, above, sloped] (TextNode) {};
    239  \draw [<->, C] (wirewatch) -- (postgres) node [midway, above, sloped] (TextNode) {};
    240  \draw [<->, C] (transfer) -- (postgres) node [midway, above, sloped] (TextNode) {};
    241  \draw [->, C] (transfer) -- (nexus) node [midway, above, sloped] (TextNode) {};
    242  \draw [<-, C] (wirewatch) -- (nexus) node [midway, above, sloped] (TextNode) {};
    243 \end{tikzpicture}
    244 \end{center}
    245 \end{frame}
    246 
    247 
    248 \begin{frame}{Taler Wallet}
    249   The {\bf Wallet} is the software run by consumers to store
    250   their digital cash and authorize transactions.
    251 
    252   \begin{minipage}{8cm}
    253   \begin{itemize}
    254     \item {\bf wallet-core} is the logic shared by all interfaces
    255     \item Applications exist for Android, F-Droid,
    256           WebExtension (Chrome, Chromium, Firefox, etc.), iOS 
    257     \item Features include:
    258       \begin{itemize}
    259       \item Multi-currency support
    260       \item Wallet-to-wallet payments (NFC or QR code)
    261       \item CRDT-like data model
    262       \end{itemize}
    263   \end{itemize}
    264   Can be integrated into other Apps if desired.
    265   \end{minipage}
    266   \begin{minipage}{3cm}
    267   \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103520.png}
    268   \end{minipage}
    269 \end{frame}
    270 
    271 
    272 \begin{frame}{Taler Auditor}
    273   The {\bf Auditor} is the software run by an independent auditor
    274   to validate the operation of an Exchange.
    275 
    276   \begin{itemize}
    277     \item REST API for additional report inputs by merchants (optional)
    278     \item Secure database replication logic ({\tt taler-auditor-sync})
    279     \item SPA for viewing results in real-time
    280   \end{itemize}
    281 \begin{center}
    282 \begin{tikzpicture}
    283  \tikzstyle{def} = [node distance=3em and 2.5em, inner sep=1em, outer sep=.3em];
    284  \node (origin) at (0,0) {Postgres (Auditor)};
    285  \node (httpd) [def,above=of origin,draw]{auditor-httpd};
    286   \node (spa) [def,above right=of origin,draw]{auditor-spa};
    287   \node (merchant) [def,above left=of origin,draw]{merchant};
    288  \node (report) [def,left=of origin,draw]{a-h-*};
    289  \node (wirereport) [def,right=of origin,draw]{a-h-wire-*};
    290  \node (postgres-E) [def, draw, below=of origin] {Exchange};
    291  \node (postgres-B) [def, draw, right=of postgres-E] {Bank};
    292 
    293  \tikzstyle{C} = [color=black, line width=1pt]
    294 
    295  \draw [->, C] (postgres-E) -- (origin) node [midway, above, sloped] (TextNode) {sync};
    296  \draw [<->, C] (httpd) -- (origin) node [midway, above, sloped] (TextNode) {};
    297  \draw [<->, C] (httpd) -- (spa) node [midway, above, sloped] (TextNode) {};
    298  \draw [->, C] (merchant) -- (httpd) node [midway, above, sloped] (TextNode) {};
    299  \draw [<->, C] (report) -- (origin) node [midway, above, sloped] (TextNode) {};
    300  \draw [<->, C] (wirereport) -- (origin) node [midway, above, sloped] (TextNode) {};
    301  \draw [<->, C] (wirereport) -- (postgres-B) node [midway, above, sloped] (TextNode) {nexus};
    302 \end{tikzpicture}
    303 \end{center}
    304 \end{frame}
    305 
    306 
    307 \begin{frame}{libeufin-nexus}
    308   libeufin-nexus allows Taler components to interact with a core banking system. It:
    309 
    310   \begin{itemize}
    311     \item provides an implementation of the Wire Gateway for the exchange
    312     \item supports EBICS 2.5 and 3.0
    313     \item other APIs such as FinTS or PSD2-style XS2A APIs can be added
    314       without requiring changes to the Exchange
    315     \item was tested with GLS Bank (DE) and Postfinance (CH) accounts and real EUR/CHF
    316   \end{itemize}
    317 \end{frame}
    318 
    319 
    320 \begin{frame}{libeufin-bank}
    321   libeufin-bank implements a standalone bank with a Web interface. It:
    322 
    323   \begin{itemize}
    324     \item provides the Taler Core Bank API for RESTful online banking
    325        using a Web interface (with multi-factor authentication)
    326     \item includes a Taler Wire Gateway for the exchange
    327     \item offers the Taler Bank Integration API to allow wallets
    328        to easily withdraw digital cash
    329     \item optionally provides the Taler Conversion Info API for currency
    330        conversion between fiat and regional currencies
    331     \item optionally integrates with libeufin-nexus to interact with
    332        a core banking system
    333   \end{itemize}
    334 \end{frame}
    335 
    336 
    337 \begin{frame}{Cashier App for Android}
    338 \begin{minipage}{6cm}
    339   \begin{itemize}
    340     \item Enables staff to convert cash to e-cash
    341     \item Staff has special bank accounts with limited funds
    342     \item Visitors can pay staff in cash to receive e-cash
    343   \end{itemize}
    344   \end{minipage}
    345   \begin{minipage}{3cm}
    346   \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103315.png}
    347   \end{minipage}
    348   \begin{minipage}{3cm}
    349   \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103325.png}
    350   \end{minipage}
    351 \end{frame}
    352 
    353 
    354 \begin{frame}{Cashless2ecash by Joel Haeberli}
    355   \begin{center}
    356   \includegraphics[width=0.8\textwidth]{cashless2ecash.png}
    357   \end{center}
    358 \end{frame}
    359 
    360 
    361 \begin{frame}{Challenger}
    362   Challenger allows clients to obtain validated address (KYC) data about
    363   users:
    364 
    365   \begin{itemize}
    366     \item Customizable Web-based process for address validation
    367     \item Can validate phone numbers, e-mail addresses or physical mailing addresses
    368     \item Provides an exchange-compatible OAuth 2.0 API
    369   \end{itemize}
    370 \end{frame}
    371 
    372 
    373 \begin{frame}{Depolymerization}
    374   Depolymerization is a bridge between GNU Taler and blockchains.
    375 
    376   \begin{itemize}
    377     \item Works on top of Bitcoin and Ethereum
    378           crypto-currencies, with the DLTs as the ``RTGS''
    379     \item Provides same API to Exchange as libeufin-nexus
    380   \end{itemize}
    381     \begin{center}
    382         \begin{tikzpicture}[
    383                 rect/.style={rectangle, draw=black, minimum width=30mm},
    384                 sym/.style={stealth-stealth, shorten >= 2pt, shorten <= 2pt},
    385                 block/.style={rectangle,draw=black,fill=black!10,minimum size=7mm},
    386             ]
    387 
    388             %% Architecture
    389             \node(Tt){Taler};
    390             \node[rect,below=0cm of Tt](Tc){Exchange};
    391             \node[rect,fit={(Tt) (Tc)}](T){};
    392 
    393             \node[rect,below=7mm of Tc](D) {\textbf{Depolymerization}};
    394 
    395             \node[rect,below=7mm of D](Bc){Node};
    396             \node[below=0cm of Bc](Bt){Blockchain};
    397             \node[rect,fit={(Bt) (Bc)}](B){};
    398 
    399             \draw[sym] (T) -- (D);
    400             \draw[sym] (D) -- (B);
    401 
    402             %% Blockchain
    403             \node[block,right=8mm of B] (1){};
    404             \node[block,right=4mm of 1] (2){};
    405             \node[block,right=4mm of 2] (3){};
    406             \node[block,right=4mm of 3] (4){};
    407             \node[block,right=4mm of 4] (5){};
    408             \node[block,right=4mm of 5] (6){};
    409             \draw[-stealth] (1) -- (2);
    410             \draw[-stealth] (2) -- (3);
    411             \draw[-stealth] (3) -- (4);
    412             \draw[-stealth] (4) -- (5);
    413             \draw[-stealth] (5) -- (6);
    414 
    415             \node[left=4mm of 1] (S){};
    416             \node[right=4mm of 6] (E){};
    417             \draw[-stealth] (S) -- (1);
    418             \draw[-stealth] (6) -- (E);
    419 
    420             %% Taler
    421             \node[block, below right=-7.5mm and 20.5mm of T] (off){Off-chain transactions};
    422             \node[above=-0.5mm of off] {\includegraphics[height=7mm]{taler-logo-2021-inkscape.pdf}};
    423 
    424             %% Depolymerization
    425             \node[right=11mm of D] {\small{Credit}};
    426             \node[right=50mm of D] {\small{Debit}};
    427             \draw[dashed,-stealth] (1.north) |- (off.west);
    428             \draw[dashed,-stealth] (off.east) -| (6.north);
    429         \end{tikzpicture}
    430     \end{center}
    431 \end{frame}
    432 
    433 
    434 
    435 \begin{frame}{Taler Merchant}
    436   The {\bf Merchant} is the software run by merchants to accept\\
    437   GNU Taler payments.
    438 
    439   \begin{minipage}{6cm}
    440   \begin{itemize}
    441     \item REST API for integration with e-commerce
    442     \item SPA provides Web interface for administration
    443     \item Features include:
    444       \begin{itemize}
    445       \item Multi-tenant support
    446       \item Refunds
    447       \item Templates
    448       \item Webhooks
    449       \item Inventory management (optional)
    450       \end{itemize}
    451   \end{itemize}
    452   \end{minipage}
    453   \begin{minipage}{7cm}
    454   \includegraphics[width=7cm]{screenshots/merchant-spa-settings}
    455   \end{minipage}
    456 \end{frame}
    457 
    458 
    459 \begin{frame}{Pretix Taler payment plugin}
    460 \begin{center}
    461 \includegraphics[width=0.5\textwidth]{screenshots/pretix.png}
    462 \end{center}
    463 
    464   Pretix is a ticket sales system.
    465 
    466   \begin{itemize}
    467     \item Pretix payment plugin enables payments via GNU Taler
    468     \item Developed by Pretix.eu for \EUR{3,000} on behalf of Taler Systems SA
    469   \end{itemize}
    470 \end{frame}
    471 
    472 
    473 \begin{frame}{WooCommerce Taler payment plugin}
    474 \begin{minipage}{8cm}
    475   \begin{itemize}
    476     \item WooCommerce is an e-commerce plugin for WordPress.
    477     \item WooCommerce payment plugin enables payments via GNU Taler
    478     \item Features include:
    479       \begin{itemize}
    480       \item Trivial configuration
    481       \item Support for refunds
    482       \item Full internationalization
    483       \end{itemize}
    484   \end{itemize}
    485 \end{minipage}
    486 \begin{minipage}{5cm}
    487   \includegraphics[width=4cm]{screenshots/woocommerce-cart.png}
    488   \includegraphics[width=4cm]{screenshots/woocommerce-settings.png}
    489   \end{minipage}
    490 \end{frame}
    491 
    492 
    493 \begin{frame}{Joomla! Taler payment plugin}
    494 \begin{minipage}{6cm}
    495   \begin{itemize}
    496     \item Joomla! is an e-commerce platform
    497     \item Joomla! payment plugin enables payments via GNU Taler
    498     \item Features include:
    499       \begin{itemize}
    500       \item Trivial configuration
    501       \item Support for refunds
    502       \item Full internationalization
    503       \end{itemize}
    504   \end{itemize}
    505 \end{minipage}
    506 % FIXME: add screenshots
    507 %\begin{minipage}{5cm}
    508 %  \includegraphics[width=4cm]{screenshots/woocommerce-cart.png}
    509 %  \includegraphics[width=4cm]{screenshots/woocommerce-settings.png}
    510 %  \end{minipage}
    511 \end{frame}
    512 
    513 
    514 \begin{frame}{Point-of-Sale App for Android}
    515 
    516 \begin{minipage}{8cm}
    517   \begin{itemize}
    518     \item Allows merchant to generate orders against Taler backend
    519           and display QR code to enable customer to pay in person
    520     \item Patterned after ViewTouch restaurant UI
    521     \item Features include:
    522       \begin{itemize}
    523       \item Internet-based configuration
    524       \item Products sorted by categories
    525       \item Easy undo of every operation
    526       \item Manages multiple concurrent orders
    527       \end{itemize}
    528   \end{itemize}
    529 \end{minipage}
    530 \begin{minipage}{4cm}
    531   \includegraphics[width=4cm]{screenshots/Screenshot_20230224-194112.jpg}
    532   \includegraphics[width=4cm]{screenshots/Screenshot_20230224-194119.jpg}
    533   \includegraphics[width=4cm]{screenshots/Screenshot_20230224-195348.jpg}
    534 \end{minipage}
    535 \end{frame}
    536 
    537 
    538 \begin{frame}{Taler-mdb}
    539 \vfill
    540 \begin{center}
    541 \includegraphics[width=0.9\textwidth]{taler-in-use.png}
    542 \end{center}
    543 \vfill
    544 \end{frame}
    545 
    546 
    547 \begin{frame}{Partially Offline Payments with GNU Taler\footnote{Joint work with Emmanuel Benoist, Priscilla Huang and Sebastian Marchano}}
    548 
    549 \begin{center}
    550 \resizebox{8cm}{7cm}{
    551 \begin{sequencediagram}
    552     \newinst{pos}{\shortstack{PoS \\
    553       \\ \begin{tikzpicture}
    554         \node [fill=gray!20,draw=black,thick ,align=center] {PoS key \\ PoS ID};
    555       \end{tikzpicture}
    556     }}
    557     \newinst[2]{customer}{\shortstack{Customer \\
    558       \\ \begin{tikzpicture}
    559         \node [fill=gray!20,draw=black,thick ,align=center] {Digital \\ Wallet};
    560       \end{tikzpicture}
    561     }}
    562     \newinst[2]{backend}{\shortstack{Merchant Backend \\
    563        \\ \begin{tikzpicture}[shape aspect=.5]
    564         \tikzset{every node/.style={cylinder, shape border rotate=90, draw,fill=gray!25}}
    565         \node at (1.5,0) {\shortstack{{\tiny PoS key} \\ {\tiny PoS ID}}};
    566        \end{tikzpicture}
    567     }}
    568     \postlevel
    569     \mess[0]{pos}{PoS ID}{customer}
    570     \begin{sdblock}{optional}{}
    571       \begin{callself}{customer}{Amount}{}
    572       \end{callself}
    573     \end{sdblock}
    574     \prelevel
    575     \prelevel
    576     \prelevel
    577     \prelevel
    578     \prelevel
    579     \begin{sdblock}{optional}{}
    580       \begin{callself}{pos}{Amount}{}
    581       \end{callself}
    582     \end{sdblock}
    583     \postlevel
    584     \mess[0]{customer}{PoS ID, [Amount]?}{backend}
    585     \mess[0]{backend}{Contract}{customer}
    586     \postlevel
    587     \mess[0]{customer}{Payment}{backend}
    588     \begin{callself}{pos}{OTP(PoS key)}{}
    589     \end{callself}
    590     \prelevel
    591     \prelevel
    592     \begin{callself}{backend}{OTP(PoS key)}{}
    593     \end{callself}
    594     \mess[0]{backend}{OTP code}{customer}
    595     \postlevel
    596     \mess[0]{customer}{OTP code}{pos}
    597 \end{sequencediagram}
    598 }
    599 \end{center}
    600 \end{frame}
    601 
    602 
    603 \begin{frame}{Other ongoing developments}
    604   \begin{itemize}
    605     \item Privacy-preserving auctions (trading, currency exchange) ({\tt oezguer@taler.net})
    606     \item Hardware and software support for embedded systems ({\tt mikolai@taler.net})
    607     \item GNU Name System registry with GNU Taler payments ({\tt schanzen@gnunet.org})
    608     \item Performance improvements for RSA in FLOSS crypto libraries (NLnet project)
    609     \item Tax-deductable receipts for donations to charities (donau.git)
    610     \item Unlinkable anonymous subscriptions and discount tokens (merchant.git, branch)
    611     \item Support for illiterate and innumerate users\footnote{Background: \url{https://myoralvillage.org/}}
    612   \end{itemize}
    613 \end{frame}
    614 
    615 
    616 \begin{frame}{How to support?}
    617   \begin{description}
    618     \item[Join:] { \url{https://lists.gnu.org/mailman/listinfo/taler}}
    619     \item[Test:] \url{https://bugs.taler.net/}
    620     \item[Translate:] \url{https://weblate.taler.net/}\footnote{Contact: \url{translation-volunteer@taler.net}}
    621     \item[Integrate:] \url{https://docs.taler.net/}
    622     \item[Develop:] \url{https://git.taler.net/}
    623     \item[Apply:] \url{https://nlnet.nl/propose}, \url{https://nlnet.nl/taler}
    624   \end{description}
    625 \end{frame}
    626 
    627 
    628 \begin{frame}
    629 \frametitle{Thanks}
    630 \begin{itemize}
    631 \item Next Generation Internet (NGI) initiative
    632 \item Renewablefreedom Foundation
    633 \item Sovereigntechfund
    634 \item Prototypefund
    635 \end{itemize}
    636 \end{frame}
    637 
    638 
    639 \begin{frame}
    640 \frametitle{Do you have any questions?}
    641 \vfill
    642 References:
    643 {\tiny
    644   \begin{enumerate}
    645  \item{Özgür Kesim, Christian Grothoff, Florian Dold and Martin Schanzenbach.
    646       {\em Zero-Knowledge Age Restriction for GNU Taler}.
    647        {\bf 27th European Symposium on Research in Computer Security (ESORICS), 2022}.}
    648  \item{David Chaum, Christian Grothoff and Thomas Moser.
    649        {\em How to issue a central bank digital currency}.
    650        {\bf SNB Working Papers, 2021}.}
    651  \item{Christian Grothoff, Bart Polot and Carlo von Loesch.
    652        {\em The Internet is broken: Idealistic Ideas for Building a GNU Network}.
    653        {\bf W3C/IAB Workshop on Strengthening the Internet Against Pervasive Monitoring (STRINT)}, 2014.}
    654  \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci.
    655        {\em Enabling Secure Web Payments with GNU Taler}.
    656        {\bf SPACE 2016}.}
    657  \item{Florian Dold, Sree Harsha Totakura, Benedikt M\"uller, Jeffrey Burdges and Christian Grothoff.
    658        {\em Taler: Taxable Anonymous Libre Electronic Reserves}.
    659        Available upon request. 2016.}
    660  \item{Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer and Madars Virza.
    661        {\em Zerocash: Decentralized Anonymous Payments from Bitcoin}.
    662        {\bf IEEE Symposium on Security \& Privacy, 2016}.}
    663  \item{David Chaum, Amos Fiat and Moni Naor.
    664        {\em Untraceable electronic cash}.
    665        {\bf Proceedings on Advances in Cryptology, 1990}.}
    666   \item{Phillip Rogaway.
    667        {\em The Moral Character of Cryptographic Work}.
    668        {\bf Asiacrypt}, 2015.} \label{bib:rogaway}
    669 \end{enumerate}
    670 }
    671 \end{frame}
    672 
    673 
    674 \end{document}
    675 
    676 
    677