main.tex (13877B)
1 \pdfminorversion=3 2 \documentclass[fleqn,xcolor={usenames,dvipsnames}]{beamer} 3 \input taler-macros 4 5 \newcommand{\TITLE}{NEXT \\ GENERATION \\ INTERNET} 6 \newcommand{\SUB}{The GNU Taler Payment System} 7 \newcommand{\AUTHOR}{Christian Grothoff} 8 \newcommand{\SPEAKER}{Christian Grothoff} 9 \newcommand{\INST}{The GNU Project} 10 \newcommand{\DATE}{\today} 11 12 % Do not edit this part 13 \title{\TITLE} 14 \subtitle{\SUB} 15 \date{\DATE} 16 \author[\SPEAKER]{\AUTHOR} 17 \institute{\INST} 18 \usepackage{amsmath} 19 \usepackage{multimedia} 20 \usepackage[utf8]{inputenc} 21 \usepackage{framed,color,ragged2e} 22 \usepackage[absolute,overlay]{textpos} 23 \definecolor{shadecolor}{rgb}{0.8,0.8,0.8} 24 \usetheme{boxes} 25 \setbeamertemplate{navigation symbols}{} 26 \usepackage{xcolor} 27 \usepackage[normalem]{ulem} 28 \usepackage{listings} 29 \usepackage{adjustbox} 30 \usepackage{array} 31 \usepackage{bbding} 32 \usepackage{relsize} 33 \usepackage{graphicx} 34 \usepackage{tikz,eurosym,calc} 35 \usetikzlibrary{tikzmark} 36 \usetikzlibrary{shapes,arrows,arrows.meta} 37 \usetikzlibrary{positioning,fit,patterns} 38 \usetikzlibrary{calc} 39 \usepackage{multicol} 40 \usepackage{pgf-umlsd} 41 \usepackage{relsize} 42 43 44 % CSS 45 \lstdefinelanguage{CSS}{ 46 basicstyle=\ttfamily\scriptsize, 47 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}, 48 sensitive=true, 49 morecomment=[l]{//}, 50 morecomment=[s]{/*}{*/}, 51 morestring=[b]', 52 morestring=[b]", 53 alsoletter={:}, 54 alsodigit={-} 55 } 56 57 % JavaScript 58 \lstdefinelanguage{JavaScript}{ 59 basicstyle=\ttfamily\scriptsize, 60 morekeywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break}, 61 morecomment=[s]{/*}{*/}, 62 morecomment=[l]//, 63 morestring=[b]", 64 morestring=[b]' 65 } 66 67 \lstdefinelanguage{HTML5}{ 68 basicstyle=\ttfamily\scriptsize, 69 language=html, 70 sensitive=true, 71 alsoletter={<>=-}, 72 morecomment=[s]{<!-}{-->}, 73 tag=[s], 74 otherkeywords={ 75 % General 76 >, 77 % Standard tags 78 <!DOCTYPE, 79 </html, <html, <head, <title, </title, <style, </style, <link, </head, <meta, />, 80 % body 81 </body, <body, 82 % Divs 83 </div, <div, </div>, 84 % Paragraphs 85 </p, <p, </p>, 86 % scripts 87 </script, <script, 88 % More tags... 89 <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, <source, <iframe, </iframe>, </video>, <image, </image> 90 }, 91 ndkeywords={ 92 % General 93 =, 94 % HTML attributes 95 charset=, src=, id=, width=, height=, style=, type=, rel=, href=, 96 % SVG attributes 97 fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, repeatCount=, xlink:href=, 98 % CSS properties 99 margin:, padding:, background-image:, border:, top:, left:, position:, width:, height:, 100 % CSS3 properties 101 transform:, -moz-transform:, -webkit-transform:, 102 animation:, -webkit-animation:, 103 transition:, transition-duration:, transition-property:, transition-timing-function:, 104 } 105 } 106 107 \lstdefinelanguage{JavaScript}{ 108 basicstyle=\ttfamily\scriptsize, 109 keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, for}, 110 keywordstyle=\color{blue}\bfseries, 111 ndkeywords={class, export, boolean, throw, implements, import, this}, 112 ndkeywordstyle=\color{darkgray}\bfseries, 113 identifierstyle=\color{black}, 114 sensitive=false, 115 comment=[l]{//}, 116 morecomment=[s]{/*}{*/}, 117 commentstyle=\color{purple}\ttfamily, 118 stringstyle=\color{red}\ttfamily, 119 morestring=[b]', 120 morestring=[b]" 121 } 122 123 \setbeamersize{description width=1em} 124 125 \title{GNU Taler} 126 %\subtitle{} 127 128 % NOTE: adjust as needed! 129 \author[C. Grothoff]{F. Dold, C. Grothoff} 130 \institute{The GNU Project} 131 132 133 \begin{document} 134 135 \justifying 136 137 \begin{frame}{GNU Taler} 138 \vfill 139 \begin{center} 140 {\huge {\bf Digital} cash, made \textbf{socially responsible}.} 141 \end{center} 142 \vfill 143 \begin{center} 144 \includegraphics[scale=0.3]{taler-logo-2021-inkscape.pdf} 145 \end{center} 146 \vfill 147 \begin{center} 148 Privacy-Preserving, Practical, Taxable, Free Software, Efficient 149 \end{center} 150 \vfill 151 \vfill 152 \ % 153 \end{frame} 154 155 156 \begin{frame}{What is Taler?} 157 \framesubtitle{\url{https://taler.net/en/features.html}} \noindent 158 Taler is 159 \vfill 160 \begin{itemize} 161 \item a Free/Libre software \emph{payment system} infrastructure project 162 \item ... with a surrounding software ecosystem 163 \item ... and a company (Taler Systems S.A.) and community that wants to deploy it 164 as widely as possible. 165 \end{itemize} 166 \vfill 167 \noindent 168 However, Taler is 169 \begin{itemize} 170 \item \emph{not} a currency or speculative asset 171 \item \emph{not} a long-term store of value 172 \item \emph{not} a network or instance of a system 173 \item \emph{not} based on proof-of-work or proof-of-stake 174 \end{itemize} 175 \end{frame} 176 177 178 \begin{frame}{Design principles} 179 \framesubtitle{https://taler.net/en/principles.html} 180 GNU Taler must ... 181 \begin{enumerate} 182 \item {... be implemented as {\bf free software}.} 183 \item {... protect the {\bf privacy of buyers}.} 184 \item {... enable the state to {\bf tax income} and crack down on 185 illegal business activities.} 186 \item {... prevent payment fraud.} 187 \item {... only {\bf disclose the minimal amount of information 188 necessary}.} 189 \item {... be usable.} 190 \item {... be efficient.} 191 \item {... avoid single points of failure.} 192 \item {... foster {\bf competition}.} 193 \end{enumerate} 194 \end{frame} 195 196 197 \begin{frame} 198 \frametitle{Taler Overview} 199 \begin{center} 200 \begin{tikzpicture} 201 \tikzstyle{def} = [node distance= 5em and 5em, inner sep=1em, outer sep=.3em]; 202 \node (origin) at (0,0) {}; 203 \node (exchange) [def,above=of origin,draw]{Exchange}; 204 \node (customer) [def, draw, below left=of origin] {Customer}; 205 \node (merchant) [def, draw, below right=of origin] {Merchant}; 206 \node (auditor) [def, node distance=5em and 6em, draw, above right=of origin]{Auditor}; 207 % \node (regulator) [def, draw, above=of auditor]{CSSF}; 208 209 \tikzstyle{C} = [color=black, line width=1pt] 210 211 \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] (TextNode) {withdraw coins}; 212 \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] (TextNode) {deposit coins}; 213 \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] (TextNode) {spend coins}; 214 \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode) {verify}; 215 % \draw [<-, C] (regulator) -- (auditor) node [midway, above, sloped] (TextNode) {report}; 216 217 \end{tikzpicture} 218 \end{center} 219 \end{frame} 220 221 222 223 \begin{frame} 224 \frametitle{Architecture of Taler} 225 \begin{center} 226 \includegraphics[width=0.8\textwidth]{operations.png} 227 \end{center} 228 \end{frame} 229 230 231 \begin{frame}{Usability of GNU Taler} 232 \vfill 233 \begin{center} 234 \url{https://demo.taler.net/} 235 \end{center} 236 \begin{enumerate} 237 \item Install browser extension. 238 \item Visit the {\tt bank.demo.taler.net} to withdraw coins. 239 \item Visit the {\tt shop.demo.taler.net} to spend coins. 240 \end{enumerate} 241 \vfill 242 \end{frame} 243 244 245 \begin{frame}{Real-world use} 246 \vfill 247 \begin{center} 248 \includegraphics[width=1.0\textwidth]{taler-in-use.png} 249 \end{center} 250 \vfill 251 \end{frame} 252 253 254 \begin{frame}{Literacy \& Numeracy}{Joint work with MyOralVillage} 255 \includegraphics[width=0.45\textwidth]{illiteracy.png} 256 \includegraphics[width=0.45\textwidth]{numeracy.png} 257 \end{frame} 258 259 260 \begin{frame}{GNU Taler Oral Information Management Design} 261 \begin{center} 262 \includegraphics[width=0.5\textwidth]{taler-oim.png} 263 \end{center} 264 \begin{center} 265 \includegraphics[width=0.5\textwidth]{transaction-types.png} 266 \end{center} 267 \end{frame} 268 269 270 \begin{frame}{Results from Freetown (2025)} 271 \begin{itemize} 272 \item 21 women speaking 6 local languages were briefed on how to send money in the OIM Taler prototype. 273 \item Of these only 4 had completed primary school, and only 6 could read a 5-digit cash (ordinal) number. 274 \item After 24 hours they were presented a Taler wallet with a random sum in New Leone tokens. 275 They were asked to count the money, and complete 8 tasks to send some to another person by generating a scannable QR code. 276 \item 16 completed all 8 tasks with no errors. 277 \item 4 completed all 8 tasks with two tries but no help. Only one was unable to complete the process successfully. 278 \end{itemize} 279 \end{frame} 280 281 282 \begin{frame}[plain] 283 \begin{tikzpicture}[remember picture,overlay] 284 \node[anchor=south west, inner sep=0pt] at (current page.south west) {% 285 \movie[height = \paperheight, width = \paperwidth, poster, showcontrols] {Offline payments}{offline.mp4}% 286 }; 287 \end{tikzpicture} 288 \end{frame} 289 290 \begin{frame}[plain] 291 \begin{tikzpicture}[remember picture,overlay] 292 \node[anchor=south west, inner sep=0pt] at (current page.south west) {% 293 \movie[height = \paperheight, width = \paperwidth, poster, showcontrols] {Agentic payments}{2026-05-paivana-gemini.mp4}% 294 }; 295 \end{tikzpicture} 296 \end{frame} 297 298 299 \begin{frame}{Taler: Project Status} 300 \framesubtitle{\url{https://taler-ops.ch/}} 301 3x in production in Switzerland: 302 \begin{itemize} 303 \item Netzbon regional currency 304 \item Taler Operations AG for {\bf regulated} CHF 305 \item LeFrancPaysan (coming soon) 306 \end{itemize} 307 With potential to grow: 308 \begin{itemize} 309 \item Core banking integrations for GLS, Magnet, Raiffeisen, Postfinance, Valiant Bank exist 310 \item Raising funds for launch in European Union 311 \end{itemize} 312 \end{frame} 313 314 315 \begin{frame}{Taler: Technical Roadmap} 316 \begin{itemize} 317 \item Currency conversion via Interledger protocol 318 \item Subscription \& discount tokens 319 \item Improved point-of-sale terminal integration 320 \item Hardware integrations (doors, xOTP, MDB) 321 \item Wallet backup and recovery with Anastasis 322 \item KYC via e-ID across Europe 323 \item Post-quantum cryptographic protocol variant 324 \item Oral information mangement-inspired UIs 325 \end{itemize} 326 \end{frame} 327 328 329 \begin{frame}{Open issues / Future Work} 330 \begin{itemize} 331 \item Defeat AI \& spam with micropayments 332 \item Break more HSMs (side-channels, fault injection) 333 \item Currency conversion with Interledger 334 \item ... 335 \end{itemize} 336 \end{frame} 337 338 339 \begin{frame}{How to support?} 340 \begin{description} 341 \item[Join:] {\small \url{https://lists.gnu.org/mailman/listinfo/taler}} 342 \item[Discuss:] {\small \url{https://ich.taler.net/}} 343 \item[Develop:] \url{https://bugs.taler.net/}, \url{https://git.taler.net/} 344 \item[Apply:] \url{https://nlnet.nl/propose}, \url{https://nlnet.nl/taler} 345 \item[Integrate:] \url{https://docs.taler.net/} 346 \item[Invest:] {\small \url{invest@taler-systems.com}} 347 \item[Donate:] \url{https://gnunet.org/ev} 348 \item[Partner:] \url{https://taler-systems.com/} 349 \end{description} 350 \end{frame} 351 352 353 \begin{frame} 354 \frametitle{Do you have any questions?} 355 \vfill 356 References: 357 {\tiny 358 \begin{enumerate} 359 \item{Özgür Kesim, Christian Grothoff, Florian Dold and Martin Schanzenbach. 360 {\em Zero-Knowledge Age Restriction for GNU Taler}. 361 {\bf 27th European Symposium on Research in Computer Security (ESORICS), 2022}.} 362 \item{David Chaum, Christian Grothoff and Thomas Moser. 363 {\em How to issue a central bank digital currency}. 364 {\bf SNB Working Papers, 2021}.} 365 \item{Christian Grothoff, Bart Polot and Carlo von Loesch. 366 {\em The Internet is broken: Idealistic Ideas for Building a GNU Network}. 367 {\bf W3C/IAB Workshop on Strengthening the Internet Against Pervasive Monitoring (STRINT)}, 2014.} 368 \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci. 369 {\em Enabling Secure Web Payments with GNU Taler}. 370 {\bf SPACE 2016}.} 371 \item{Florian Dold, Sree Harsha Totakura, Benedikt M\"uller, Jeffrey Burdges and Christian Grothoff. 372 {\em Taler: Taxable Anonymous Libre Electronic Reserves}. 373 Available upon request. 2016.} 374 \item{Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer and Madars Virza. 375 {\em Zerocash: Decentralized Anonymous Payments from Bitcoin}. 376 {\bf IEEE Symposium on Security \& Privacy, 2016}.} 377 \item{David Chaum, Amos Fiat and Moni Naor. 378 {\em Untraceable electronic cash}. 379 {\bf Proceedings on Advances in Cryptology, 1990}.} 380 \item{Phillip Rogaway. 381 {\em The Moral Character of Cryptographic Work}. 382 {\bf Asiacrypt}, 2015.} \label{bib:rogaway} 383 \end{enumerate} 384 } 385 \begin{center} 386 {\bf Let money facilitate trade; but ensure capital serves society.} 387 \end{center} 388 \end{frame} 389 390 391 \begin{frame}{Rights} 392 \begin{itemize} 393 \item GNUnet e.V. shared copyrights of their AGPLv3+ licensed code with Taler Systems SA 394 \item Taler Systems SA holds copyrights to entire GNU Taler code base (AGPLv3+, GPLv3+, 395 dual-licensing exclusive domain of Taler Systems SA) 396 \item Taler Systems SA applied for patent on offline payment solution 397 \item Taler Systems SA holds trademark on ``Taler''. 398 \item FSF holds trademark on ``GNU'', we are authorized to use ``GNU Taler''. 399 \item Taler Systems SA owns {\tt taler.net} and {\tt taler-systems.com}. 400 \end{itemize} 401 \end{frame} 402 403 % This should be last... 404 \begin{frame}{Acknowledgments} 405 406 \begin{minipage}{0.45\textwidth} \ \\ 407 {\tiny Funded by the European Union (Project 101135475).} 408 409 \begin{center} 410 \includegraphics[width=0.5\textwidth]{../bandera.jpg} 411 \end{center} 412 \end{minipage} 413 \hfill 414 \begin{minipage}{0.45\textwidth} 415 {\tiny Funded by SERI (HEU-Projekt 101135475-TALER).} 416 417 \begin{center} 418 \includegraphics[width=0.65\textwidth]{../sbfi.jpg} 419 \end{center} 420 \end{minipage} 421 422 \vfill 423 424 {\tiny 425 426 Views and opinions expressed are however those of the author(s) only 427 and do not necessarily reflect those of the European Union. Neither the 428 European Union nor the granting authority can be held responsible for 429 them. 430 431 } 432 \end{frame} 433 434 435 \end{document}