cbc2.tex (7140B)
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{} 107 \date{\today} 108 \institute{The GNU Project \& Taler Systems SA} 109 110 111 \begin{document} 112 113 \justifying 114 115 \begin{frame} 116 \begin{center} 117 \LARGE {\bf GNU Taler} 118 119 \vfill 120 \end{center} 121 \begin{textblock*}{6cm}(.5cm,7.7cm) % {block width} (coords) 122 {\Large {\bf \href{https://taler.net/}{taler.net}} \\ 123 \href{https://twitter.com/taler}{taler@twitter} \\ 124 \href{https://taler-systems.com/}{taler-systems.com}} 125 \end{textblock*} 126 127 % Substitute based on who is giving the talk! 128 \begin{textblock*}{6cm}(6.7cm,7.7cm) % {block width} (coords) 129 {\hfill {\Large {\bf Florian Dold \&} \\ 130 \hfill {\bf Christian Grothoff}} \\ 131 \hfill \{dold,grothoff\}@taler.net } 132 \end{textblock*} 133 134 \end{frame} 135 136 137 138 \begin{frame}{Meta Problems} 139 \begin{itemize} 140 \item Meta proposed that for Libra/Diem they would ``firewall'' the Facebook profile data 141 identifying users (KYC) from the transaction data. 142 \item Only ``authorities'' would be able to link purchases and real-world identities. \pause 143 \item Few believed this would be adequate, as such ``firewalls'' can be torn down, and 144 which ``authorities'' would be trusted to assess the link data is a problem with no easy solution. 145 \end{itemize} 146 \pause 147 \begin{center} 148 {\bf Why should citizens trust central banks implement a design that was not acceptable for Meta?} 149 \end{center} 150 \end{frame} 151 152 153 \begin{frame}{Work in Progress: Summary} 154 \begin{itemize} 155 \item Scalability 156 \item Programmability 157 \item Usability 158 \end{itemize} 159 \end{frame} 160 161 162 \begin{frame}{Taler Scalability} 163 On a {\bf single desktop system}, we measured: 164 \begin{itemize} 165 \item {\bf 1k+} withdraws\&deposits/second (client and server doing 2048-bit RSA) 166 \item {\bf 50k+} import inbound wire transfers per second (to RTGS) 167 \item {\bf 33k+} transactions aggregated/second 168 \item {\bf 62k+} export outbound wire transfers per second (to RTGS) 169 \end{itemize} 170 {\bf 10k+} transactions using 60 clients, and separate frontend/backend servers 171 in distributed deployment on Grid5000. 172 \end{frame} 173 174 175 \begin{frame}{Taler Scalability: Open Challenges} 176 Some say, 10k TPS is enough, but:\footnote{We only had a \EUR{10k} / 6 months EU grant for the Grid5000 experiments.} 177 \begin{itemize} 178 \item Is the load generation realistic? 179 \item What happens if there is a signficant take-up due to micro-transactions? 180 \item The experiments do not include adversarial load. What is the worst an attacker can do to performance? 181 \item Advanced properties were not evaluated: 182 \begin{itemize} 183 \item Auditing logic 184 \item Dynamic reconfiguration of shards 185 \item Fail-over 186 \item ... 187 \end{itemize} 188 \end{itemize} 189 190 \end{frame} 191 192 193 \begin{frame}{Taler Programmability} 194 The Taler core system now includes: 195 \begin{itemize} 196 \item Contracts with merchant-granted refunds to consumers 197 \item Coins with age-restrictions set by KYC'ed bank account holders 198 \item General extension mechansism for contracts to make ``conditional'' payments 199 \end{itemize} \pause 200 We would like to add: 201 \begin{itemize} 202 \item Currency conversion services (e.g. EUR $\leftrightarrow$ USD $\leftrightarrow$ CHF) 203 \item Sealed-bid auctions 204 \item Privacy-preserving loyalty programs for merchants (buy 10, 11th is free, etc.) 205 \end{itemize} 206 \end{frame} 207 208 209 \begin{frame}{Taler Usability} 210 Extensive work was done with Dr. Pena to streamline: 211 \begin{itemize} 212 \item withdraw, 213 \item payment, 214 \item backup and recovery 215 \end{itemize} 216 processes as well as the merchant ``backoffice''. 217 \pause 218 219 We would like to add: 220 \begin{itemize} 221 \item Easy to use P2P payments (pay to e-mail, pay to SMS, pay via NFC/Bluetooth/QR code) 222 \item Financial assistance (expense analysis, spending limits, buddy notifications) 223 \end{itemize} 224 \end{frame} 225 226 227 \begin{frame}{} 228 \hfill 229 \begin{center} 230 {\bf What would you like to focus on?} 231 \end{center} 232 \hfill 233 \end{frame} 234 235 236 \end{document} 237 238