slides-societe-juracienne-emulation-2024-04-27.tex (42633B)
1 \documentclass[aspectratio=169,t]{beamer} 2 3 \input texinputs/taler-macros 4 5 6 7 8 9 10 11 % Anonymity lecture. Part of the NGI TALER lecture series. 12 % Copyright (C) 2024 Emmanuel Benoist 13 % 14 % This program is free software: you can redistribute it and/or modify 15 % it under the terms of the GNU General Public License as published by 16 % the Free Software Foundation, either version 3 of the License, or 17 % (at your option) any later version. 18 % 19 % This program is distributed in the hope that it will be useful, 20 % but WITHOUT ANY WARRANTY; without even the implied warranty of 21 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 % GNU General Public License for more details. 23 % 24 % You should have received a copy of the GNU General Public License 25 % along with this program. If not, see <http://www.gnu.org/licenses/>. 26 % 27 28 % *Especially* edit these... 29 % \setbeameroption{show notes on second screen=right} % Both 30 31 \newcommand{\SPEAKER}{Emmanuel Benoist} 32 \newcommand{\DATE}{27 avril 2024} 33 \title{} 34 \date{27 avril 2024 - Lycée de Porrentruy} 35 36 37 \newcommand{\TITLE}{Bitcoin et cryptomonnaies} 38 \newcommand{\SUB}{Société Jurassienne d'émulation} 39 \newcommand{\AUTHOR}{Emmanuel Benoist} 40 \newcommand{\INST}{Haute école spécialisée bernoise - BFH} 41 42 % Do not edit this part 43 \title{\TITLE} 44 \subtitle{\SUB} 45 \date{\DATE} 46 \author[\SPEAKER]{\AUTHOR} 47 \institute{\INST} 48 49 \usepackage{amsmath} 50 \usepackage{multimedia} 51 \usepackage[percent]{overpic} 52 \usepackage{url} 53 \usepackage{pifont} 54 \usepackage[absolute,overlay]{textpos} 55 \usepackage{listings} 56 57 \usepackage{tikz, xcolor} 58 \usetikzlibrary{shapes,arrows,positioning} 59 \tikzset{ 60 %Define standard arrow tip 61 >=stealth', 62 %Define style for boxes 63 punkt/.style={ 64 rectangle, 65 rounded corners, 66 draw=black, very thick, 67 minimum width=3.5em, 68 minimum height=2em, 69 text centered}, 70 % Define arrow style 71 pull/.style={ 72 <->, 73 thick,draw=red, 74 shorten <=2pt, 75 shorten >=2pt,}, 76 % Define arrow style 77 pil/.style={ 78 ->, 79 thick, 80 shorten <=2pt, 81 shorten >=2pt,} 82 } 83 84 85 %\usepackage{tikz, xcolor} 86 %\usetikzlibrary{shapes,arrows} 87 88 89 \tikzstyle{decision} = [diamond, draw, text width=4.5em, 90 text badly centered, node distance=2cm, 91 inner sep=0pt] 92 \tikzstyle{block} = [rectangle, draw, text width=5em, 93 text centered, rounded corners, 94 minimum height=4em, node distance=3cm] 95 \tikzstyle{line} = [draw, -latex'] 96 \tikzstyle{lineeee} = [draw] 97 \tikzstyle{cloud} = [draw, ellipse, node distance=2.5cm, minimum height=2em] 98 \tikzstyle{walet} = [draw, rectangle, node distance=0.2cm, minimum height=2em] 99 \tikzstyle{reseau} = [node distance=0.2cm, minimum height=2em] 100 \tikzstyle{blank} = [node distance=1cm] 101 102 \usetikzlibrary{shapes,arrows} 103 \usetikzlibrary{positioning} 104 \usetikzlibrary{calc} 105 106 107 108 109 110 \begin{document} 111 112 113 114 115 116 %\setbeamertemplate{background}{\includegraphics[width=\paperwidth]{background-first-page-bfh.jpg}} 117 \frame{\maketitle 118 } 119 %\setbeamertemplate{background}{\pgfuseimage{background}} 120 121 122 123 124 125 126 127 \begin{frame} 128 \frametitle{Bitcoin et cryptomonnaies} 129 \tableofcontents 130 131 \end{frame} 132 133 134 135 136 137 138 % \section{Les } 139 % \begin{frame}[containsverbatim] 140 % \frametitle{Bitcoin: Electronic Currency} 141 % \begin{itemize} 142 % \item \textbf{History of currencies} 143 % \begin{itemize} 144 % \item From the antiquity to 20th Century: Gold and Silver 145 % \item From 1972 : Currency = Trust 146 % \item ``Trust in a central bank'' or ``Trust in an algorithm''? 147 % \end{itemize} 148 % \item \textbf{Protocol} 149 % \begin{itemize} 150 % \item I should not be able to spend money more than once 151 % \end{itemize} 152 % \item \textbf{The Block-Chain} 153 % \begin{itemize} 154 % \item Security by transparence: everybody knows every transaction 155 % \end{itemize} 156 % \item \textbf{Peer 2 Peer network} 157 % \begin{itemize} 158 % \item How does the information travel the network 159 % \end{itemize} 160 % \item \textbf{Limitations} 161 % \begin{itemize} 162 % \item Can it replace Visa/Mastercard/Banks in transactions? 163 % \end{itemize} 164 % \end{itemize} 165 % \end{frame} 166 167 \section{Un peu d'histoire} 168 169 \begin{frame}[containsverbatim] 170 \frametitle{Les monnaies dans l'histoire} 171 \begin{block}{Monnaie: quelquechose que l'on peut échanger pour 172 payer et être payé} 173 \begin{itemize} 174 \item Doit avoir une valeur pour les deux parties 175 \item Doit être thésaurisable (vous vendez un boeuf maintenant et 176 rachetez une vache dans deux mois) 177 \end{itemize} 178 \end{block} 179 \begin{block}{Exemples de monnaies dans l'histoire} 180 \begin{itemize} 181 \item Sel pour payer les légionnaires romains (d'où salaire), 182 \item les fèves de cacao dans l'empire Aztec, 183 \item certains coquillages ont même servi de monnaie. 184 \end{itemize} 185 \end{block} 186 \end{frame} 187 188 189 \begin{frame}[containsverbatim] 190 \frametitle{Monnaies métalliques (I)} 191 192 \begin{block}{Les métaux sont recherchés par nos sociétés humaines} 193 \begin{itemize} 194 \item Le Bronze : pour faire des armes 195 \item L'Argent : est rare et a une belle reflexion métallique 196 \item L'Or: a de nombreuses propriétés exceptionnels 197 198 Ne peut pas être oxydé, ductile, très bonne conductivité, beau 199 \end{itemize} 200 \end{block} 201 \begin{block}{Ces métaux ont les propriétés recherchées pour les monnaies} 202 \begin{itemize} 203 \item Peuvent être accumulées et stockées sur un long terme, 204 \item beaucoup de valeur pour un très petit volume (surtout l'or) 205 \item aura toujours une valeur dans le future (confiance) - la 206 capacité de \emph{``créer''} de la monnaie est très limitée. 207 \end{itemize} 208 \end{block} 209 \end{frame} 210 211 212 \begin{frame}[containsverbatim] 213 \frametitle{Monnaies métalliques (II)} 214 \begin{block}{La valeur de la monnaie métallique varie fortement 215 avec le temps} 216 \begin{itemize} 217 \item Découverte des mines d'argent dans l'Amérique espagnole du 218 16ème siècle, 219 \item Découverte de l'or californien change la valeur de l'or dans 220 la seconde moitié du 19ème siècle. 221 \end{itemize} 222 \end{block} 223 \begin{block}{La valeur intrinsèque du métal reste la même} 224 \end{block} 225 226 \end{frame} 227 228 229 \begin{frame}[containsverbatim] 230 \frametitle{Un peu plus d'histoire (I)} 231 232 \begin{block}{Les monnaies modernes étaient liées à l'or et/ou l'argent} 233 \begin{itemize} 234 \item Au 19ème Siècle, le Sterling était convertible en or (Gold 235 Standard) 236 \item Les pièces de 20 francs (Suisse, France, Italie, Belgique, 237 \dots : l'Union latine) étaient en or. 238 239 Les pièces de 1 et 5 francs étaient en argent. 240 \item Le dollar US est resté convertible à l'or jusqu'en 1971. 241 \end{itemize} 242 \end{block} 243 \begin{block}{Actuellement: Monnaie = Confiance} 244 \begin{itemize} 245 \item Le Dollar n'est plus convertible en or à taux fixe. 246 \item Aucune valeur tangible n'est liée à une monnaie 247 \item Valeur d'une monnaie = Pure Confiance dans la banque centrale 248 \end{itemize} 249 \end{block} 250 251 \end{frame} 252 253 254 \begin{frame}[containsverbatim] 255 \frametitle{Un peu plus d'histoire (II)} 256 257 \begin{block}{Valeur de la monnaie?} 258 \begin{itemize} 259 \item Capacité de la banque centrale à payer des intérêts (quoi 260 que) 261 \item Confiance dans la banque centrale à limiter l'inflation 262 \item \emph{Inflation =} la valeur du papier que l'on garde diminue 263 264 On peut acheter moins avec le même papier 265 \end{itemize} 266 \end{block} 267 \end{frame} 268 269 270 \begin{frame}[containsverbatim] 271 \frametitle{Problèmes avec les monnaies existantes (I)} 272 273 \begin{block}{Controlées par les états} 274 \begin{itemize} 275 \item Les libertariens n'ont pas confiance dans l'état 276 \item Les traficants de drogue non plus. 277 \end{itemize} 278 \end{block} 279 \begin{block}{Les état dictent les règles pour les banques centrales} 280 \begin{itemize} 281 \item La Réserve fédérale (``Fed'') aux USA 282 \item La Banque centrale européenne BCE in Europe 283 \item La Banque nationale suisse en Suisse 284 \end{itemize} 285 \end{block} 286 \end{frame} 287 288 289 \begin{frame}[containsverbatim] 290 \frametitle{Problèmes avec les monnaies existantes (II)} 291 292 \begin{block}{Les états et les banques peuvent suivre toutes les 293 transactions électroniques} 294 \begin{itemize} 295 \item Les transactions ont lieu de banque à banque 296 \item Clients peuvent être espionnés 297 \item Les banques collectent des frais 298 \end{itemize} 299 \end{block} 300 \begin{block}{Si une banque fait faillite, l'argent est perdu} 301 \begin{itemize} 302 \item Le client n'a pas de vrai contrôle sur son argent. 303 \end{itemize} 304 \end{block} 305 306 \end{frame} 307 308 309 310 311 \begin{frame}[containsverbatim] 312 \frametitle{Une monnaie électronique} 313 314 \begin{block}{Internet est un nouveau territoire} 315 \begin{itemize} 316 \item Pas relié à un pays (ou état) 317 \item Certaines transactions ne sont qu'électroniques (ebooks, 318 films, licences de softwares, jeux, journaux \dots) 319 \end{itemize} 320 \end{block} 321 \begin{block}{Cahier des charges pour une nouvelle monnaie} 322 \begin{itemize} 323 \item Ne doit pas être contrôlée par un état 324 \item Doit avoir une valeur stable 325 \item Transactions gratuites (si possible pas de frais) 326 \item La monnaie ne doit pas être dépensée deux fois (trivial avec 327 l'or, plus difficile avec des données). 328 \end{itemize} 329 \end{block} 330 \end{frame} 331 332 333 \section{Vocabulaire} 334 335 \begin{frame} 336 \frametitle{Vocabulaire (I)} 337 338 \begin{block}{Fonction de hashage = fonction à sens unique} 339 \begin{itemize} 340 \item $z=h(x)$ est facile à calculer 341 \item $x=h^{-1}(z)$ est en pratique impossible à calculer 342 \item Exemples : SHA256, SHA512 343 \end{itemize} 344 345 \end{block} 346 \end{frame} 347 348 \begin{frame} 349 \frametitle{Vocabulaire (II)} 350 \begin{block}{Cryptographie asymétrique} Basée sur une paire de clés 351 \begin{itemize} 352 \item \emph{Clé privée} connue uniquement du propriétaire 353 \item \emph{Clé publique} peut être connue de tous 354 \end{itemize} 355 Avec la clé publique on peut encrypter, mais le décryptage se fait 356 avec la clé privée 357 358 Avec la clé privée on peut signer, on vérifie avec la clé publique 359 360 Exemples: RSA, ElGamal, Courbes éliptiques. 361 \end{block} 362 363 \end{frame} 364 \section{Le Bitcoin} 365 366 367 \begin{frame}[containsverbatim] 368 \frametitle{Le Bitcoin} 369 370 \begin{block}{Inventé en 2008 par ``Satoshi Nakamoto''} 371 \begin{itemize} 372 \item Monnaie virtuelle (Cryptocurrency) basée sur un logiciel open source 373 \end{itemize} 374 \end{block} 375 \begin{block}{Bitcoin est entièrement transparent} 376 \begin{itemize} 377 \item Le logiciel client est open source 378 \item Toutes les transactions sont publiées dans une 379 \emph{``Blockchain''} que tous les clients devraient downloader 380 \item Les validatations des transactions sont faites on-line par 381 des volontaires qui calculent la \emph{Blockchain} 382 \item Les volontaires reçoivent des nouveaux bitcoins (comme des 383 pépites d'or). On les appelle les \emph{``mineurs''}. 384 385 \end{itemize} 386 \end{block} 387 \end{frame} 388 389 390 \begin{frame}[containsverbatim] 391 \frametitle{Une transaction (I)} 392 393 \begin{block}{L'argent est stocké dans une \emph{``Adresse''}} 394 \begin{itemize} 395 \item Une \emph{adresse} est un nombre (pas vraiment) aléatoire 396 \item De l'argent lui est affecté 397 \end{itemize} 398 \end{block} 399 \begin{block}{Transaction} 400 \begin{itemize} 401 \item Une \emph{transaction} est lorsque de l'argent est transféré 402 d'une adresse à une autre. 403 \end{itemize} 404 \end{block} 405 \end{frame} 406 407 408 \begin{frame}[containsverbatim] 409 \frametitle{Une transaction (II)} 410 \begin{block}{Toutes les transactions sont stockées dans une 411 gigantesque \emph{``Blockchain''}} 412 \begin{itemize} 413 \item Contient toutes les transactions depuis la naissance des 414 Bitcoins 415 \item On peut voir l'argent circuler d'une adresse à une autre 416 \item On peut savoir exactement combien d'argent contient chaque 417 adresse. 418 \item Lorsqu'une transaction est ajoutée à la blockchain, 419 l'argent est transféré d'une adresse à une autre. 420 \item Tout le monde voit toutes les transactions et les adresses. 421 \end{itemize} 422 \end{block} 423 \end{frame} 424 425 426 427 428 \begin{frame}[containsverbatim] 429 \frametitle{Une Adresse (I)} 430 431 \begin{block}{Une adresse n'est pas un nombre aléatoire: c'est le 432 hash d'une clé publique.} 433 \begin{itemize} 434 \item L'utilisateur génère une paire de clés asymétriques (clés 435 publique et privée) 436 \item La clé publique est gardée secrète. 437 438 Comme l'argent peut rester longtemps sur une adresse donnée, il 439 pourrait être possible de casser la clé publique si elle était 440 connue. 441 \item Le hash de la clé publique est publié, c'est ce que nous 442 appelons une \emph{adresse} 443 \end{itemize} 444 \end{block} 445 446 \end{frame} 447 448 \begin{frame}[containsverbatim] 449 \frametitle{Une Adresse (II)} 450 451 \begin{block}{Comment dépenser de l'argent} 452 \begin{itemize} 453 \item L'utilisateur doit publier sa clé publique. 454 455 Tout le monde peut vérifier que la clé publique correspond au 456 hash connu (i.e. l'adresse). 457 \item L'utilisateur peut ensuite signer la transaction avec sa clé 458 privée 459 \item Tout le monde peut (et doit) vérifier que la clé privée 460 utilisée correspond bien à la clé publique publiée qui 461 correspond aussi à l'adresse connue dans la blockchain. 462 \item La nouvelle transaction est ajoutée à la blockchain. 463 464 \end{itemize} 465 \end{block} 466 467 \end{frame} 468 469 \begin{frame}[containsverbatim] 470 \frametitle{Une Adresse (III)} 471 472 \begin{block}{Usage} 473 \begin{itemize} 474 \item L'utilisateur devrait dépenser tout l'argent d'une adresse 475 en une seule fois (de manière que l'adresse ne soit plus 476 utilisée) 477 \item Si l'utilisateur veut transférer moins d'argent que le 478 total, il envoie le reste de l'argent vers une nouvelle adresse. 479 \item Si l'utilisateur a besoin de plus d'argent, il va regrouper 480 plusieurs adresses 481 \item Pour grouper plusieurs adresses, l'utilisateur a besoin de 482 TOUTES les clés privées. 483 \end{itemize} 484 \end{block} 485 \end{frame} 486 487 \begin{frame} 488 \frametitle{Alice achète quelquechose à Bob} 489 490 491 % \only<1>{Alice veut acheter quelque chose à Bob} 492 % \only<2>{Bob lui génère une adresse Bitcoin pour recevoir de l'argent} 493 % \only<3>{Bob envoie un message à Alice \emph{"Envoie BTC 0.3 à 35UuDbjJ"}} 494 % \only<4>{Alice génère une nouvelle transaction depuis une de ses adresses} 495 % \only<5>{Bob met à jour sa copie de la Blockchain} 496 % \only<6>{Bob vérifie qu'une transaction arrive à 497 % 35UuDbjJ} 498 % \only<7>{Bob envoie l'objet à Alice} 499 %35UuDbjJWfVGLL4xfYu2zQBCUBCrcBZrLJ 500 \begin{center} 501 \begin{tikzpicture}[node distance=0.2cm, auto,] 502 %nodes 503 \node[punkt](alice){Alice}; 504 \node<1-4>[walet,left= of alice](waletA1){\tiny\begin{tabular}{r|l}\textbf{mBTC}&\textbf{Adresse}\\50&anvjuerjHH\\8.7&NNjuURZZ\\300&UUIODG7\end{tabular}}; 505 \node<5->[walet,left= of alice,node distance=-0.5cm](waletA2){\tiny\begin{tabular}{r|l}\textbf{mBTC}&\textbf{Adresse}\\50&anvjuerjHH\\8.7&NNjuURZZ\end{tabular}}; 506 \node[right=of alice] (dummy) {}; 507 \node[punkt,right= of dummy](bob){Bob}; 508 \node<1-1>[walet,right= of bob](waletB1){\tiny\begin{tabular}{r|l}\textbf{mBTC}&\textbf{Adresse}\\~&~\end{tabular}}; 509 \node<2-5>[walet,right= of bob](waletB2){\tiny\begin{tabular}{r|l}\textbf{mBTC}&\textbf{Adresse}\\&35UuDbjJ\end{tabular}}; 510 \node<6->[walet,right= of bob](waletB3){\tiny\begin{tabular}{r|l}\textbf{mBTC}&\textbf{Adresse}\\300&35UuDbjJ\end{tabular}}; 511 512 %\node[cloud,right= of dummy](bob){Bob}; 513 %\node<1,6>[above= of bob](grass){\includegraphics[width=0.25\textwidth]{imagesPresentation/cannabis.jpg}}; 514 % \path<1-> [line] (bob) -- (alice); 515 516 %\node<7-7>[above= of alice](grass2){\includegraphics[width=0.25\textwidth]{imagesPresentation/cannabis.jpg}}; 517 \node<3-3>[blank,below=of dummy](code) {\includegraphics[width=0.25\textwidth]{imagesPresentation/qrcode-bitcoin.png}} 518 (bob.south) edge[pil] (code) 519 (code) edge[pil] (alice.south); 520 %\node<3-3>[below= of code]{Envoie BTC 0.03 à cette adresse}; 521 522 \node<4-5>[ below= of alice](transaction)[text width=5cm]{{\small 523 (0.03, UUIODG7 $\rightarrow$ 35UuDbjJ)}}; 524 \node[below= of dummy](dummy2){}; 525 \node<4->[below= of dummy2](cloud){\includegraphics[width=0.15\textwidth]{imagesPresentation/network-cloud-hi.png}}; 526 %(transaction.south) edge[->, bend right=45] (cloud.west) 527 \path<4>(transaction.south) edge[->, bend right=45] (cloud.west); 528 \node<4->[below= of cloud,punkt](blockchain){Blockchain}; 529 530 \node<4->[walet,below= of blockchain](waletBC){\tiny\begin{tabular}{r|l}\textbf{mBTC}&\textbf{Adresse}\\50&anvjuerjHH\\8.7&NNjuURZZ\\0&UUIODG7 \\300&35UuDbjJ\end{tabular}}; 531 532 \node<5->[below= of waletB1,punkt](blockchain2){Blockchain}; 533 \path<5> [line] (blockchain) -- (blockchain2); 534 \node<5->[walet,below= of blockchain2](waletBC2){\tiny\begin{tabular}{r|l}\textbf{mBTC}&\textbf{Adresse}\\50&anvjuerjHH\\8.7&NNjuURZZ\\0&UUIODG7 \\300&35UuDbjJ\end{tabular}}; 535 \path<7> [line] (bob) -- (alice); 536 537 538 539 540 541 % \node<4>[below=of dummy] (d) {Données} 542 % (alice.east) edge[pil, bend right=45] (d) 543 % (d) edge[pil, bend right=45] (bob.west); 544 \end{tikzpicture} 545 \end{center} 546 \end{frame} 547 548 549 \section{La Blockchain} 550 551 \begin{frame}[containsverbatim] 552 \frametitle{Partage des Transactions (I)} 553 554 \begin{block}{Toutes les transactions doivent être publiques} 555 \begin{itemize} 556 \item Il n'y a pas de banque pour valider une transaction 557 \item C'est la tâche de la communauté 558 \end{itemize} 559 \end{block} 560 \begin{block}{Chaque transaction doit être envoyée au réseau peer2peer.} 561 \begin{itemize} 562 \item Le protocole transfert la transaction à tout le 563 réseau 564 \item Chaque noeud doit connaitre toutes les transactions 565 \end{itemize} 566 \end{block} 567 \end{frame} 568 \begin{frame}[containsverbatim] 569 \frametitle{Partage des Transactions (II)} 570 \begin{block}{Problèmes} 571 \begin{itemize} 572 \item Un noeud n'est pas on-line 100\% du temps 573 \item Un noeud peut ratter des transactions 574 \end{itemize} 575 \end{block} 576 \begin{block}{Besoin d'une liste des transactions} 577 \begin{itemize} 578 \item Ne peut pas être simplement une immense liste monolithique 579 \item Doit contenir des blocs, c'est une chaine de blocs la 580 \emph{blockchain} 581 \item Doit être validée et unique 582 \end{itemize} 583 \end{block} 584 585 \end{frame} 586 587 588 589 \begin{frame}[containsverbatim] 590 \frametitle{Blockchain} 591 592 \begin{block}{La blockchain contient toutes les transactions depuis 593 la création du bitcoin} 594 \begin{itemize} 595 \item Sa taille actuelle est de 570GB 596 \end{itemize} 597 \end{block} 598 \begin{block}{Chacun peut en avoir une copie (et devrait)} 599 \begin{itemize} 600 \item Le client Satoshi (logiciel standard: Bitcoin Core) 601 télécharge la chaine entière. 602 \item Il peut vérifier chaque adresse et donc pour chaque 603 transaction indiquer si elle est valide. 604 \item Il peut voir si une transaction est incluse dans la blockchain 605 \end{itemize} 606 \end{block} 607 \end{frame} 608 609 610 \section{Le Minage de Bitcoins} 611 \begin{frame}[containsverbatim] 612 \frametitle{Validation des transactions (I)} 613 614 \begin{block}{Les blocs doivent être validés par quelqu'un} 615 \begin{itemize} 616 \item Quelles transactions sont acceptées et lesquelles sont 617 rejetées? 618 \item Impossible d'avoir une unique autorité centrale (banque 619 centrale ou clearing agency). 620 \end{itemize} 621 \end{block} 622 \begin{block}{Un partenaire du réseau va valider UN bloc} 623 \begin{itemize} 624 \item Il choisit l'ensemble des transactions valides 625 \item Très grande responsabilité 626 \item Ce rôle doit être donné à un des membres du réseau au hasard: Comment 627 produire un hasard distribué? 628 629 \end{itemize} 630 \end{block} 631 \end{frame} 632 633 \begin{frame}[containsverbatim] 634 \frametitle{Validation des transactions (II)} 635 636 \begin{block}{La preuve de travail \emph{``proof of work''}} 637 \begin{itemize} 638 \item Le validateur doit générer un ``nonce'' (un nombre 639 quelconque) et l'ajouter à l'ensemble des transactions, ensuite 640 il calcule un hash du tout. 641 642 $hash(Transaction1+Transaction2+Transaction3+...+ nonce)$ 643 \item Le nonce est valide si le hash démarre avec X zéros en 644 notation binaire (X doit 645 varier pour empêcher de générer plus d'un bloc toutes les 10 minutes). 646 \end{itemize} 647 \end{block} 648 \end{frame} 649 650 651 \begin{frame}[containsverbatim] 652 \frametitle{Le mining de Bitcoins (I)} 653 654 \begin{block}{Un Mineur Alice choisit certaines transactions} 655 \begin{itemize} 656 \item Initialement: toutes les transactions 657 \item Actuellement: Uniquement les transactions donnant un bonus 658 au mineur sont sélectionnées 659 \end{itemize} 660 \end{block} 661 \begin{block}{Alice ajoute une transaction vers elle-même} 662 \begin{itemize} 663 \item Alice crée une nouvelle adresse vers laquelle de nouveaux 664 bitcoins sont transférés 665 \item C'est la pépite du mineur 666 \item La taille de la pépite est réduite (divisée par 2) environ 667 tous les 4 ans : Le Halving (la semaine dernière). 668 \end{itemize} 669 \end{block} 670 \end{frame} 671 672 673 \begin{frame}[containsverbatim] 674 \frametitle{Le mining de Bitcoins (II)} 675 676 \begin{block}{Le mineur doit ensuite générer une preuve de travail ``proof of work''} 677 \begin{itemize} 678 \item L'idée est d'avoir ainsi une méthode aléatoire de choix des 679 responsables de la validation des blocs. 680 \item Sur le long terme, les pépites devaient compenser les coûts 681 du minage. 682 \item En réalité, les transactions sont payantes (des frais 683 proportionnels à la taille de la transaction sont exigés par les mineurs). 684 \end{itemize} 685 \end{block} 686 \end{frame} 687 688 689 \begin{frame}[containsverbatim] 690 \frametitle{Preuve de travail I} 691 692 \begin{block}{Idée comment choisir aléatoirement un partenaire? } 693 \begin{itemize} 694 \item Chacun fait des calculs aléatoires et le premier à trouver 695 un résultat satisfaisant a gagné. 696 \end{itemize} 697 \end{block} 698 \begin{block}{Problème: obtenir un résultat débutant avec un nombre 699 donné de zéros} 700 \begin{itemize} 701 \item Une fonction de hashage est vue comme un générateur 702 aléatoire 703 \item Pour générer des valeurs différentes, il suffit de changer 704 la valeur à hasher: Ajouter un nonce 705 706 Hasher une valeur avec un nonce = acheter un billet de 707 loterie 708 \item Chaque hash calculé = nouvelle chance de gagner 709 \end{itemize} 710 \end{block} 711 \end{frame} 712 713 714 \begin{frame}[containsverbatim] 715 \frametitle{Preuve de travail II} 716 717 718 \begin{block}{Exemple} 719 720 721 \footnotesize 722 hash(Transaction1+Transaction2+Transaction3+"AAAAAAAAA")=AE4529EB90 723 724 hash(Transaction1+Transaction2+Transaction3+"AAAAAAAAB")=90A63BB89C 725 726 \dots 727 728 hash(Transaction1+Transaction2+Transaction3+"AAAAABERFP")=00301230FF 729 730 A 10 zéros au début (en forme binaire): valeur OK!!! 731 \end{block} 732 \end{frame} 733 734 735 736 737 738 \begin{frame}[containsverbatim] 739 \frametitle{Deux blocs sont trouvés en parallèle (I)} 740 \begin{block}{2 mineurs trouvent un bloc simultanément} 741 \begin{itemize} 742 \item Les deux blocs entrent en compétition 743 \item A long terme, la blockchain la plus longue est conservée 744 \item Seul le premier à avoir un successeur sera conservé 745 \end{itemize} 746 \end{block} 747 \end{frame} 748 749 750 751 752 753 \begin{frame}[containsverbatim] 754 \frametitle{Deux blocs sont trouvés en parallèle (II)} 755 \begin{block}{Exemple de compétition entre blocs} 756 \begin{itemize} 757 \item On a la blockchain $Chain$ 758 \item Team A et Team B trouvent le blocs : $Block_A$ and $Block_B$ 759 \item On a 2 blockchains: 760 761 $Chain+Block_A$ and $Chain+Block_B$ 762 \item Certain noeuds reçoivent l'une, d'autre l'autre. 763 \item Un mineur trouve un nouveau block: $Block_C$ basé sur 764 $Chain+Block_B$ 765 \item On a 2 blockchains: 766 767 $Chain+Block_A$ and $Chain+Block_B+Block_C$ 768 769 La chaine la plus longue gagne. 770 \end{itemize} 771 \end{block} 772 \end{frame} 773 774 775 776 777 \frame[containsverbatim]{ 778 \frametitle{Protection de la sphère privée} 779 780 \begin{block}{Les transactions sont toutes publiques} 781 \begin{itemize} 782 \item La blockchain peut être downloadée par tout le monde 783 \item On peut utiliser des sites pour voir les transactions 784 (\url{https://blockchain.info/}) 785 \item On voit pour une adresse les transactions entantes et sortantes 786 \end{itemize} 787 \end{block} 788 \begin{block}{Besoin d'anonymat} 789 \begin{itemize} 790 \item Des services sont spécialisés dans le \emph{tumblering} 791 \item On envoie de l'argent à une adresse, l'argent est renvoyé à 792 une nouvelle adresse (depuis une adresse différente). 793 \item Les deux adresses ne sont plus liées. 794 \end{itemize} 795 \end{block} 796 797 } 798 799 800 \begin{frame} 801 \frametitle{Algorithmes utilisés} 802 803 \begin{block}{Hashage} 804 \begin{itemize} 805 \item SHA256 806 \item Fonction à sens unique transformant la clé publique en adresse 807 \end{itemize} 808 \end{block} 809 \begin{block}{Clés publiques et privées} 810 \begin{itemize} 811 \item Clé privée $priv$, un nombre aléatoire de 256 bits 812 \item Courbe Eliptique avec un point générateur $G$ 813 \item Clé publique $Pub = priv \times G$ un point de la courbe 814 \item Multiplication d'un point générateur par un scalaire, produit 815 un autre point de la courbe. 816 \item Impossible d'inverser cette multiplication. 817 \end{itemize} 818 \end{block} 819 820 \end{frame} 821 822 823 % \section{Monero} 824 825 % \begin{frame} 826 % \frametitle{Monero} 827 828 % \begin{block}{Une cryptomonnaie faite pour protéger la sphère privée} 829 % \begin{itemize} 830 % \item Les utilisateurs veulent garder l'anonymat sur leurs 831 % transactions, 832 % \item Pour des actions illégales (Ransomware, Darkmarkets), 833 % \item Pour protéger leur vie privée. 834 % \end{itemize} 835 % \end{block} 836 % \begin{block}{La blockchain reste publique} 837 % \begin{itemize} 838 % \item Chacun peut la lire, la copier, vérifier les transactions 839 % \end{itemize} 840 % \end{block} 841 % \begin{block}{Les tranactions sont anonymes} 842 % \begin{itemize} 843 % \item Impossible de savoir d'où vient une transaction 844 % \item Impossible de savoir le montant d'une transaction 845 % \end{itemize} 846 % \end{block} 847 % \begin{block}{Solution} 848 % \begin{itemize} 849 % \item Signature d'anneau (\emph{``Ring signature''}) 850 % \end{itemize} 851 % \end{block} 852 853 % \end{frame} 854 855 856 857 % \begin{frame} 858 % \frametitle{Transactions pour Monero} 859 860 861 % \only<1>{Alice veut acheter de l'herbe à Bob} 862 % \only<2>{Bob envoie sa clé publique $B_{pub}$ à Alice} 863 % \only<3>{Alice génère une transaction à destination de $B_{ pub}$. } 864 % \only<4>{Alice choisit dans ses transactions, celle dont elle prend l'argent} 865 % \only<5>{La transaction choisie est cachée dans un ensemble de 11 866 % transactions (aléatoires).} 867 % \only<6>{Alice signe l'anneau des 11 transactions} 868 % \only<7>{Alice envoie la nouvelle transaction sur la blockchain} 869 % \only<8>{Bob met à jour sa copie de la Blockchain} 870 % \only<9>{Bob vérifie qu'une transaction arrive bien à destination 871 % de $B_{priv}$, et son montant. (Il est le seul à pouvoir le faire)} 872 % \only<10>{Bob envoie l'herbe} 873 % %35UuDbjJWfVGLL4xfYu2zQBCUBCrcBZrLJ 874 % \begin{center} 875 % \begin{tikzpicture}[node distance=0.5cm, auto,] 876 % %nodes 877 % \node[punkt](alice){Alice}; 878 % \node<1-4>[walet,left= of alice](waletA1){\tiny\begin{tabular}{r|l}\textbf{mXMR}&\textbf{Adresse}\\300&UUIODG7\end{tabular}}; 879 % \node<5->[walet,left= of alice,node distance=-0.5cm](waletA2){\tiny\begin{tabular}{r|l}\textbf{mXMR}&\textbf{Adresse}\\~&~\end{tabular}}; 880 % \node[right=of alice] (dummy) {}; 881 % \node[punkt,right= of dummy](bob){Bob}; 882 % \node<1-9>[walet,above= of bob](keyb){\tiny ($B_{pub}$,$B_{priv}$) }; 883 % \node<2-9>[walet,above= of alice](keya){\tiny $B_{pub}$ }; 884 % \path<2> [line] (bob) -- node [near start] {$B_{pub}$} (alice); 885 % \node<1-8>[walet,right= of bob](waletB1){\tiny\begin{tabular}{r|l}\textbf{mXMR}&\textbf{Adresse}\\~&~\end{tabular}}; 886 % %\node<2-5>[walet,right= of bob](waletB2){\tiny\begin{tabular}{r|l}\textbf{mXMR}&\textbf{Adresse}\\&35UuDbjJ\end{tabular}}; 887 % \node<9->[walet,right= of bob](waletB3){\tiny\begin{tabular}{r|l}\textbf{mXMR}&\textbf{Adresse}\\300&35UuDbjJ\end{tabular}}; 888 889 % \node[reseau,above= of waletB1](grass){\includegraphics[width=0.25\textwidth]{imagesPresentation/cannabis.jpg}}; 890 891 % \node<10->[reseau,above= of waletA2](grass2){\includegraphics[width=0.25\textwidth]{imagesPresentation/cannabis.jpg}}; 892 % \path<10> [line] (grass) -- (grass2); 893 894 895 % \node<3-4>[ below= of waletA1](transaction)[text width=5cm]{{\small 896 % (XMR 0.3, 35UuDbjJ)}}; 897 % \node<5-7>[ below= of waletA1](transaction2)[text width=5cm]{{\tiny 898 % \begin{tabular}{lll}\textbf{Origines}&\textbf{Montant}&\textbf{Destination}\\UUIODG7 &XMR 0.3& 35UuDbjJ\\anvjuerjHH&&\\NNjuURZZ&&\\\end{tabular}}}; 899 900 % \node[below= of dummy](dummy2){}; 901 % \node[below= of dummy](cloud){\includegraphics[width=0.15\textwidth]{imagesPresentation/network-cloud-hi.png}}; 902 903 % %\path<4>(transaction.south) edge[->, bend right=45] (cloud.west); 904 % \node[below= of cloud,punkt](blockchain){Blockchain}; 905 906 % \node<1-4>[walet,below= of blockchain](waletBC){\tiny\begin{tabular}{l}\textbf{Transactions}\\anvjuerjHH\\NNjuURZZ\\UUIODG7\end{tabular}}; 907 % \node<5-5>[walet,below= of blockchain](waletBC){\tiny\begin{tabular}{l}\textbf{Transactions}\\\textbf{anvjuerjHH}\\\textbf{NNjuURZZ}\\UUIODG7 \end{tabular}}; 908 % \node<6->[walet,below= of blockchain](waletBC){\tiny\begin{tabular}{l}\textbf{Transactions}\\anvjuerjHH\\NNjuURZZ\\UUIODG7 \\\textbf{35UuDbjJ}\end{tabular}}; 909 910 % \node<8->[below= of waletB1,punkt](blockchain2){Blockchain}; 911 % \path<8> [line] (blockchain) -- (blockchain2); 912 % \node<8->[walet,below= of blockchain2](waletBC2){\tiny\begin{tabular}{r}\textbf{Transactions}\\anvjuerjHH\\NNjuURZZ\\UUIODG7 \\\textbf{35UuDbjJ}\end{tabular}}; 913 % \path<7> [line] (bob) -- (alice); 914 915 916 917 918 919 920 % % \node<4>[below=of dummy] (d) {Données} 921 % % (alice.east) edge[pil, bend right=45] (d) 922 % % (d) edge[pil, bend right=45] (bob.west); 923 % \end{tikzpicture} 924 % \end{center} 925 % \end{frame} 926 927 % \begin{frame} 928 % \frametitle{Algorithmes utilisés par Monero} 929 930 % \begin{block}{Hashage} 931 % \begin{itemize} 932 % \item Pour la proof of work : CryptoNight (utilisant CryptoNote) 933 % \item Difficile pour les ``application-specific integrated 934 % circuits'' (ASIC) 935 % \end{itemize} 936 % \end{block} 937 % \begin{block}{Signature de cercle} 938 % \begin{itemize} 939 % \item Schema de signature MLSAG (Liu, Wei et Wong) 940 % \end{itemize} 941 % \end{block} 942 % \begin{block}{Cryptographie asymétrique (clés publiques et privées)} 943 % \begin{itemize} 944 % \item Courbes éliptiques (multiplication par un scalaire est 945 % triviale, division difficile). 946 % \end{itemize} 947 % \end{block} 948 949 % \end{frame} 950 951 \section{Ethereum} 952 953 \begin{frame} 954 \frametitle{Ethereum} 955 \begin{block}{Monnaie décentralisée basée sur une block chain} 956 \begin{itemize} 957 \item Comme Bitcoin 958 \item La block chain est répartie entre de multiples ordinateurs 959 \end{itemize} 960 \end{block} 961 962 \begin{block}{Autorise des smart contracts (contrats intelligents)} 963 \begin{itemize} 964 \item Ethereum autorise l'execution de programmes (contrats 965 intelligents) 966 \item Ces programmes peuvent juste transférer de l'argent d'une 967 adresse à une autre, 968 \item Ils peuvent aussi être beaucoup plus complexes. 969 \item Le language est Turing complet. 970 \end{itemize} 971 \end{block} 972 \end{frame} 973 974 \begin{frame} 975 \frametitle{Transactions} 976 977 \begin{block}{Coûts des transactions} 978 \begin{itemize} 979 \item Les utilisateurs doivent payer pour que leur contrat soit 980 executé 981 \item Plus le contrat nécessite de calculs, plus il faut payer. 982 \end{itemize} 983 \end{block} 984 985 \begin{block}{Choix des transactions} 986 \begin{itemize} 987 \item Ethereum utilise la ``proof of stake'' (preuve d'enjeu) pour 988 déterminer le valideur du prochain bloc. 989 \end{itemize} 990 \end{block} 991 992 \begin{block}{Preuve de travail (=Bitcoin)} 993 \begin{itemize} 994 \item Tous les mineurs doivent calculer en boucle des hash. 995 \item Très inefficace ! Très gros impact énergétique et écologique! 996 \end{itemize} 997 \end{block} 998 \end{frame} 999 1000 \begin{frame} 1001 \frametitle{Preuve d'enjeu} 1002 \begin{block}{Preuve d'enjeu} 1003 \begin{itemize} 1004 \item Les utilisateurs peuvent mettre des Ethereum en ``otage'' 1005 (enjeu). 1006 \item Parmis ces utilisateurs, un est choisi pour créer le bloc 1007 (et donc toucher la récompense). 1008 \item S'il choisit normalement le bloc, tout va bien, 1009 \item S'il triche, il perd tout son argent mis en gage. 1010 \end{itemize} 1011 \end{block} 1012 \begin{block}{Avantage} 1013 \begin{itemize} 1014 \item Beaucoup moins de consommation d'énergie, 1015 \item Tricher reste très difficile (risque de tout perdre). 1016 \end{itemize} 1017 \end{block} 1018 \end{frame} 1019 1020 \begin{frame} 1021 \frametitle{Ethereum} 1022 \begin{block}{Une monnaie numérique plus écologique} 1023 \begin{itemize} 1024 \item Passage de ``proof of work'' à ``proof of stake'' 1025 \item Baisse de la consommation d'énergie de 99.95\% 1026 \end{itemize} 1027 \end{block} 1028 \begin{block}{Mais toujours très consommatrice} 1029 \begin{itemize} 1030 \item Chaque calcul est répliqué (et vérifié) sur toutes les 1031 machines 1032 \item Chaque calcul est fait 6000 fois. 1033 \end{itemize} 1034 \end{block} 1035 \end{frame} 1036 1037 \section{Taler} 1038 1039 \begin{frame}{GNU-Taler } 1040 1041 \begin{block}{Cash-électronique} 1042 \begin{itemize} 1043 \item Le consommateurs retirent de l'argent électronique 1044 (anonymisé) depuis leur banque, 1045 \item Ils peuvent s'échanger librement cet argent, 1046 \item Ils peuvent payer à un commerçant, 1047 \item Le commerçant dépose l'argent électronique à sa banque et 1048 son compte est crédité. 1049 \end{itemize} 1050 \end{block} 1051 \begin{block}{Pas une cryptomonnaie} 1052 \begin{itemize} 1053 \item Pas de block chain, 1054 \item La banque est responsable des billets émis. 1055 \end{itemize} 1056 \end{block} 1057 \end{frame} 1058 1059 \begin{frame}{Taler : Vue d'ensemble} 1060 \begin{center} 1061 \begin{tikzpicture} 1062 \tikzstyle{def} = [node distance= 4.5em and 6em, inner sep=1em, outer sep=.3em]; 1063 \node (origin) at (0,0) {}; 1064 \node (exchange) [def,above=of origin,draw]{Banque}; 1065 \node (customer) [def, draw, below left=of origin] {Consommateur}; 1066 \node (merchant) [def, draw, below right=of origin] {Marchand}; 1067 \node (auditor) [def, draw, above right=of origin]{Auditeur}; 1068 1069 \tikzstyle{C} = [color=black, line width=1pt] 1070 1071 \draw [<-, C] (customer) -- (exchange) node [midway, above, sloped] 1072 (TextNode) {retire des jetons}; 1073 \draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped] 1074 (TextNode) {depose les jetons}; 1075 \draw [<-, C] (merchant) -- (customer) node [midway, above, sloped] 1076 (TextNode) {dépense les jetons}; 1077 \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode) {vérifie}; 1078 1079 \end{tikzpicture} 1080 \end{center} 1081 \end{frame} 1082 1083 \begin{frame}{Comment ça marche? (I)} 1084 \begin{block}{Signature à l'aveugle (lors du retrait des jetons)} 1085 \begin{itemize} 1086 \item Le consommateur génère un jeton, 1087 \item Il anonymize le jeton, 1088 \item Il envoie le jeton anonymizé à la banque pour signature, 1089 \item La banque signe le jeton anonymizé, 1090 \item Le consommateur récupère son jeton dé-anonymizé et signé 1091 \end{itemize} 1092 \end{block} 1093 1094 \begin{block}{2 versions} 1095 \begin{itemize} 1096 \item Pour RSA : David Chaum 1097 \item Pour les courbes éliptiques : Clause Schnorr 1098 \end{itemize} 1099 \end{block} 1100 \end{frame} 1101 1102 \begin{frame}{Comment ça marche? (II)} 1103 \begin{block}{Protection de la sphère privée} 1104 \begin{itemize} 1105 \item La banque sait exactement quel marchand a reçu combien : 1106 taxable, pas de trafic, pas de blanchiement d'argent. 1107 \item Personne ne sait comment le client dépense son argent qui est 1108 intraçable (grâce à la signature à l'aveugle). 1109 \end{itemize} 1110 \end{block} 1111 \end{frame} 1112 1113 1114 1115 \begin{frame}{Taler : plan de déploiement} 1116 1117 \begin{block}{En Suisse} 1118 \begin{itemize} 1119 \item \textit{Netzbon} : Monnaie locale à Bâle, en cours de 1120 déploiement 1121 \item \textit{Interne à la BFH} : Automate à snacks (bientôt 1122 aussi automate à café). 1123 \item \textit{CHF dans toute le Suisse} : en cours de déploiement 1124 \end{itemize} 1125 \end{block} 1126 \begin{block}{Reste du monde} 1127 \begin{itemize} 1128 \item \textit{Projet NGI-Taler} avec une banque allemande (pour un 1129 déploiement en 2025 dans la zone euro), et une banque hongroise. 1130 \item \textit{Depolymerizer} Paiements en Bitcoins à travers 1131 Taler. Déjà opérationel. 1132 \end{itemize} 1133 \end{block} 1134 \end{frame} 1135 1136 % \section{Vue d'ensemble} 1137 % \begin{frame} 1138 % \frametitle{Cryptomonnaies \footnote{\url{https://coinmarketcap.com/all/views/all/}}} 1139 1140 % \begin{block}{Bitcoin BTC (71 milliards de USD)} 1141 % \begin{itemize} 1142 % \item Première et plus grosse monnaie, très utilisée sur le Darknet, 1143 % \item Fonction de Hashage: SHA256 1144 % \end{itemize} 1145 % \end{block} 1146 % \begin{block}{Ethereum ETH (14 milliards de USD)} 1147 % \begin{itemize} 1148 % \item Permet les ``smart contracts'' avec un langage Turing 1149 % complet, qui s'executent dans des machines virtuelles. 1150 % \end{itemize} 1151 % \end{block} 1152 % \begin{block}{XRP (12 milliards de USD)} 1153 % \begin{itemize} 1154 % \item Fonction de hashage: scrypt (requière beaucoup plus de mémoire). 1155 % \end{itemize} 1156 % \end{block} 1157 % \begin{block}{Bitcoin Cash BCH (3 milliards de USD)} 1158 % \begin{itemize} 1159 % \item Hard Fork de Bitcoin, juillet 2017 1160 % \item Taille des blocs passe de 1MB à 8MB 1161 % \end{itemize} 1162 % \end{block} 1163 % \begin{block}{...} 1164 % \end{block} 1165 % \begin{block}{Monero (900 millions de USD)} 1166 % \begin{itemize} 1167 % \item Très orienté protection de la sphère privée 1168 % \item Ni les montants, ni les destinataires ne sont connus. 1169 % \end{itemize} 1170 % \end{block} 1171 % \end{frame} 1172 1173 1174 \section{Conclusion} 1175 \begin{frame} 1176 \frametitle{Conclusion (I)} 1177 \begin{block}{Nombreuses Cryptomonnaies} 1178 \begin{itemize} 1179 \item Des centaines de cryptomonnaies 1180 \item Les principales : BTC et ETH 1181 \end{itemize} 1182 \end{block} 1183 1184 \begin{block}{Principes} 1185 \begin{itemize} 1186 \item Une blockchain copiée sur des milliers d'ordinateurs 1187 \item Pas facile de faire un consensus entre des acteurs 1188 indépendants (proof of work vs proof of stake). 1189 \end{itemize} 1190 \end{block} 1191 \end{frame} 1192 1193 \begin{frame}{Conclusion (II)} 1194 \begin{block}{Problèmes principaux} 1195 \begin{itemize} 1196 \item Consommation d'énergie (proof of work surtout) 1197 \item Consommation d'énergie (proof of stake aussi) 1198 \item Consommation de place (réplication des informations sur tous 1199 les ordinateurs). 1200 \item Délai dans la validation d'une transaction (pour éviter la 1201 double dépense), peut atteindre 24h pour les gros montants 1202 \item Coût des transactions : impossible de faire des micro-paiements. 1203 \end{itemize} 1204 \end{block} 1205 \end{frame} 1206 1207 \begin{frame}{Conclusion (III)} 1208 \begin{block}{Alternative : Jetons} 1209 \begin{itemize} 1210 \item Des jetons émis par une banque centrale ou une banque 1211 commerciale. 1212 \item Echanges immédiats (validation par la banque) 1213 \item Coûts de transaction minimes (dépend de la politique de la banque / banque 1214 centrale). 1215 \item Possibilité de micro-paiements. 1216 \item Possible avec toutes les monnaies : CHF, EUR, Bitcoin, etc. 1217 \end{itemize} 1218 \end{block} 1219 1220 1221 1222 \end{frame} 1223 1224 1225 \begin{frame} 1226 \frametitle{Questions?} 1227 \begin{block}{Contact: emmanuel.benoist@bfh.ch} 1228 \end{block} 1229 \begin{block}{Web : https://www.benoist.ch} 1230 \end{block} 1231 \end{frame} 1232 1233 % \begin{frame} 1234 % \frametitle{Test Tikz Picture} 1235 % \begin{center} 1236 % \begin{tikzpicture}[node distance=1cm, auto,] 1237 % %nodes 1238 % \node[punkt] (implant) {Implant}; 1239 % \node[below=of implant] (dummy) {}; 1240 1241 % \node[below=of dummy] 1242 % (physician) {\includegraphics[width=0.25\textwidth]{qrcode-bitcoin.png}}; 1243 % \node[below=of physician] (dummy2) {}; 1244 % \node[punkt, inner sep=5pt,below=of dummy2] 1245 % (constructor) {Fabricant}; 1246 % % We make a dummy figure to make everything look nice. 1247 % \node[right=of dummy] (t) {Mise à jour Firmware} 1248 1249 % (t) edge[pil,bend right=45] (implant.east) % edges are used to connect two nodes 1250 % (physician.east) edge[pil, bend right=45] (t); % .east since we want 1251 % % consistent style 1252 % \node[left=of dummy] (d) {Données} 1253 % (implant.west) edge[pil, bend right=45] (d) 1254 % (d) edge[pil, bend right=45] (physician.west); 1255 % %edge[pil,<->, bend left=45] 1256 % %node[auto] {Direct (a)} (t) 1257 % \node[right=of dummy2] (t2) {Mise à jour Firmware} 1258 1259 % (t2) edge[pil,bend right=45] (physician.east) % edges are used to connect two nodes 1260 % (constructor.east) edge[pil, bend right=45] (t2); % .east since we want 1261 % % consistent style 1262 % \node<2>[left=of dummy2] (d2) {Données} 1263 % (physician.west) edge[pil, bend right=45] (d2) 1264 % (d2) edge[pil, bend right=45] (constructor.west); 1265 % \end{tikzpicture} 1266 % \end{center} 1267 % \end{frame} 1268 1269 1270 % \begin{frame} 1271 % \frametitle{test TIKZ 2} 1272 % \begin{tikzpicture}[node distance = 3cm, auto] 1273 % % Place nodes 1274 % \node [cloud] (init) {n}; 1275 % \node [blank, below of=init] (sup) {}; 1276 % \node [decision, below of=sup] (square) {$n^2 \le 1$}; 1277 % \node [cloud, right of=square] (end) {End}; 1278 % \node [block, left of=square] (newN) {$n = \frac{2}{n}$}; 1279 1280 % % Draw edges 1281 % \path<1-> [lineeee] (init) -- (square); 1282 % \path<2> [line] (square) -- node [near start] {yes} (end); 1283 % \path<3-> [line] (square) -- node [near start] {no} (newN); 1284 % \path<4> [line] (newN) |- (sup); 1285 % \end{tikzpicture} 1286 1287 % \end{frame} 1288 % This should be last... 1289 \begin{frame}{Acknowledgements} 1290 1291 \begin{minipage}{0.45\textwidth} \ \\ 1292 {\tiny Funded by the European Union (Project 101135475).} 1293 1294 \begin{center} 1295 \includegraphics[width=0.5\textwidth]{texinputs/images/bandera.jpg} 1296 \end{center} 1297 \end{minipage} 1298 \hfill 1299 \begin{minipage}{0.45\textwidth} 1300 {\tiny Funded by SERI (HEU-Projekt 101135475-TALER).} 1301 1302 \begin{center} 1303 \includegraphics[width=0.65\textwidth]{texinputs/images/sbfi.jpg} 1304 \end{center} 1305 \end{minipage} 1306 1307 \vfill 1308 1309 {\tiny Views and opinions expressed are however those of the author(s) only 1310 and do not necessarily reflect those of the European Union. Neither the 1311 European Union nor the granting authority can be held responsible for 1312 them.} 1313 \end{frame} 1314 1315 1316 \end{document}