cbc.tex (17249B)
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 as a Retail CBDC} 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]{J. Burdges, F. Dold, {\bf C. Grothoff}, M. Stanisci} 107 \date{\today} 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 123 as a Retail CBDC 124 \vfill 125 \end{center} 126 \begin{textblock*}{6cm}(.5cm,7.7cm) % {block width} (coords) 127 {\Large {\bf \href{https://taler.net/}{taler.net}} \\ 128 \href{https://twitter.com/taler}{taler@twitter} \\ 129 \href{https://taler-systems.com/}{taler-systems.com}} 130 \end{textblock*} 131 132 % Substitute based on who is giving the talk! 133 \begin{textblock*}{6cm}(6.7cm,7.7cm) % {block width} (coords) 134 {\hfill {\Large {\bf Florian Dold \&} \\ 135 \hfill {\bf Christian Grothoff}} \\ 136 \hfill \{dold,grothoff\}@taler.net } 137 \end{textblock*} 138 139 \end{frame} 140 141 \section{Introduction} 142 143 \begin{frame}{Main Points} 144 \framesubtitle{https://taler.net/} 145 Our CBDC: 146 \begin{itemize} 147 \item is token-based (no accounts), centrally issued (not DLT); as efficient and cost-effective 148 as modern real-time gross settlement (RTGS) systems operated by central banks; 149 \item is designed to provide an electronic equivalent to banknotes, therefore no material 150 impact on monetary policy and/or financial stability expected; 151 \item guarantees privacy for the payer, combined with KYC/AML/CFT compliance and 152 income transparency to promote tax compliance; 153 \item is implemented as Free/Libre and Open Source Software (FLOSS) to provide 154 transparency, accountability, and security (part of the GNU project). 155 \end{itemize} 156 \end{frame} 157 158 159 \begin{frame}{Payment Systems: Accounts vs. Tokens} 160 Two types of payment systems: 161 \begin{enumerate} 162 \item {\bf account-based system}: transfer occurs by charging the payer’s account and crediting 163 the payee’s account (e.g., bank deposits) 164 \item {\bf token-based (value-based) system}: transfer occurs by transferring the value itself, or a 165 token that represents the monetary asset (e.g., banknotes) 166 \end{enumerate} 167 Key Difference is the information carried by the information asset: 168 \begin{itemize} 169 \item account (assets): associated with a transaction history 170 \item token (assets): carry information about value and entity that issued the token 171 \end{itemize} 172 Bitcoin, and Distributed Ledger Technologies (DLTs) in general, are account-based systems! 173 Novelty is that the ledger is distributed (decentralized). 174 \end{frame} 175 176 177 \begin{frame}{Simplistic CBDC Designs} 178 \begin{itemize} 179 \item Account-based CBDC (e.g., Bindseil 2020, Berentsen and Schär 2018): 180 \begin{itemize} 181 \item simplest solution: central bank account for all 182 \item responsibility to perform KYC and ensure AML/CFT (could be outsourced); 183 \item potential for mass-surveillance (threat to CB independence); 184 \item in direct competition with commercial banks 185 \end{itemize} 186 \item Token-based CBDC: 187 \begin{itemize} 188 \item requires a system to ensure that electronic tokens are not easily copied 189 (hardware-based or software-based) $\rightarrow$ double-spending problem 190 \item KYC and AML/CFT compliance? 191 \end{itemize} 192 \end{itemize} 193 \end{frame} 194 195 196 \section{What is Taler?} 197 \begin{frame}{What is Taler?} 198 \begin{center} 199 Taler is an electronic instant payment system based on tokens. 200 \end{center} 201 \begin{itemize} 202 \item Uses electronic coins stored in {\bf wallets} on customer's device 203 \item Like {\bf cash} 204 \item Pay in {\bf existing currencies} (i.e. CHF, EUR, USD) 205 \end{itemize} 206 \vfill 207 \pause 208 \noindent 209 However, Taler is 210 \begin{itemize} 211 \item \emph{not} a currency 212 \item \emph{not} a long-term store of value 213 \item \emph{not} a network or instance of a system 214 \item \emph{not} decentralized 215 \item \emph{not} based on proof-of-work or proof-of-stake 216 \item \emph{not} a speculative asset / ``get-rich-quick scheme'' 217 \end{itemize} 218 \end{frame} 219 220 221 \begin{frame}{The Big Picture} 222 \begin{center} 223 \includegraphics[width=0.8\textwidth]{bp.png} 224 \end{center} 225 \end{frame} 226 227 228 \begin{frame}{Design Principles} 229 \framesubtitle{https://taler.net/en/principles.html} 230 GNU Taler must ... 231 \begin{enumerate} 232 \item {... be implemented as {\bf free software}.} 233 \item {... protect the {\bf privacy of buyers}.} 234 \item {... must enable the state to {\bf tax income} and crack down on 235 illegal business activities.} 236 \item {... prevent payment fraud.} 237 \item {... only {\bf disclose the minimal amount of information 238 necessary}.} 239 \item {... be usable.} 240 \item {... be efficient.} 241 \item {... avoid single points of failure.} 242 \item {... foster {\bf competition}.} 243 \end{enumerate} 244 \end{frame} 245 246 247 \begin{frame} 248 \frametitle{Architecture of Taler} 249 \begin{center} 250 \includegraphics[width=1\textwidth]{operations.png} 251 \end{center} 252 \end{frame} 253 254 255 \begin{frame}{Taler: Unique Regulatory Features for CBs} 256 \framesubtitle{\url{https://www.snb.ch/en/mmr/papers/id/working_paper_2021_03}} 257 \begin{itemize} 258 \item Central bank issues digital coins equivalent to issuing cash \\ 259 $\Rightarrow$ monetary policy remains under CB control 260 \item Architecture with consumer accounts at commercial banks \\ 261 $\Rightarrow$ no competition for commercial banking (S\&L) \\ 262 $\Rightarrow$ CB does not have to manage KYC, customer support 263 \item Withdrawal limits and denomination expiration \\ 264 $\Rightarrow$ protects against bank runs and hoarding 265 \item Income transparency and possibility to set fees \\ 266 $\Rightarrow$ additional insights into economy and new policy options 267 \item Revocation protocols and loss limitations \\ 268 $\Rightarrow$ exit strategy and handles catastrophic security incidents 269 \item Privacy by cryptographic design not organizational compliance \\ 270 $\Rightarrow$ CB cannot be forced to facilitate mass-surveillance 271 \end{itemize} 272 \end{frame} 273 274 275 \begin{frame} 276 \frametitle{Taler Core Components} 277 \begin{center} 278 \begin{tikzpicture} 279 \tikzstyle{def} = [node distance= 5em and 6.5em, inner sep=1em, outer sep=.3em]; 280 \node (origin) at (0,0) {}; 281 \node (exchange) [def,above=of origin,draw]{Exchange}; 282 \node (customer) [def, draw, below left=of origin] {Customer}; 283 \node (merchant) [def, draw, below right=of origin] {Merchant}; 284 \node (auditor) [def, draw, above right=of origin]{Auditor}; 285 % \node (regulator) [def, draw, above=of auditor]{CSSF}; 286 287 \tikzstyle{C} = [color=black, line width=1pt] 288 289 \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] (TextNode) {withdraw coins}; 290 \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] (TextNode) {deposit coins}; 291 \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] (TextNode) {spend coins}; 292 \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode) {verify}; 293 % \draw [<-, C] (regulator) -- (auditor) node [midway, above, sloped] (TextNode) {report}; 294 295 \end{tikzpicture} 296 \end{center} 297 \end{frame} 298 299 300 \begin{frame}{The Taler Software Ecosystem} 301 \framesubtitle{\url{https://taler.net/en/docs.html}} 302 Taler is based on modular components that work together to provide a 303 complete payment system: 304 \vfill 305 \begin{itemize} 306 \item {\bf Exchange:} Service provider for digital cash 307 \begin{itemize} 308 \item Core exchange software (cryptography, database) 309 \item Air-gapped key management, real-time {\bf auditing} 310 \item LibEuFin: Modular integration with banking systems 311 \end{itemize} 312 \item {\bf Merchant:} Integration service for existing businesses 313 \begin{itemize} 314 \item Core merchant backend software (cryptography, database) 315 \item Back-office interface for staff 316 \item Frontend integration (E-commerce, Point-of-sale) 317 \end{itemize} 318 \item {\bf Wallet:} Consumer-controlled applications for e-cash 319 \begin{itemize} 320 \item Multi-platform wallet software (for browsers \& mobile phones) 321 \item Wallet backup storage providers 322 \item {\bf Anastasis}: Recovery of lost wallets based on secret splitting 323 \end{itemize} 324 \end{itemize} 325 \end{frame} 326 327 328 \begin{frame}{Usability of Taler} 329 \vfill 330 \begin{center} 331 \url{https://demo.taler.net/} 332 \end{center} 333 \begin{enumerate} 334 \item Install browser extension. 335 \item Visit the {\tt bank.demo.taler.net} to withdraw coins. 336 \item Visit the {\tt shop.demo.taler.net} to spend coins. 337 \end{enumerate} 338 \vfill 339 \end{frame} 340 341 342 \begin{frame}{Requirements: Online vs. Offline Digital Currencies} 343 \framesubtitle{\url{https://taler.net/papers/euro-bearer-online-2021.pdf}} 344 \begin{itemize} 345 \item Offline capabilities are sometimes cited as a requirement for digital payment solutions 346 \item All implementations must either use restrictive hardware elements and/or introduce 347 counterparty risk. 348 \item[$\Rightarrow$] Permanent offline features weaken a digital payment solution (privacy, security) 349 \item[$\Rightarrow$] Introduces unwarranted competition for physical cash (endangers emergency-preparedness). 350 \end{itemize} 351 We recommend a tiered approach: 352 \begin{enumerate} 353 \item Online-first, bearer-based digital currency with Taler 354 \item (Optional:) Limited offline mode for network outages 355 \item Physical cash for emergencies (power outage, catastrophic cyber incidents) 356 \end{enumerate} 357 \end{frame} 358 359 360 \begin{frame}{Scalability} 361 On paper, the design scales linearly with computing resources: 362 \begin{itemize} 363 \item Front-end logic at the central bank only needs to perform a few signature operations, a 364 single CPU core can typically do a few thousands per second. 365 \item Front-end servers need to talk to a database to prevent double-spending. A single database server can handle tens of thousands of such operations per second. 366 \item All operations are easily split across multiple database servers by simply assigning 367 each database server a range of values. 368 \item The frontends need to talk to the backends using an interconnect. The size of an 369 individual transaction is typically about 1–10 kilobytes. Modern interconnects 370 can support millions of such transactions per second. 371 \item To securely store 1-10 kilobytes per transaction, using AWS pricing, the cost of the 372 system (storage, bandwidth, computation) at scale would be 0.0001 USD per transaction. 373 \end{itemize} 374 \end{frame} 375 376 377 \begin{frame}{Taler: Project Status} 378 \framesubtitle{\url{https://docs.taler.net/}} 379 \begin{itemize} 380 \item Cryptographic protocols and core exchange component are stable 381 \item Current focus: Merchant integration, settlement integration, wallet backup 382 \item Pilot project at Bern University of Applied Sciences cafeteria 383 \item Internal alpha deployment with a commercial bank in progress 384 \end{itemize} 385 \end{frame} 386 387 388 \begin{frame}{Next Steps: Possible Projects and Collaborations} 389 \vfill 390 \begin{center} 391 \includegraphics[width=1.0\textwidth]{taler-in-use.png} 392 \end{center} 393 \end{frame} 394 395 396 \begin{frame}{Area I: System Integration and Partnerships} 397 Pilots with banking organizations could: 398 \begin{itemize} 399 \item Study integration with the underlying RTGS layer: 400 \begin{itemize} 401 \item Develop standardized operational procedures 402 \item Assess transaction performance at scale 403 \item Perform cost analysis in banking environment 404 \item Assess effort for integration with commercial banks 405 \end{itemize} 406 \item Analyze regulatory considerations for different legislations 407 \item Perform independent security audits of Taler components 408 \end{itemize} 409 In general, a major task is faciltation of integration at retailers: 410 \begin{itemize} 411 \item Hardware and software support 412 \item Integration into off-the-shelf E-commerce systems 413 \end{itemize} 414 \end{frame} 415 416 417 \begin{frame}{Area II: Development/Research Extensions} 418 \framesubtitle{Background: \url{https://myoralvillage.org/}} 419 We have ideas for protocol extensions and ``programmable money'': 420 \begin{itemize} 421 \item Mediated wallet-to-wallet payments (instead of customer-to-merchant) 422 \item Privacy-preserving auctions (trading, currency exchange) 423 \item Age-restricted private payments for children (youth protection) 424 \end{itemize} 425 We would also like to improve: 426 \begin{itemize} 427 \item General digital wallet usability and availability 428 \item Accessibility features for illiterate and innumerate users 429 \item Protocol extensions for automated tax reporting 430 \end{itemize} 431 \end{frame} 432 433 434 \begin{frame} 435 \frametitle{Do you have any questions?} 436 \vfill 437 References: 438 {\tiny 439 \begin{enumerate} 440 \item{David Chaum, Christian Grothoff and Thomas Moser. 441 {\em How to issue a central bank digital currency}. 442 {\bf SNB Working Papers, 2021}.} 443 \item{Christian Grothoff, Bart Polot and Carlo von Loesch. 444 {\em The Internet is broken: Idealistic Ideas for Building a GNU Network}. 445 {\bf W3C/IAB Workshop on Strengthening the Internet Against Pervasive Monitoring (STRINT)}, 2014.} 446 \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci. 447 {\em Enabling Secure Web Payments with GNU Taler}. 448 {\bf SPACE 2016}.} 449 \item{Florian Dold, Sree Harsha Totakura, Benedikt M\"uller, Jeffrey Burdges and Christian Grothoff. 450 {\em Taler: Taxable Anonymous Libre Electronic Reserves}. 451 Available upon request. 2016.} 452 \item{Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer and Madars Virza. 453 {\em Zerocash: Decentralized Anonymous Payments from Bitcoin}. 454 {\bf IEEE Symposium on Security \& Privacy, 2016}.} 455 \item{David Chaum, Amos Fiat and Moni Naor. 456 {\em Untraceable electronic cash}. 457 {\bf Proceedings on Advances in Cryptology, 1990}.} 458 \item{Phillip Rogaway. 459 {\em The Moral Character of Cryptographic Work}. 460 {\bf Asiacrypt}, 2015.} \label{bib:rogaway} 461 \end{enumerate} 462 } 463 \end{frame} 464 465 466 \end{document} 467 468