bis.tex (13943B)
1 \pdfminorversion=3 2 \documentclass[fleqn,xcolor={usenames,dvipsnames}]{beamer} 3 %\setbeameroption{show notes on second screen=right} % Both 4 \usepackage{amsmath} 5 \usepackage{multimedia} 6 \usepackage[utf8]{inputenc} 7 \usepackage{framed,color,ragged2e} 8 \usepackage[absolute,overlay]{textpos} 9 \definecolor{shadecolor}{rgb}{0.8,0.8,0.8} 10 \usetheme{boxes} 11 \setbeamertemplate{navigation symbols}{} 12 \usepackage{xcolor} 13 \usepackage{tikz,eurosym} 14 \usepackage[normalem]{ulem} 15 \usepackage{listings} 16 \usepackage{adjustbox} 17 18 % CSS 19 \lstdefinelanguage{CSS}{ 20 basicstyle=\ttfamily\scriptsize, 21 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}, 22 sensitive=true, 23 morecomment=[l]{//}, 24 morecomment=[s]{/*}{*/}, 25 morestring=[b]', 26 morestring=[b]", 27 alsoletter={:}, 28 alsodigit={-} 29 } 30 31 % JavaScript 32 \lstdefinelanguage{JavaScript}{ 33 basicstyle=\ttfamily\scriptsize, 34 morekeywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break}, 35 morecomment=[s]{/*}{*/}, 36 morecomment=[l]//, 37 morestring=[b]", 38 morestring=[b]' 39 } 40 41 \lstdefinelanguage{HTML5}{ 42 basicstyle=\ttfamily\scriptsize, 43 language=html, 44 sensitive=true, 45 alsoletter={<>=-}, 46 morecomment=[s]{<!-}{-->}, 47 tag=[s], 48 otherkeywords={ 49 % General 50 >, 51 % Standard tags 52 <!DOCTYPE, 53 </html, <html, <head, <title, </title, <style, </style, <link, </head, <meta, />, 54 % body 55 </body, <body, 56 % Divs 57 </div, <div, </div>, 58 % Paragraphs 59 </p, <p, </p>, 60 % scripts 61 </script, <script, 62 % More tags... 63 <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, <source, <iframe, </iframe>, </video>, <image, </image> 64 }, 65 ndkeywords={ 66 % General 67 =, 68 % HTML attributes 69 charset=, src=, id=, width=, height=, style=, type=, rel=, href=, 70 % SVG attributes 71 fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, repeatCount=, xlink:href=, 72 % CSS properties 73 margin:, padding:, background-image:, border:, top:, left:, position:, width:, height:, 74 % CSS3 properties 75 transform:, -moz-transform:, -webkit-transform:, 76 animation:, -webkit-animation:, 77 transition:, transition-duration:, transition-property:, transition-timing-function:, 78 } 79 } 80 81 \lstdefinelanguage{JavaScript}{ 82 basicstyle=\ttfamily\scriptsize, 83 keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, for}, 84 keywordstyle=\color{blue}\bfseries, 85 ndkeywords={class, export, boolean, throw, implements, import, this}, 86 ndkeywordstyle=\color{darkgray}\bfseries, 87 identifierstyle=\color{black}, 88 sensitive=false, 89 comment=[l]{//}, 90 morecomment=[s]{/*}{*/}, 91 commentstyle=\color{purple}\ttfamily, 92 stringstyle=\color{red}\ttfamily, 93 morestring=[b]', 94 morestring=[b]" 95 } 96 97 \usetikzlibrary{shapes,arrows} 98 \usetikzlibrary{positioning} 99 \usetikzlibrary{calc} 100 101 \title{GNU Taler as a Retail CBDC} 102 %\subtitle{} 103 104 \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]{taler-logo-2021-inkscape.pdf} \hfill} 105 %\setbeamercovered{transparent=1} 106 107 \author[M. Stibane]{{\bf M. Stibane}} 108 \date{6.8.2025} 109 \institute{Taler Systems SA} 110 111 112 \begin{document} 113 114 \justifying 115 116 \begin{frame} 117 \begin{center} 118 \LARGE {\bf GNU} 119 120 \vfill 121 % \includegraphics[width=0.66\textwidth]{logo-2017-fr.pdf} 122 \includegraphics[width=0.66\textwidth]{taler-logo-2021-inkscape.pdf} 123 124 as a Retail CBDC 125 \vfill 126 \end{center} 127 \begin{textblock*}{6cm}(.5cm,7.7cm) % {block width} (coords) 128 {\Large {\bf \href{https://taler.net/}{taler.net}} \\ 129 \href{https://twitter.com/taler}{taler@twitter} \\ 130 \href{https://taler-systems.com/}{taler-systems.com}} 131 \end{textblock*} 132 133 % Substitute based on who is giving the talk! 134 \begin{textblock*}{6cm}(6.7cm,7.7cm) % {block width} (coords) 135 {%\hfill {\Large {\bf Florian Dold \&} \\ 136 \hfill {\bf Marc Stibane} \\ 137 \hfill marc@taler.net } 138 \end{textblock*} 139 140 \end{frame} 141 142 143 \begin{frame}{Main Points} 144 \framesubtitle{\url{https://taler.net/}} 145 Our CBDC: 146 \begin{itemize} 147 \item is token-based (no accounts), centrally issued (not DLT); 148 \note[item]{as efficient and cost-effective 149 as modern real-time gross settlement (RTGS) systems operated by central banks;} 150 \item is designed to provide an electronic equivalent to banknotes, 151 \note[item]{no material 152 impact on monetary policy and/or financial stability expected;} 153 \item guarantees privacy for the payer, combined with KYC/AML/CFT compliance and 154 income transparency to ensure taxes are paid; 155 \item is implemented as Free/Libre and Open Source Software (FLOSS) 156 \note[item]{FLOSS ensures also 157 transparency, accountability, and security (part of the GNU project).} 158 \end{itemize} 159 \end{frame} 160 161 162 \begin{frame}{Payment Systems: Accounts vs. Tokens} 163 Two types of payment systems: 164 \begin{itemize} 165 \item account-based system 166 \note[item]{Accounts: transfer occurs by charging the payer’s account and crediting 167 the payee’s account (e.g., bank deposits)} 168 \item token-based (value-based) system 169 \note[item]{Tokens: transfer occurs by transferring the value itself, or a 170 token that represents the monetary asset (e.g., banknotes)} 171 \end{itemize} 172 \note{Key Difference is the information carried by the information asset: 173 \begin{itemize} 174 \item account (assets): associated with a transaction history 175 \item token (assets): carry information about value and entity that issued the token 176 \end{itemize} 177 Bitcoin, and Distributed Ledger Technologies (DLTs) in general, are account-based systems!} 178 %Novelty is that the ledger is distributed (decentralized). 179 \end{frame} 180 181 182 183 \begin{frame}{Simplistic CBDC Designs: Accounts} 184 \framesubtitle{\url{https://edwardsnowden.substack.com/p/cbdcs}} 185 \begin{itemize} 186 \item Account-based CBDC\\ (e.g., Bindseil 2020, Berentsen and Schär 2018): 187 \begin{itemize} 188 \item simplest solution: central bank account for all 189 \item responsibility to perform KYC and ensure AML/CFT 190 \item potential for mass-surveillance 191 \item in direct competition with commercial banks 192 \end{itemize} 193 \end{itemize} 194 \end{frame} 195 196 \begin{frame}{Simplistic CBDC Designs: Tokens} 197 \framesubtitle{\url{https://edwardsnowden.substack.com/p/cbdcs}} 198 \begin{itemize} 199 \item Token-based CBDC: 200 \begin{itemize} 201 \item double-spending problem 202 \note[item]{requires a system to ensure that electronic tokens are not easily copied 203 (hardware-based or software-based)} 204 \end{itemize} 205 \end{itemize} 206 \end{frame} 207 208 209 \begin{frame}{What is Taler?} 210 \begin{center} 211 Taler is 212 \end{center} 213 \begin{itemize} 214 \item an electronic instant payment system based on tokens. 215 \item uses electronic coins stored in {\bf wallets} on customer's device 216 \item like {\bf cash} 217 \item pay in {\bf existing currencies} (i.e. CHF, EUR, USD) 218 \end{itemize} 219 \end{frame} 220 221 \begin{frame}{What is Taler?} 222 However, Taler is 223 \begin{itemize} 224 \item \emph{not} a currency 225 \item \emph{not} a long-term store of value 226 \item \emph{not} a network or instance of a system 227 \item \emph{not} decentralized 228 \item \emph{not} based on proof-of-work or proof-of-stake 229 \item \emph{not} a speculative asset / ``get-rich-quick scheme'' 230 \end{itemize} 231 \end{frame} 232 233 234 \begin{frame}{Design Principles} 235 \framesubtitle{https://taler.net/en/principles.html} 236 GNU Taler must ... 237 \begin{enumerate} 238 \item {... be implemented as {\bf free software}.} 239 \item {... protect the {\bf privacy of buyers}.} 240 \item {... must enable the state to {\bf tax income} and crack down on 241 illegal business activities.} 242 \item {... prevent payment fraud.} 243 \item {... only {\bf disclose the minimal amount of information 244 necessary}.} 245 \item {... be usable.} 246 \item {... be efficient.} 247 \item {... avoid single points of failure.} 248 \item {... foster {\bf competition}.} 249 \end{enumerate} 250 \end{frame} 251 252 253 \begin{frame}{The Big Picture} 254 \begin{center} 255 \includegraphics[width=0.8\textwidth]{bp.png} 256 \end{center} 257 \end{frame} 258 259 260 \begin{frame} 261 \frametitle{Architecture of Taler} 262 \begin{center} 263 \includegraphics[width=1\textwidth]{TalerDiagram.pdf} 264 \end{center} 265 \end{frame} 266 267 268 \begin{frame}{Taler: Unique Regulatory Features for CBs} 269 \framesubtitle{\url{https://www.snb.ch/en/mmr/papers/id/working_paper_2021_03}} 270 \begin{itemize} 271 \item Central bank issues digital coins equivalent to issuing cash \\ 272 \note[item]{ 273 $\Rightarrow$ monetary policy remains under CB control} \pause 274 \item Architecture with consumer accounts at commercial banks \\ 275 \note[item]{ 276 $\Rightarrow$ no competition for commercial banking (S\&L) \\ 277 $\Rightarrow$ CB does not have to manage KYC, customer support} \pause 278 \item Withdrawal limits and denomination expiration \\ 279 \note[item]{ $\Rightarrow$ protects against bank runs and hoarding} \pause 280 \item Income transparency and possibility to set fees \\ 281 \note[item]{ $\Rightarrow$ additional insights into economy and new policy options} \pause 282 \item Revocation protocols and loss limitations \\ 283 \note[item]{ $\Rightarrow$ exit strategy and handles catastrophic security incidents} \pause 284 \item Privacy by cryptographic design not organizational compliance \\ 285 \note[item]{ $\Rightarrow$ CB cannot be forced to facilitate mass-surveillance} 286 \end{itemize} 287 \end{frame} 288 289 290 \begin{frame}{Scalability in numbers} 291 On a {\bf single system}, we measured: 292 \begin{itemize} 293 \item {\bf 28k+} withdraws\&deposits/second (client and server doing 2048-bit RSA) 294 \item {\bf 50k+} import inbound wire transfers per second (to RTGS) 295 \item {\bf 33k+} transactions aggregated/second 296 \item {\bf 62k+} export outbound wire transfers per second (to RTGS) 297 \end{itemize} 298 \end{frame} 299 300 301 \begin{frame}{Cryptography} 302 \begin{itemize} 303 \item Programmable money with age-restrictions 304 \item Privacy-preserving loyalty programs 305 \note[item]{buy 10, 11th is free, etc.} 306 \item Merchant-offline payments 307 \item Unlinkable subscriptions 308 \item Privacy-preserving donation receipts 309 \item Post-quantum design (not fully implemented) 310 \end{itemize} 311 \end{frame} 312 313 314 \begin{frame}{Integrations} 315 \begin{minipage}{6cm} 316 E-commerce: 317 \begin{itemize} 318 \item Magento 319 \item Pretix 320 \item Adobe Commerce 321 \item Joomla! 322 \item Drupal 323 \end{itemize} 324 \end{minipage} 325 \end{frame} 326 327 \begin{frame}{Integrations} 328 \begin{minipage}{6cm} 329 Hardware: 330 \begin{itemize} 331 \item xOTP device for verifying \mbox{offline payments} 332 \item MDB shield for vending machines 333 \item Cashless2ecash terminal \mbox{based on Wallee} 334 \end{itemize} 335 \end{minipage} 336 \begin{minipage}{4cm} 337 \begin{center} 338 \includegraphics[width=4cm]{bis.jpg} 339 \end{center} 340 \end{minipage} 341 \end{frame} 342 343 344 \begin{frame}{Features} 345 \begin{itemize} 346 \item Android, iOS and browser support 347 \item P2P payments (NFC, e-mail, QR-code) 348 \item Accessibile \& translated wallet UIs 349 \item InstantSEPA support (via EBICS + WebSocket) 350 \item Real-time auditing 351 \item Fully programmable AML/KYC integration 352 % \item Support for Kycaid and Withpersona KYC services 353 % \item Support for OAuth2.0-based KYC services 354 % \item OAuth 2.0-based address validation 355 \end{itemize} 356 \end{frame} 357 358 359 \begin{frame}{Competitor comparison} 360 \begin{center} \small 361 \begin{tabular}{l||c|c|c|c|c} 362 & Cash & DLT & HW-Token & CB-Account & GNU Taler \\ \hline \hline 363 Online &$-$$-$$-$ & + & $-$ & ++ & +++ \\ \hline 364 Offline & +++ & $-$$-$$-$ & $+$ & $-$$-$ & $+$$+$ \\ \hline 365 Cost & $-$ & $-$$-$$-$ & $-$ & + & ++ \\ \hline 366 Speed & + & $-$$-$$-$ & $+$ & o & ++ \\ \hline 367 Taxation & $-$ & +++ & $-$$-$ & +++ & +++ \\ \hline 368 Payer-anon & ++ & $-$$-$ & ??? & $-$$-$ & +++ \\ \hline 369 Payee-anon & ++ & $-$$-$ & ??? & $-$$-$ & $-$$-$$-$ \\ \hline 370 Security & $-$ & ??? & $-$$-$ & o & ++ \\ \hline 371 Migration & +++ & $-$$-$$-$ & $-$$-$$-$& o & + \\ \hline 372 Libre & $-$ & ??? & $-$$-$$-$& N/A & +++ \\ 373 \end{tabular} 374 \end{center} 375 \end{frame} 376 377 378 379 \begin{frame} 380 \frametitle{Do you have any questions?} 381 \vfill 382 References: 383 {\tiny 384 \begin{enumerate} 385 \item{David Chaum, Christian Grothoff and Thomas Moser. 386 {\em How to issue a central bank digital currency}. 387 {\bf SNB Working Papers, 2021}.} 388 \item{Christian Grothoff, Bart Polot and Carlo von Loesch. 389 {\em The Internet is broken: Idealistic Ideas for Building a GNU Network}. 390 {\bf W3C/IAB Workshop on Strengthening the Internet Against Pervasive Monitoring (STRINT)}, 2014.} 391 \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci. 392 {\em Enabling Secure Web Payments with GNU Taler}. 393 {\bf SPACE 2016}.} 394 \item{Florian Dold, Sree Harsha Totakura, Benedikt M\"uller, Jeffrey Burdges and Christian Grothoff. 395 {\em Taler: Taxable Anonymous Libre Electronic Reserves}. 396 Available upon request. 2016.} 397 \item{Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer and Madars Virza. 398 {\em Zerocash: Decentralized Anonymous Payments from Bitcoin}. 399 {\bf IEEE Symposium on Security \& Privacy, 2016}.} 400 \item{David Chaum, Amos Fiat and Moni Naor. 401 {\em Untraceable electronic cash}. 402 {\bf Proceedings on Advances in Cryptology, 1990}.} 403 \item{Phillip Rogaway. 404 {\em The Moral Character of Cryptographic Work}. 405 {\bf Asiacrypt}, 2015.} \label{bib:rogaway} 406 \end{enumerate} 407 } 408 \end{frame} 409 410 411 \end{document}