slides-visite-ambassadeur-coete-d-ivoire.tex (14278B)
1 \documentclass[aspectratio=169,t]{beamer} 2 3 \input texinputs/taler-macros 4 5 \usepackage{tikz} 6 \usepackage{ragged2e} 7 \usepackage{graphicx} 8 \usetikzlibrary{positioning,fit,patterns} 9 10 % 11 % Presentation to "Son Excellence l'ambassadeur de Côte d'Ivoire en Suisse et 12 % au Lichtenchtein vendredi 25 juillet 2025" 13 % Copyright (C) 2025 Emmanuel Benoist, .... 14 % 15 % This program is free software: you can redistribute it and/or modify 16 % it under the terms of the GNU General Public License as published by 17 % the Free Software Foundation, either version 3 of the License, or 18 % (at your option) any later version. 19 % 20 % This program is distributed in the hope that it will be useful, 21 % but WITHOUT ANY WARRANTY; without even the implied warranty of 22 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 % GNU General Public License for more details. 24 % 25 % You should have received a copy of the GNU General Public License 26 % along with this program. If not, see <http://www.gnu.org/licenses/>. 27 % 28 29 % *Especially* edit these... 30 % \setbeameroption{show notes on second screen=right} % Both 31 32 33 % Programme : 34 % 10 h : Présentation du projet GNU Taler par Emmanuel Benoist, professeur à la BFH. 35 % 10 h 45 : Démonstration pratique de GNU Taler, avec le distributeur automatique de snacks et exemples 36 % concrets. 37 % 11 h : Présentation en distanciel du projet Oral Information Management (OIM) par Brett Matthews, 38 % fondateur et directeur de l’ONG My Oral Village. 39 % 11 h 30 : Démonstration de Taler-OIM par Marc Stibane, spécialiste iOS chez Taler Systems 40 % 12 h - 13 h 30 : Déjeuner au restaurant Miracoli à Bienne, et discussion sur comment aller de l’avant avec 41 % ce projet. 42 43 44 \newcommand{\SPEAKER}{Prof. Dr. Emmanuel Benoist} 45 \newcommand{\DATE}{} %{25 juillet 2025} 46 \title{} 47 \date{} 48 49 50 \newcommand{\TITLE}{Presentation de GNU Taler} 51 \newcommand{\SUB}{Visite de Son Excellence l'Ambassadeur de Côte d'Ivoire en 52 Suisse et au Lichtenstein} 53 \newcommand{\AUTHOR}{Prof. Dr. Emmanuel Benoist} 54 \newcommand{\INST}{https://www.taler.net} 55 56 % Do not edit this part 57 \title{\TITLE} 58 \subtitle{\SUB} 59 \date{\DATE} 60 \author[\SPEAKER]{\AUTHOR} 61 \institute{\INST} 62 63 \usepackage{amsmath} 64 \usepackage{multimedia} 65 \usepackage[percent]{overpic} 66 \usepackage{url} 67 \usepackage{pifont} 68 \usepackage[absolute,overlay]{textpos} 69 \usepackage{listings} 70 71 \usepackage{tikz, xcolor} 72 \usetikzlibrary{shapes,arrows,positioning} 73 \tikzset{ 74 %Define standard arrow tip 75 >=stealth', 76 %Define style for boxes 77 punkt/.style={ 78 rectangle, 79 rounded corners, 80 draw=black, very thick, 81 minimum width=3.5em, 82 minimum height=2em, 83 text centered}, 84 % Define arrow style 85 pull/.style={ 86 <->, 87 thick,draw=red, 88 shorten <=2pt, 89 shorten >=2pt,}, 90 % Define arrow style 91 pil/.style={ 92 ->, 93 thick, 94 shorten <=2pt, 95 shorten >=2pt,} 96 } 97 98 99 %\usepackage{tikz, xcolor} 100 %\usetikzlibrary{shapes,arrows} 101 102 103 \tikzstyle{decision} = [diamond, draw, text width=4.5em, 104 text badly centered, node distance=2cm, 105 inner sep=0pt] 106 \tikzstyle{block} = [rectangle, draw, text width=5em, 107 text centered, rounded corners, 108 minimum height=4em, node distance=3cm] 109 \tikzstyle{line} = [draw, -latex'] 110 \tikzstyle{lineeee} = [draw] 111 \tikzstyle{cloud} = [draw, ellipse, node distance=2.5cm, minimum height=2em] 112 \tikzstyle{walet} = [draw, rectangle, node distance=0.2cm, minimum height=2em] 113 \tikzstyle{reseau} = [node distance=0.2cm, minimum height=2em] 114 \tikzstyle{blank} = [node distance=1cm] 115 116 \usetikzlibrary{shapes,arrows} 117 \usetikzlibrary{positioning} 118 \usetikzlibrary{calc} 119 120 121 122 123 124 \begin{document} 125 126 \begin{frame}{GNU Taler} 127 \vfill 128 \begin{center} 129 {\huge {L'argent \textbf{numérique} et \textbf{socialement responsable}.}} 130 \end{center} 131 \vfill 132 \begin{center} 133 \includegraphics[width=0.5\textwidth]{images/taler-logo-2021-inkscape.pdf} 134 \end{center} 135 \vfill 136 \begin{center} 137 Privacy-Preserving, Practical, Taxable, Free Software, Efficient 138 \end{center} 139 \vfill 140 \vfill 141 \ % 142 \end{frame} 143 144 145 \frame{\maketitle 146 } 147 148 149 \begin{frame} 150 \frametitle{Taler} 151 152 \tableofcontents 153 \end{frame} 154 155 \section{Taler, un système de paiement libre} 156 157 % free 158 % privacy friendly 159 % coins, no ledger 160 % blindly signed coins 161 % 3 tiers architecture 162 163 164 165 166 \begin{frame}{Qu'est-ce que GNU Taler?} 167 \framesubtitle{\url{https://taler.net/fr/features.html}} 168 \noindent 169 GNU Taler est 170 \vfill 171 \begin{itemize} 172 \item un projet d'infrastructure de \emph{système de paiement} en logiciel libre. 173 \item \dots avec son écosystème logiciel environnant. 174 \item \dots une entreprise (Taler Systems S.A.) et une communauté qui souhaitent le déployer aussi largement que possible. 175 \end{itemize} 176 \vfill 177 \noindent 178 Cependant, GNU Taler n'est 179 \begin{itemize} 180 \item \emph{pas} une nouvelle monaie 181 \item \emph{pas} une réserve de valeur à long terme 182 \item \emph{pas} un réseau 183 \item \emph{pas} décentralisé 184 \item \emph{pas} basé sur la preuve de travail (proof-of-work) ou la preuve d'enjeu (proof-of-stake) 185 \item \emph{pas} un actif spéculatif / \emph{``système d'enrichissement rapide''} 186 \end{itemize} 187 \vfill 188 \end{frame} 189 190 191 \begin{frame}{Objectifs de conception du système de paiement GNU Taler} 192 GNU Taler doit ... 193 \begin{enumerate} 194 \item {... être implémenté en tant que {\bf logiciel libre}.} 195 \item {... protéger {\bf la vie privée des acheteurs}.} 196 \item {... doit permettre à l'État de \textbf{taxer les revenus} et de réprimer les activités commerciales illicites. } 197 \item {... prévenir la fraude sur les paiements.} 198 \item {... ne divulguer que \textbf{le minimum} d'informations \textbf{nécessaires}.} 199 \item {... être utilisable.} 200 \item {... être efficace.} 201 \item {... éviter les points de défaillance uniques.} 202 \item {... favoriser {\bf la compétition}.} 203 \end{enumerate} 204 \end{frame} 205 206 \section{Architecture de GNU Taler} 207 \begin{frame} 208 \frametitle{Vue d'ensemble de GNU Taler} 209 \begin{center} 210 \includegraphics[width=8.5cm]{images/triangle-taler.pdf} 211 % \begin{tikzpicture} 212 % \tikzstyle{def} = [node distance= 4.5em and 6em, inner sep=1em, outer sep=.3em]; 213 % \node (origin) at (0,0) {}; 214 % \node (exchange) [def,above=of origin,draw]{Service d'échange}; 215 % \node (customer) [def, draw, below left=of origin] {Portefeuille}; 216 % \node (merchant) [def, draw, below right=of origin] {Backend commerçant}; 217 % % \node (auditor) [def, draw, above right=of origin]{Auditor}; 218 % \tikzstyle{C} = [color=black, line width=1pt] 219 % \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] 220 % (TextNode) {retire des jetons}; 221 % \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] 222 % (TextNode) {dépose les jetons}; 223 % \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] 224 % (TextNode) {dépense les jetons}; 225 % % \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode) {verify}; 226 % \end{tikzpicture} 227 \end{center} 228 \end{frame} 229 \subsection{Le service d'échange} 230 \begin{frame}{Le service d'échange} 231 232 \begin{block}{Gère les jetons} 233 \begin{itemize} 234 \item Génère les jetons et vérifie leur validité, 235 \item assure la validité d'une transaction, 236 \item testé avec 60~000 transactions par seconde 237 \end{itemize} 238 \end{block} 239 240 \begin{block}{Fait l'interface avec le système bancaire} 241 \begin{itemize} 242 \item Virement des clients pour le retrait d'argent 243 \item virement vers les comptes des commerçants après les transactions. 244 \end{itemize} 245 246 \end{block} 247 248 \end{frame} 249 250 \subsection{Portefeuille} 251 \begin{frame} 252 \frametitle{Portefeuille} 253 \begin{block}{Disponible pour tous les systèmes} 254 \begin{itemize} 255 \item téléphones : iOS, Android, 256 \item navigateurs : Firefox, Chrome, Chromium, \dots 257 \end{itemize} 258 \end{block} 259 260 \begin{block}{Fonctionalités} 261 \begin{itemize} 262 \item retrait d'argent, 263 \item paiement à un commerçant, 264 \item supporte l'usage de plusieurs monnaies, 265 \item échange d'argent de pair à pair. 266 \end{itemize} 267 \end{block} 268 \end{frame} 269 270 \subsection{Backend des commerçants} 271 \begin{frame} 272 \frametitle{Backend des commerçants} 273 274 \begin{block}{Installé sur un serveur chez un gros commerçant} 275 \begin{itemize} 276 \item contrôle à 100\% de toute la chaîne, 277 \item disponible sur tous les systèmes (Linux, Windows, OSX, tous les Unix). 278 \end{itemize} 279 \end{block} 280 281 \begin{block}{Disponible pour les petits commerçants} 282 \begin{itemize} 283 \item une instance centrale, 284 \item chaque commerçant a un compte, 285 \item peut gérer toutes ses transactions. 286 \end{itemize} 287 \end{block} 288 289 \end{frame} 290 291 \section{Quelques points particuliers de Taler} 292 293 \begin{frame} 294 \frametitle{Quelques points particuliers de Taler} 295 \begin{block}{Transactions de pair à pair} 296 \end{block} 297 \begin{block}{Possibilité d'avoir des restrictions d'âge} 298 \end{block} 299 \begin{block}{Les vendeurs peuvent être hors ligne} 300 \end{block} 301 302 \end{frame} 303 304 \subsection{Transactions de pair à pair} 305 \begin{frame} 306 \frametitle{Transactions de pair à pair} 307 \begin{block}{D'un utilisateur directement à un autre} 308 \begin{itemize} 309 \item Pas besoin de serveurs, 310 \item d'un portefeuille à un autre, 311 \item ``Envoi'' ou ``Demande'' d'argent possibles. 312 \end{itemize} 313 \end{block} 314 \begin{block}{Cas d'usage} 315 \begin{itemize} 316 \item Parents ou grand-parents vers enfants, 317 \item amis, 318 \item économie informelle. 319 \end{itemize} 320 \end{block} 321 \end{frame} 322 \subsection{Restriction d'âge} 323 \begin{frame} 324 \frametitle{Restriction d'âge} 325 \begin{block}{Le marchand peut vérifier que l'argent respecte une limite d'age} 326 \begin{itemize} 327 \item pour vendre de l'alcool, des cigarettes, 328 \item pour vendre des jeux violents, 329 \item pour les achats non autorisés aux mineurs. 330 \end{itemize} 331 \end{block} 332 \begin{block}{Les parents indiquent que l'argent appartient à un mineur} 333 \begin{itemize} 334 \item en donnant l'argent, 335 \item ensuite le mineur ne peut pas utiliser cet argent là ou c'est interdit. 336 \end{itemize} 337 \end{block} 338 \end{frame} 339 340 \subsection{Vendeurs hors ligne} 341 \begin{frame} 342 \frametitle{Vendeurs hors ligne (sans smartphone ou abonnement)} 343 \begin{block}{Génèrent un code QR sur le serveur des commerçants} 344 \begin{itemize} 345 \item Code QR qu'ils affichent dans le magasin, 346 \item il contient ou non le prix. 347 \end{itemize} 348 \end{block} 349 \begin{block}{Le client scanne le code QR et paie} 350 \begin{itemize} 351 \item il entre le prix si nécessaire. 352 \end{itemize} 353 \end{block} 354 355 \begin{block}{Le vendeur vérifie le paiement} 356 \begin{itemize} 357 \item Avec un petit objet (c.f. démonstration ), il peut verifier que le client a payé le bon prix. 358 \end{itemize} 359 \end{block} 360 361 \end{frame} 362 363 \section{Plan de déploiement} 364 \begin{frame}{Plan de déploiement} 365 366 \begin{block}{En Suisse} 367 \begin{itemize} 368 \item \textit{Netzbon} : monnaie locale à Bâle, déploiement déjà démarré. 369 \item \textit{En interne à la BFH} : automates à snacks et à cafés, en service. 370 \item \textit{CHF en Suisse} : le déploiement vient de démarrer. 371 \end{itemize} 372 \end{block} 373 \begin{block}{Europe} 374 \begin{itemize} 375 \item \emph{Projet NGI-Taler} avec une banque allemande (GLS), déploiement 376 dans la zone euro pour fin 2025. 377 378 Avec une banque hongroise (MagNet), déploiement en 2026. 379 380 \item \emph{Depolymerizer} pour Bitcoin. Fonctionne déjà comme un projet de recherche universitaire (non commercial). 381 \end{itemize} 382 \end{block} 383 \end{frame} 384 385 386 387 \subsection{Proposition de partenariat} 388 \begin{frame} 389 \frametitle{Proposition de partenariat} 390 \begin{block}{Mise en relation avec la banque centrale de Côte d'Ivoire} 391 \begin{itemize} 392 \item Proposition du gouvernement du Luxembourg d'une aide au développement 393 \item Taler peut réaliser gratuitement le développement de l'infrastructure 394 \item Besoin d'un engagement de la banque centrale 395 \item Fenêtre d'opportunité : 2 mois 396 \end{itemize} 397 \end{block} 398 \begin{block}{Solution clé en main} 399 \begin{itemize} 400 \item \emph{Taler s'occupe de tout} : l'installation et la formation sur place des équipes 401 \end{itemize} 402 \end{block} 403 \end{frame} 404 405 406 407 408 409 410 411 412 \section{Questions et Réponses} 413 414 \begin{frame} 415 \frametitle{Questions ?} 416 \begin{columns} 417 \begin{column}{0.3\textwidth} 418 \begin{center} 419 \includegraphics[width=0.9\textwidth]{./images/3d-question-mark} 420 \end{center} 421 \end{column} 422 \begin{column}{0.65\textwidth} 423 424 425 \begin{block}{Contacts} 426 \begin{itemize} 427 \item \url{https://www.taler.net} 428 \item emmanuel.benoist@bfh.ch 429 \item christian.grothoff@bfh.ch 430 \end{itemize} 431 \end{block} 432 \end{column} 433 \end{columns} 434 \end{frame} 435 436 437 438 439 440 441 \begin{frame}{Acknowledgements} 442 443 \begin{minipage}{0.45\textwidth} \ \\ 444 {\tiny Funded by the European Union (Project 101135475).} 445 446 \begin{center} 447 \includegraphics[width=0.5\textwidth]{./images/bandera.jpg} 448 \end{center} 449 \end{minipage} 450 \hfill 451 \begin{minipage}{0.45\textwidth} 452 {\tiny Funded by SERI (HEU-Projekt 101135475-TALER).} 453 454 \begin{center} 455 \includegraphics[width=0.65\textwidth]{./images/sbfi.jpg} 456 \end{center} 457 \end{minipage} 458 459 \vfill 460 461 {\tiny Views and opinions expressed are however those of the author(s) only 462 and do not necessarily reflect those of the European Union. Neither the 463 European Union nor the granting authority can be held responsible for 464 them.} 465 \end{frame} 466 467 468 \end{document} 469 \begin{frame} 470 \frametitle{Example} 471 \begin{columns} 472 \begin{column}{0.47\textwidth} 473 \begin{center} 474 \includegraphics[width=0.8\textwidth]{./images/3d-question-mark.jpg} 475 476 \end{center} 477 \end{column} 478 \begin{column}{0.47\textwidth} 479 480 \begin{block}{Title for block} 481 \begin{itemize} 482 \item Item number 1 483 \end{itemize} 484 \end{block} 485 \end{column} 486 \end{columns} 487 488 \end{frame} 489