netzbon.tex (20282B)
1 \documentclass{beamer} 2 \usepackage{amsmath} 3 \usepackage{multimedia} 4 \usepackage{framed,color,ragged2e} 5 \usepackage[absolute,overlay]{textpos} 6 \definecolor{shadecolor}{rgb}{0.8,0.8,0.8} 7 \usetheme{boxes} 8 \setbeamertemplate{navigation symbols}{} 9 \usepackage{colortbl} 10 \usepackage{booktabs} 11 \usepackage{url} 12 \usepackage{pifont} 13 \newcommand{\cmark}{\ding{51}}% 14 \newcommand{\xmark}{\ding{55}}% 15 \usepackage{array, adjustbox,url} 16 \usepackage{pifont,marvosym} % wasysym 17 \usepackage{rotating,subfig} 18 \usepackage{xspace} 19 \ifpdf\usepackage{tikz}\fi 20 \usetikzlibrary{shapes,arrows} 21 \usetikzlibrary{positioning,fit} 22 \usetikzlibrary{calc} 23 \usepackage[normalem]{ulem} 24 \usepackage[absolute,overlay]{textpos} 25 \usepackage{listings} 26 \usepackage{multicol} 27 \usepackage{pgf-umlsd} 28 29 \lstdefinelanguage{CSS}{ 30 basicstyle=\ttfamily\scriptsize, 31 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}, 32 sensitive=true, 33 morecomment=[l]{//}, 34 morecomment=[s]{/*}{*/}, 35 morestring=[b]', 36 morestring=[b]", 37 alsoletter={:}, 38 alsodigit={-} 39 } 40 41 % JavaScript 42 \lstdefinelanguage{JavaScript}{ 43 basicstyle=\ttfamily\scriptsize, 44 morekeywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break}, 45 morecomment=[s]{/*}{*/}, 46 morecomment=[l]//, 47 morestring=[b]", 48 morestring=[b]' 49 } 50 51 \lstdefinelanguage{HTML5}{ 52 basicstyle=\ttfamily\scriptsize, 53 language=html, 54 sensitive=true, 55 alsoletter={<>=-}, 56 morecomment=[s]{<!-}{-->}, 57 tag=[s], 58 otherkeywords={ 59 % General 60 >, 61 % Standard tags 62 <!DOCTYPE, 63 </html, <html, <head, <title, </title, <style, </style, <link, </head, <meta, />, 64 % body 65 </body, <body, 66 % Divs 67 </div, <div, </div>, 68 % Paragraphs 69 </p, <p, </p>, 70 % scripts 71 </script, <script, 72 % More tags... 73 <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, <source, <iframe, </iframe>, </video>, <image, </image> 74 }, 75 ndkeywords={ 76 % General 77 =, 78 % HTML attributes 79 charset=, src=, id=, width=, height=, style=, type=, rel=, href=, 80 % SVG attributes 81 fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, repeatCount=, xlink:href=, 82 % CSS properties 83 margin:, padding:, background-image:, border:, top:, left:, position:, width:, height:, 84 % CSS3 properties 85 transform:, -moz-transform:, -webkit-transform:, 86 animation:, -webkit-animation:, 87 transition:, transition-duration:, transition-property:, transition-timing-function:, 88 } 89 } 90 91 \lstdefinelanguage{JavaScript}{ 92 basicstyle=\ttfamily\scriptsize, 93 keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, for}, 94 keywordstyle=\color{blue}\bfseries, 95 ndkeywords={class, export, boolean, throw, implements, import, this}, 96 ndkeywordstyle=\color{darkgray}\bfseries, 97 identifierstyle=\color{black}, 98 sensitive=false, 99 comment=[l]{//}, 100 morecomment=[s]{/*}{*/}, 101 commentstyle=\color{purple}\ttfamily, 102 stringstyle=\color{red}\ttfamily, 103 morestring=[b]', 104 morestring=[b]" 105 } 106 107 108 \title{GNU Taler} 109 110 \author[C. Grothoff]{Christian Grothoff} 111 \date{12.6.2023} 112 \institute{Berner Fachhochschule \\ The GNU Project \\ Taler Systems SA} 113 114 \newcolumntype{R}[2]{% 115 >{\adjustbox{angle=#1,lap=\width-(#2)}\bgroup}% 116 l% 117 <{\egroup}% 118 } 119 \newcommand*\rot{\multicolumn{1}{R{45}{1em}}}% no optional argument here, please! 120 121 122 \begin{document} 123 124 125 \justifying 126 \begin{frame}[fragile,plain] 127 \titlepage 128 \end{frame} 129 130 131 \begin{frame}{Central Bank Digital Currency (CBDC)} 132 Over 80 central banks have started initiatives to introduce a CBDC: 133 134 \begin{itemize} 135 \item ECB: Report on a Digital Euro / Eurosystem report on the public consultation on a Digital Euro 136 \item Bank of England: Just initiated a task force 137 \end{itemize} 138 China is leading with the most widely deployed solution today. 139 \begin{center} 140 \includegraphics[width=0.8\textwidth]{cbdc-news.png} 141 \end{center} 142 So what are their plans? \pause Let's check in with the locals! 143 \end{frame} 144 145 146 \begin{frame}{The Bank of International Settlements} 147 \begin{center} 148 \movie[%scale=0.6, 149 autostart, 150 poster] 151 { 152 \includegraphics[height=0.6\textwidth,width=0.8\textwidth]{white.png} 153 } 154 {bis-cbdc.mp4} 155 \end{center} 156 \end{frame} 157 158 159 \begin{frame} 160 \vfill 161 \begin{center} 162 {\bf Privacy is non-goal or not assured (see ECB\&China).} 163 \end{center} 164 \vfill 165 \begin{center} 166 $\Rightarrow$ {\bf Most CBDC projects will hurt democracy, not help.} 167 \end{center} 168 \vfill 169 \end{frame} 170 171 172 \section{Introduction to GNU Taler} 173 \begin{frame}{GNU Taler} 174 \vfill 175 \begin{center} 176 {\huge {\bf Digital} cash, made \textbf{socially responsible}.} 177 \end{center} 178 \vfill 179 \begin{center} 180 \includegraphics[width=0.5\textwidth]{taler-logo-2021-inkscape.pdf} 181 \end{center} 182 \vfill 183 \begin{center} 184 Privacy-Preserving, Practical, Taxable, Free Software, Efficient 185 \end{center} 186 \vfill 187 \vfill 188 \ % 189 \end{frame} 190 191 192 \begin{frame}{What is GNU Taler?} 193 \framesubtitle{\url{https://taler.net/en/features.html}} 194 \noindent 195 GNU Taler is 196 \vfill 197 \begin{itemize} 198 \item a Free/Libre software \emph{payment system} infrastructure project 199 \item ... with a surrounding software ecosystem 200 \item ... and a company (Taler Systems S.A.) and community that wants to deploy it 201 as widely as possible. 202 \end{itemize} 203 \vfill 204 \noindent 205 However, GNU Taler is 206 \begin{itemize} 207 \item \emph{not} a currency 208 \item \emph{not} a long-term store of value 209 \item \emph{not} a network or instance of a system 210 \item \emph{not} decentralized 211 \item \emph{not} based on proof-of-work or proof-of-stake 212 \item \emph{not} a speculative asset / ``get-rich-quick scheme'' 213 \end{itemize} 214 \vfill 215 \end{frame} 216 217 218 \begin{frame}{Design goals for the GNU Taler Payment System} 219 GNU Taler must ... 220 \begin{enumerate} 221 \item {... be implemented as {\bf free software}.} 222 \item {... protect the {\bf privacy of buyers}.} 223 \item {... must enable the state to {\bf tax income} and crack down on 224 illegal business activities.} 225 \item {... prevent payment fraud.} 226 \item {... only {\bf disclose the minimal amount of information 227 necessary}.} 228 \item {... be usable.} 229 \item {... be efficient.} 230 \item {... avoid single points of failure.} 231 \item {... foster {\bf competition}.} 232 \end{enumerate} 233 \end{frame} 234 235 236 \begin{frame} 237 \frametitle{GNU Taler Overview} 238 \begin{center} 239 \begin{tikzpicture} 240 \tikzstyle{def} = [node distance= 5em and 6.5em, inner sep=1em, outer sep=.3em]; 241 \node (origin) at (0,0) {}; 242 \node (exchange) [def,above=of origin,draw]{Exchange}; 243 \node (customer) [def, draw, below left=of origin] {Customer}; 244 \node (merchant) [def, draw, below right=of origin] {Merchant}; 245 % \node (auditor) [def, draw, above right=of origin]{Auditor}; 246 \tikzstyle{C} = [color=black, line width=1pt] 247 \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] (TextNode) {withdraw coins}; 248 \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] (TextNode) {deposit coins}; 249 \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] (TextNode) {spend coins}; 250 % \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode) {verify}; 251 \end{tikzpicture} 252 \end{center} 253 \end{frame} 254 255 256 \begin{frame}{Usability of GNU Taler} 257 \vfill 258 \begin{center} 259 \url{https://demo.taler.net/} 260 \end{center} 261 \begin{enumerate} 262 \item Install Web extension. 263 \item Visit the {\tt bank.demo.taler.net} to withdraw coins. 264 \item Visit the {\tt shop.demo.taler.net} to spend coins. 265 \end{enumerate} 266 \vfill 267 \end{frame} 268 269 270 \begin{frame}{GNU Taler Capabilities} 271 \begin{itemize} 272 \item Free software 273 \item Handles change \& can provide refunds 274 \item High performance ({\bf no mining}) 275 \item Wallet-to-wallet payments 276 \item $\ldots$ 277 \end{itemize} 278 \end{frame} 279 280 281 \begin{frame}{Netzbon-Taler Architecture} 282 \begin{center} 283 \begin{tikzpicture} 284 \tikzstyle{def} = [node distance=3em and 3em, inner sep=1em, outer sep=.3em]; 285 \node (origin) at (0,0) {}; 286 \node (exchange) [def,above=of origin,draw]{Netzbon}; 287 \node (postfinance) [def, draw, above=of exchange]{PostFinance}; 288 \node (customer) [def, draw, below left=of origin] {Customer}; 289 \node (bankc) [def, draw, left=of exchange]{Customer Bank}; 290 \node (merchant) [def, draw, below right=of origin] {Merchant}; 291 \node (bankm) [def, draw, right=of exchange]{Merchant Bank}; 292 \tikzstyle{C} = [color=black, line width=1pt] 293 \draw [->, C] (customer) -- (bankc) node [midway, above, sloped] (TextNode) {}; 294 \draw [->, C] (bankc) -- (postfinance) node [midway, above, sloped] (TextNode) {(1) CHF}; 295 \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] (TextNode) {(2) withdraw NB}; 296 \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] (TextNode) {(3) spend NB}; 297 \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] (TextNode) {(4) deposit NB}; 298 \draw [<->, C] (exchange) -- (postfinance) node [midway, above, sloped] (TextNode) {}; 299 \draw [<-, C] (bankm) -- (postfinance) node [midway, above, sloped] (TextNode) {(5) CHF}; 300 \draw [<-, C] (merchant) -- (bankm) node [midway, above, sloped] (TextNode) {}; 301 \end{tikzpicture} 302 \end{center} 303 \end{frame} 304 305 306 \begin{frame}{Netzbon Accounts} 307 \begin{center} 308 \begin{tikzpicture} 309 \tikzstyle{def} = [node distance=2em and 2em, inner sep=1em, outer sep=.3em]; 310 \node (origin) [def, draw] at (0,0) {Netzbon Bank}; 311 \node (postfinance) [def, draw, above=of origin]{PostFinance (CHF)}; 312 \node (merchanta) [def, draw, below left=of origin] {Shop A (NB)}; 313 \node (merchantb) [def, draw, below =of origin] {Shop B (NB)}; 314 \node (merchantc) [def, draw, below right=of origin] {Shop C (NB)}; 315 \tikzstyle{C} = [color=black, line width=1pt] 316 \draw [<->, C] (postfinance) -- (origin) node [midway] (TextNode) {}; 317 \draw [<->, C] (merchanta) -- (origin) node [midway, above, sloped] (TextNode) {}; 318 \draw [<->, C] (merchantb) -- (origin) node [midway, above, sloped] (TextNode) {}; 319 \draw [<->, C] (merchantc) -- (origin) node [midway, above, sloped] (TextNode) {}; 320 \end{tikzpicture} 321 \end{center} 322 \end{frame} 323 324 325 \begin{frame}{Netzbon Balances (1/6)} 326 Suppose Netzbon has {\bf CHF 1020} in their Postfinance account 327 and we have the following balances: 328 \begin{center} 329 \begin{tabular}{l|r} 330 {\bf Entity} & {\bf Balance} \\ \hline \hline 331 Netzbon Bank & -1020 NB \\ \hline 332 Exchange & 420 NB \\ \hline 333 Merchant A & 400 NB \\ \hline 334 Merchant B & 200 NB \\ 335 \end{tabular} 336 \end{center} 337 Here, 420 NB would be the coins in the Taler wallets! 338 \end{frame} 339 340 341 \begin{frame}{Netzbon Balances (2/6)} 342 Alice sends 50 CHF to Netzbon: 343 \begin{center} 344 \begin{tabular}{l|r} 345 {\bf Entity} & {\bf Balance} \\ \hline \hline 346 Netzbon Bank & -1070 NB \\ \hline 347 Exchange & 470 NB \\ \hline 348 Merchant A & 400 NB \\ \hline 349 Merchant B & 200 NB \\ 350 \end{tabular} 351 \end{center} 352 \end{frame} 353 354 355 \begin{frame}{Netzbon Balances (3/6)} 356 Bob pays 5 CHF to Merchant A: 357 \begin{center} 358 \begin{tabular}{l|r} 359 {\bf Entity} & {\bf Balance} \\ \hline \hline 360 Netzbon Bank & -1070 NB \\ \hline 361 Exchange & 465 NB \\ \hline 362 Merchant A & 400 NB \\ \hline 363 Merchant B & 205 NB \\ 364 \end{tabular} 365 \end{center} 366 \end{frame} 367 368 369 \begin{frame}{Netzbon Balances (4/6)} 370 Merchant B requests cashout of 200 NB: 371 \begin{center} 372 \begin{tabular}{l|r} 373 {\bf Entity} & {\bf Balance} \\ \hline \hline 374 Netzbon Bank & -870 NB \\ \hline 375 Exchange & 465 NB \\ \hline 376 Merchant A & 200 NB \\ \hline 377 Merchant B & 205 NB \\ 378 \end{tabular} 379 \end{center} 380 Now Netzbon has {\bf CHF 870} in their Postfinance account! 381 \end{frame} 382 383 384 \begin{frame}{Netzbon Balances (5/6)} 385 Alice sends 30 NB to Bob: 386 \begin{center} 387 \begin{tabular}{l|r} 388 {\bf Entity} & {\bf Balance} \\ \hline \hline 389 Netzbon Bank & -870 NB \\ \hline 390 Exchange & 465 NB \\ \hline 391 Merchant A & 200 NB \\ \hline 392 Merchant B & 205 NB \\ 393 \end{tabular} 394 \end{center} 395 Both are using Taler wallets, so the balance in the 396 Netzbon bank does not change! 397 \end{frame} 398 399 400 \begin{frame}{Netzbon Balances (6/6)} 401 Merchant A withdraws 100 NB to their wallet: 402 \begin{center} 403 \begin{tabular}{l|r} 404 {\bf Entity} & {\bf Balance} \\ \hline \hline 405 Netzbon Bank & -870 NB \\ \hline 406 Exchange & 565 NB \\ \hline 407 Merchant A & 100 NB \\ \hline 408 Merchant B & 205 NB \\ 409 \end{tabular} 410 \end{center} 411 \end{frame} 412 413 414 \begin{frame}{Point-of-Sale App for Android} 415 \begin{minipage}{7cm} 416 \begin{itemize} 417 \item Allows merchant to generate orders against Taler backend 418 and display QR code to enable customer to pay in person 419 \item Patterned after ViewTouch restaurant UI 420 \item Features include: 421 \begin{itemize} 422 \item Internet-based configuration 423 \item Products sorted by categories 424 \item Easy undo of every operation 425 \item Manages multiple concurrent orders 426 \end{itemize} 427 \item The Point-of-Sale App is implemented in Kotlin 428 \end{itemize} 429 \end{minipage} 430 \begin{minipage}{4cm} 431 \includegraphics[width=4cm]{screenshots/Screenshot_20230224-194112.jpg} 432 \includegraphics[width=4cm]{screenshots/Screenshot_20230224-194119.jpg} 433 \includegraphics[width=4cm]{screenshots/Screenshot_20230224-195348.jpg} 434 \end{minipage} 435 \end{frame} 436 437 438 \begin{frame}{E-Commerce with GNU Taler} 439 \begin{minipage}{6cm} 440 \begin{itemize} 441 \item WooCommerce is an e-commerce plugin for WordPress. 442 \item WooCommerce payment plugin enables payments via GNU Taler 443 \item Features include: 444 \begin{itemize} 445 \item Trivial configuration 446 \item Support for refunds 447 \item Full internationalization 448 \end{itemize} 449 \item WooCommerce and its plugins are implemented in PHP 450 \end{itemize} 451 \end{minipage} 452 \begin{minipage}{5cm} 453 \includegraphics[width=4cm]{screenshots/woocommerce-cart.png} 454 \includegraphics[width=4cm]{screenshots/woocommerce-settings.png} 455 \end{minipage} 456 \end{frame} 457 458 459 \begin{frame}{Cashier App for Android} 460 \begin{minipage}{4cm} 461 \begin{itemize} 462 \item Enables Netzbon staff to convert cash to e-cash 463 \item Staff has special bank accounts with limited funds 464 \item Customers can pay staff in cash to receive e-cash 465 \item The Cashier App is implemented in Kotlin 466 \item Web site can also be used if preferred 467 \end{itemize} 468 \end{minipage} 469 \begin{minipage}{3cm} 470 \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103315.png} 471 \end{minipage} 472 \begin{minipage}{3cm} 473 \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103325.png} 474 \end{minipage} 475 \end{frame} 476 477 478 \begin{frame}{GNU Taler Merchant} 479 \begin{center}{} 480 \includegraphics[width=\textwidth]{screenshots/merchant-spa-settings} 481 \end{center} 482 \end{frame} 483 484 485 \begin{frame}{Partially Offline Payments} 486 \begin{center} 487 \resizebox{8cm}{7cm}{ 488 \begin{sequencediagram} 489 \newinst{pos}{\shortstack{PoS \\ 490 \\ \begin{tikzpicture} 491 \node [fill=gray!20,draw=black,thick ,align=center] {PoS key \\ PoS ID}; 492 \end{tikzpicture} 493 }} 494 \newinst[2]{customer}{\shortstack{Customer \\ 495 \\ \begin{tikzpicture} 496 \node [fill=gray!20,draw=black,thick ,align=center] {Digital \\ Wallet}; 497 \end{tikzpicture} 498 }} 499 \newinst[2]{backend}{\shortstack{Merchant Backend \\ 500 \\ \begin{tikzpicture}[shape aspect=.5] 501 \tikzset{every node/.style={cylinder, shape border rotate=90, draw,fill=gray!25}} 502 \node at (1.5,0) {\shortstack{{\tiny PoS key} \\ {\tiny PoS ID}}}; 503 \end{tikzpicture} 504 }} 505 \postlevel 506 \mess[0]{pos}{PoS ID}{customer} 507 \begin{sdblock}{optional}{} 508 \begin{callself}{customer}{Amount}{} 509 \end{callself} 510 \end{sdblock} 511 \prelevel 512 \prelevel 513 \prelevel 514 \prelevel 515 \prelevel 516 \begin{sdblock}{optional}{} 517 \begin{callself}{pos}{Amount}{} 518 \end{callself} 519 \end{sdblock} 520 \postlevel 521 \mess[0]{customer}{PoS ID, [Amount]?}{backend} 522 \mess[0]{backend}{Contract}{customer} 523 \postlevel 524 \mess[0]{customer}{Payment}{backend} 525 \begin{callself}{pos}{OTP(PoS key)}{} 526 \end{callself} 527 \prelevel 528 \prelevel 529 \begin{callself}{backend}{OTP(PoS key)}{} 530 \end{callself} 531 \mess[0]{backend}{OTP code}{customer} 532 \postlevel 533 \mess[0]{customer}{OTP code}{pos} 534 \end{sequencediagram} 535 } 536 \end{center} 537 \end{frame} 538 539 540 \begin{frame}{Netzbon minimal merchant setup} 541 \begin{enumerate} 542 \item Sign up with Netzbon, providing IBAN (for CHF) 543 \item Set up Netzbon bank account, providing MFA credentials (password, phone number, e-mail) 544 \item Set up GNU Taler merchant backend tied to Netzbon bank account (in NB) 545 \item Configure one or more payment {\bf templates} and print {\bf QR code} 546 \end{enumerate} 547 \end{frame} 548 549 \begin{frame}{Accepting Payments (in minimal setup)} 550 \begin{enumerate} 551 \item Customer scans QR code 552 \item If template permits, customer enters amount to pay 553 \item Customer confirms payment in GNU Taler wallet app 554 \item Customer shows merchant payment confirmation code 555 \item If desired, merchant verifies payment confirmation code 556 \end{enumerate} 557 \end{frame} 558 559 \begin{frame}{Merchant cashing out CHF} 560 \begin{enumerate} 561 \item Log into Netzbon bank ($\Rightarrow$ available balance) 562 \item Select ``cash out'' operation 563 \item Specifiy amount 564 \item Authenticate to authorize transfer 565 \end{enumerate} 566 \end{frame} 567 568 \begin{frame}{Merchant withdrawing NB (from NB account)} 569 \begin{enumerate} 570 \item Log into Netzbon bank ($\Rightarrow$ available balance) 571 \item Select ``withdraw to wallet'' operation 572 \item Specifiy amount 573 \item Scan QR code with wallet 574 \item Confirm in wallet 575 \item Authenticate in Netzbon bank to authorize transfer 576 \end{enumerate} 577 \end{frame} 578 579 \begin{frame}{Customer exchanging CHF for NB} 580 \begin{enumerate} 581 \item Open GNU Taler wallet application 582 \item First time: add exchange ``exchange.netzbon.ch'' 583 \item Select ``withdraw NB'' operation 584 \item Specifiy amount 585 \item First time: accept terms of service 586 \item Receive wire transfer instructions (Netzbon IBAN (CHF), wire transfer subject) 587 \item Log into CHF bank account 588 \item Make CHF wire transfer to account with given subject and CHF amount 589 \item Wait for transfer to arrive at Netzbon 590 \end{enumerate} 591 \end{frame} 592 593 594 \begin{frame}{State of the plan} 595 \begin{enumerate} 596 \item Postfinance bank API requires rather large adaptations to GNU Taler 597 \item Postfinance bank account not yet opened 598 \item[$\Rightarrow$] So far, a bit behind expected schedule 599 \item iOS wallet released in Apple {\bf beta} store on 11.6.2023 600 \item Most of GNU Taler team in {\bf polishing} mode 601 \end{enumerate} 602 \end{frame} 603 604 605 \begin{frame}{What to expect from GNU Taler?} 606 \begin{itemize} 607 \item We will provide more {\bf documentation} 608 \item We will try to help Basel merchants with setup and integration 609 (free of charge if possible) 610 \item We will provide Netzbon with technical support to operate 611 (free of charge if possible) 612 \end{itemize} 613 \end{frame} 614 615 616 \begin{frame}{How is this possible?} 617 Thanks to ... 618 \begin{itemize} 619 \item ... a grant from {\bf NLnet foundation} (NGI Entrust) 620 supported by EU tax payers 621 \item ... Bern University of Applied Sciences where students 622 and faculty enjoy working on applied research projects 623 \item ... Taler Systems SA who see Netzbon as a great 624 pilot \pause 625 \item ... the open-minded people behind Netzbon volunteering 626 their time! 627 \end{itemize} 628 \end{frame} 629 630 631 \begin{frame}{And then?} 632 \begin{itemize} 633 \item Taler Operations AG intends to launch {\bf Swiss-wide} 634 \item NGI pilot application submitted to support launch across EU 635 \item $\ldots$ \pause 636 \item And eventually, the central banks shall follow the Netzbon! 637 \end{itemize} 638 \begin{center} 639 \includegraphics[width=0.5\textwidth]{bis.jpg} 640 \end{center} 641 \end{frame} 642 643 644 \section{References} 645 \nocite{cbdc2021chaum} 646 \nocite{suerf2023huang} 647 \begin{frame}{References} 648 \bibliographystyle{plain} 649 \bibliography{extra} 650 \end{frame} 651 652 653 \end{document}