 Je suis vraiment contente d'annoncer cette session, ça s'appelle Blockchain, un livre photo et c'est Alex qui va nous présenter ça. Blockchain c'est vraiment un sujet dont on parle beaucoup dans les médias, c'est une solution à tout, peu importe quoi. Mais comment ça fonctionne réellement ou ce que c'est réellement, beaucoup de gens ne savent pas trop. Donc on a vraiment une introduction ici pour les débutants avec des photos, des images. Donc dites bienvenue à Alex. Salut. Oui je m'appelle Alex et je suis à l'université technique de Brown's Fag. Je suis dans la sécurité appliquée. Cette session qui s'appelle Blockchain, ce n'est pas sur les crypto-currency, les monnaies crypto, ni sur les portefeuilles à utiliser. Je ne suis vraiment pas au courant de ces sujets-là et ce n'est vraiment pas le focus. J'espère que vous ne me jugerez pas. C'est vraiment une introduction très approximative à la technologie. Ne vous attendez pas à une présentation mathématique ou très ultra technique. Imaginez le scénario suivant. Il était une fois deux personnes. Appelons-les Marie et Alex à droite. Ils voulaient faire du business ensemble. Marie veut acheter une maison à Alex. Donc ils se sont mis d'accord sur un certain montant d'argent et Alex amène les clés pour la maison. Puisque Alex et Marie ne se connaissent pas très bien, ils ne se font pas vraiment confiance. Donc ils décident de mettre en place un contrat pour la vente. Donc à droite vous voyez un contrat de vente typique. Et ils contiennent des informations importantes comme l'objet qui doit être vendu, la maison d'Alex, l'adresse, ce qu'il y a à l'intérieur, le montant d'argent. Par exemple, la maison coûte un demi-million. Les personnes qui sont impliquées dans ce contrat, dans ce qu'elle a Marie et Alex, et bien sûr les deux signatures. La dernière étape c'est que le contrat doit être horodaté pour être valide. De nos jours ce genre de contrat existe généralement en tant que document numérique. Mais pour les deux personnes, le document analog et le document numérique dispensent à tous les parties, rend les deux parties possibles, la possibilité d'alterrer le contrat. Ce qui peut le rendre invalid. Par exemple, changer les dates, l'horodatage. Donc il faut trouver un moyen pour Alex de prendre l'argent de Marie et il pourrait par exemple garder la clé. Donc en 1990 on a proposé une solution cryptographique sophistiquée pour signer digitalement numériquement un document et créer l'horodatage de manière numériquement. Donc les deux documents analog et numériques ne peuvent pas être séparés l'un de l'autre sans être endommagés. Donc assumons que le bloc que vous voyez ici est un document digital avec l'horodatage. Donc avec le cadre bleu ici représente la solution cryptographique. Malheureusement on va toujours avoir un problème. En souvenir, l'acheteur Alex peut faire disparaître le contrat. Le vendeur Alex peut faire disparaître le contrat et prétendre qu'il n'a jamais existé. Donc pour résoudre ce problème, le document a proposé une technique de chénage pour les blocs. Donc on a créé une chaîne de blocs qui contient les différents contrats, c'est ce qu'on appelle une blockchain. Puisque c'est une chaîne, c'est impossible de supprimer l'un des blocs. Enlever un bloc de l'intérieur casserait complètement la chaîne d'une manière à ce qu'on puisse plus vraiment la remettre de la même manière qu'elle était à l'origine. Bon ça n'empêche pas que quiconque puisse faire disparaître l'intégralité de la chaîne bien sûr. Mais plus la chaîne sera longe, plus de personnes sont impliquées dans la chaîne et plus le risque de nos parties de malveillance est élevé. C'est clair jusque là. Mais le problème reste, c'est qu'un problème demeure, c'est que cette chaîne doit être stockée quelque part. Donc disons qu'on a une autre personne de confiance qui possède cette chaîne. Donc voilà cette personne de confiance qui gère notre blockchain. Mais cette partie de confiance peut également échouer ou devenir non fiable à long terme. On peut également arriver à des accidents, le blockchain qui ne fonctionne plus dû à des problèmes de hardware, des problèmes matériels, une panne matérielle par exemple, ou une suppression accidentelle des données. Donc c'est comme chaque service centralisé, il faut faire confiance. Imaginez que votre fournisseur d'accès de messagerie disparaisse complètement demain. Donc combien de services utilisez-vous qui dépendent de votre adresse mail ? Voilà c'est pour cette raison que le journal suggère de distribuer des copies de notre blockchain à beaucoup d'autres témoins receveurs. Dix par exemple ici. Vous pouvez voir qu'il n'y a plus de stockage centralisé. On a plein de participants sur lesquels on peut compter. Donc on va appeler ça un réseau décentralisé. On en parlera, ça va devenir important après. Donc pour l'instant même si certaines de ces parties échouent, tant qu'on a une majorité qui stocke une copie valide et identique de notre blockchain, on peut continuer à faire confiance. Vous suivez toujours ? Donc la question reste comment cette chose mystique appelée cryptographie fonctionne ? Donc voilà à quoi ressemble un tel bloc. En fait ceci est le premier bloc de blockchain jamais créé. Mais je suppose que vous n'êtes pas intéressés par un cours de maths. Comme promis évitons les détails mathématiques et restons visuels. Mais voilà pour votre information ça c'est un bloc. Donc prétendons que d'observer Alice et Bob. Donc un autre contrat. Ils veulent faire un deal ensemble. Par exemple Alice veut vendre son smartphone à Bob. Est-ce que vous vous souvenez des caméras Polaroid où vous pouviez prendre une photo et elle était imprimée instantanément ? Je pense que c'est revenu à la mode maintenant. Donc pendant qu'on observe cette situation prenez une photo Polaroid de la situation. Cette photo est imprimée et atteste du contrat, du deal. On la met sur un tableau noir par exemple comme ici. On peut dire que cette image représente un bloc. Vous vous souvenez les blocs à encadrement bleu comme on les a vu tout à l'heure. Donc un peu plus tard nous observons une nouvelle vente. Ici nous avons Charlie qui veut vendre sa voiture à Pierre. Encore nous allons prendre une photo. Mais cette fois on reprend la photo de tout à l'heure en fond de cette situation comme on voit ici. Donc maintenant on reprend une photo Polaroid et on la remet sur notre tableau noir. Et qu'est ce qu'on voit maintenant ? La première photo qui est notre premier bloc apparaît sur le fond de la seconde photo qui est notre second bloc. Admettons maintenant que le deuxième bloc, s'il veut le premier bloc et le deuxième bloc s'enchaîner, si quelqu'un veut changer le contenu du premier bloc, il doit également changer le contenu du deuxième bloc, ce qui signifie plus d'efforts pour notre personne malveillante. Continuons à faire la même chose. Et ajoutons une troisième photo à notre tableau. Maintenant nous voyons Eve et Alex qui échangent des biens. On voit que le deuxième bloc est en fond de cette image. Donc le troisième est enchaîné au deuxième par le biais de la photo en fond. Vous êtes toujours avec moi ? Et maintenant pour compléter notre tableau, on a un quatrième bloc avec la maison et donc on peut voir donc Amine et Ed qui échangent des marchandises. On peut voir le contenu du troisième bloc dans cette quatrième image. Donc le quatrième bloc est enchaîné au troisième bloc. Maintenant nous pouvons voir la grande image, la vue d'ensemble. Donc maintenant si quelqu'un veut modifier un bloc, il doit modifier toute la chaîne, donc les quatre blocs, sinon la modification sera détectable. On peut dire qu'on a créé un type de blockchain très spécial composé d'images polaroïdes qui représentent des blocs bien sûr. Ok. Donc cet effort peut nous apporter des certaines propriétés. Il est important de dire que certaines de ces propriétés sont facultatives, sont optionnelles. Il existe différents types de systèmes de blockchain et la plupart des propriétés dépendent du type de blockchain qu'on utilise. Regardons les propriétés les plus importantes à mon avis. On revenons à notre tableau noir de tout à l'heure. Donc nous on a déjà observé le mécanisme de chénage. Donc la photo qui suit etc. Le mécanisme rend nos blocs immuables et ainsi les contrats à l'intérieur sont également immuables. Ils ne peuvent pas être modifiés qu'après qu'une fois que la chaîne est complètement modifiée. Donc plaçons notre tableau n'importe où dans le public. Ça donne à tous la possibilité de garder un œil sur tout ce qui se passe dans notre chaîne et peut-être détecter des anomalies. Donc le blockchain peut être aussi cool qu'un logiciel open source par exemple parce qu'on a d'autres parties, c'est notre réseau distribué vous vous souvenez, peuvent créer une copie exacte de notre tableau noir et mettre à jour leur copie chaque fois que quelque chose de nouveau est ajouté. Donc si la blockchain d'origine devient invalid, on peut demander à notre réseau distribuer la dernière copie valide de la blockchain et la mettre sur le bord. Même si certains de ces parties sont malveillants, tant qu'on a une majorité honnête, on peut on peut toujours avoir une majorité de copies valides et ainsi éviter l'affraude. Au moins il est possible de garantir l'anonymat de toutes les parties concernées. Donc les parties dans notre réseau distribué et les parties impliquées dans les contrats à l'intérieur de nos blocs. Donc en résumé, nous pouvons dire que les contrats de notre blockchain sont immuables, le contrôle de la blockchain est décentralisé et vraiment difficile d'obtenir une majorité de ce réseau du côté obscur. Notre conseil et donc la blockchain peuvent être soumis à l'examen du public et c'est impossible de retirer un des blocs à l'intérieur de la chaîne sans la casser complètement. On peut fournir un anonymat à toutes les parties qui sont impliquées dans les transactions et dans le réseau distribué et au moins on n'est pas à la merci d'une institution unique comme une banque, un gouvernement ou autre. Donc on dirait qu'on a plutôt des fonctionnalités sympas, c'est que certaines propriétés que nous abandonnons ici. Donc regardons plus près une application commune à la blockchain. Je pense que la plupart d'entre vous ont déjà entendu parler de ce qu'on appelle les crypto-monnaies comme le bitcoin ou le litecoin. Il y en a vraiment plein d'autres, on a les wallcoins, etc. Mais parlons de transactions financières en utilisant le blockchain en général. Ça c'est une forme classique de transfert bancaire en Allemagne. Avant l'époque des services bancaires en ligne, ce type de formulaire était utilisé pour transférer de l'argent d'un compte bancaire à un autre. Peut-être que certains d'entre vous s'en souviennent encore, vous deviez écrire très clairement dessus, c'était horrible. Vous remplissiez ce formulaire, vous le donniez à votre banque et il s'occupait de tout le reste. Vous pouvez voir quelques champs ici distincts. Donc le nom de l'expéditeur est du destinataire de l'argent. L'expéditeur est en bas. On voit ici le numéro de compte, les deux numéros de compte. Donc ici on a l'identifier en bancaire. Donc ici dans ce cas là on voit que c'est la même banque. Bien sûr on voit la somme et la signature de l'expéditeur ainsi que la date. Donc pour une transaction financière, pour un transfert financier en Bitcoin par exemple, on n'a pas besoin d'autant d'informations. La seule information dont nous avons besoin, c'est les clés publics des expéditeurs et des destinataires qui sont utilisés de la même manière que des numéros de compte mais elles sont beaucoup plus longues et beaucoup plus chiffrées. Bien sûr on a besoin du montant à envoyer et la signature de l'expéditeur qui contient également l'aurodatage. Souvenez-vous, c'est tout est numérique. Donc dans le temps, on mettait ce formulaire rempli dans une boîte aux lettres de la banque et on oubliait de faire quoi que ce soit. Dans les systèmes de crypto-monnaie, toutes les transactions commandées sont collectées par notre réseau distribué. Donc disons que le réseau a collecté cette transaction en attente. Donc mais ne sont pas encore dans notre blockchain. Donc revenons à notre blockchain. On a cinq blocs à l'intérieur et maintenant on nous sommes confrontés à une question. Quelle transaction formera le sixième bloc de notre chaîne ? Oui vous êtes d'accord avec la question. Peut-être que certains d'entre vous diront, tiens on a différents orodatages. On ne peut pas simplement utiliser les orodatages des transactions. On a peut-être des systèmes dans différents fuseaux horaires. Donc il faut trouver, on a besoin d'une autre solution que l'orodatage. Peut-être que certains d'entre vous savent déjà. Donc si toutes les parties impliquées suivent une règle sur la manière de trouver un accord sur quelque chose, on peut appeler cela un protocole de consensus. Peut-être que certains d'entre vous ont déjà entendu parler de ça. D'accord. Donc souvenez-vous, remplaçons cette transaction par quelque chose de beaucoup plus simple. Disons que des symboles de fantaisie ont été proposées comme candidat pour le bloc suivant. Donc notre réseau distribué doit maintenant trouver un consensus sur la question, quelle symbole formera le prochain bloc de notre chaîne. Il y a différentes manières d'atteindre cet objectif. Donc parlons des protocoles les plus connues pour les protocoles de consensus. Peut-être que le plus populaire est le réseau Bitcoin et c'est le protocole de preuve du travail, proof of work. Alors qu'est-ce que cela à voir avec un consensus avec notre première question ? Donc revenons à la question initiale. Quelle symbole doit constituer le bloc suivant ? Simplement dit, chaque fois qu'un nouveau bloc doit être créé, le réseau organise une course publique. Tout le monde peut participer à cette course. Le gagnant de cette course peut décider quelle symbole entrera dans le bloc suivant. Ça a l'air simple. Et dans cette course, la partie gagnante sélectionne le symbole du coeur pour le bloc suivant. Donc il apparaît ici. Le résultat de cette course est connu de toutes les parties du notre réseau distribué. Chacune de nos parties ajoute un nouveau bloc à sa propre copie de chaînes de blocs avec le symbole du coeur à l'intérieur du nouveau bloc. D'accord ? Bien. Malheureusement, comme certains d'entre vous le savent, ce protocole de consensus présente quelques inconvénients. Le plus grave, le plus sérieux, c'est probablement l'impact négatif sur l'environnement. Tenir de telle course, mettre en place de telle course, consomme énormément de ressources. En réalité, bien sûr, ce ne sont pas des motos, mais un grand nombre d'ordinateurs de hautes performances et hautement spécialisés qui participent aux courses. Et bien sûr, il faut une énorme quantité de puissance, ce qui n'est pas vraiment bon pour l'environnement. L'année dernière, il semblait que le réseau de Bitcoin avait besoin de la même puissance que pour un an que l'intégralité du Danemark, ce qui est beaucoup. Donc, vous n'aimez pas ce protocole ? Regardons un autre protocole de consensus. Celui-ci dépend du vote des participants d'un groupe. On appelle ça le vote de consortium. C'est le nom du protocole, protocole de vote de consortium. Donc revenons à nos symboles fantaisies de tout à l'heure. La question de savoir lequel d'entre eux formera le bloc suivant. Donc au lieu d'un vaste réseau de participants inconnu conduisant des courses de motos, nous avons invité certaines parties dans un groupe fixe et qu'on appelle un consortium. Chaque fois qu'un bloc est créé, les participants de ce consortium procèdent à un vote qui est similaire à une élection électronique. Donc le symbole pour lequel la plupart des parties ont voté gagne. Dans ce tour, on peut voir que deux parties ont voté pour le cercle, deux pour le cœur et trois pour l'étoile. Donc l'étoile a été choisi. Et c'est ce qui va apparaître sur ce qui sera visible sur notre prochain bloc. Donc le résultat de cette élection sera visible sur notre réseau distribué qui contient des copies de notre chaîne de blocs. Donc chaque partie du réseau distribué met à jour sa copie locale avec un bloc contenant le symbole de l'étoile à l'intérieur. C'est génial, on voit aucun inconvénient environnemental ici. C'est peut-être la meilleure solution. Mais est-ce que certains d'entre vous ne sont pas d'accord ? Bien, mais le problème ici c'est la formation, la création de ce consortium. On ne peut pas s'assurer que les participants invités n'ont pas été biaisés à l'avance. Ici on voit un gros portier qui n'autorise que les participants au consortium à rentrer uniquement s'ils votent pour le cercle, par exemple, et rien d'autre. Donc on peut dire qu'il est une sorte de filtre. Puisqu'il n'y a que des participants qui font référence au symbole du cercle dans le consortium, ils votent également pour lui finalement. Ainsi, comme vous voyez ici, tout le monde vote pour le cercle. Donc on voit que ce protocole peut être altéré et utilisé à des fins de corruption. Toujours avec moi ? Bien. Ok, vérifions le dernier protocole de consensus, peut-être qu'on aura plus de succès avec celui-ci, il dépend à la part ou à l'enjeu d'un système que tout le monde possède. Ce protocole de consensus sera appelé preuve d'enjeu, ou proof of stake. Mais qu'est-ce que ça va avoir avec le hasard ? Peut-être que vous vous demandez. Donc une dernière fois, nous répétons notre question, quel symbole doit figurer dans le bloc suivant. Donc prétendons que nous avons le système intégral. Par exemple, tous les symboles existants dans ce mode appartiennent à 5 parties. Ce cercle de couleur représente la mise de chaque partie sur ce système. À chaque tour, c'est parti. Donc les 5 couleurs que vous voyez en bas à gauche. Et le cercle que vous voyez contient les parts de chaque partie. Donc maintenant, pour figurer qui va figurer sur le bloc suivant, ça va être choisi de manière aléatoire. Donc on peut appeler ça la décision aléatoire pondérée. Donc imaginons une roulette. Je pense que la plupart d'entre vous connaissent la roulette. Généralement, on fait tourner la roulette et on lance une bille dessus. À un moment donné, la roue cesse de tourner et la balle s'arrête sur un chiffre quelconque sur la roue. Ce nombre est donc le gagnant. Mais à la place des chiffres, on distribue des symboles des candidats sur la roue en fonction de la mise de son votant. Donc voilà à quoi ressemble notre roue dans ce cas. Donc voilà à quoi ressemble la roue et on va la tourner. Lançons la bille dessus et ça roule, ça roule, ça roule et au bout d'un moment, elle s'arrête à un moment donné sur un symbole sur le triangle. Donc ici, le triangle gagne et sera sur notre prochain bloc comme vous voyez en haut à droite. Vous êtes toujours avec moi ? Très bien. Mais qu'est-ce qui se passe lorsque l'enjeu de l'une de ces parties est netement plus important que celui des autres ? Ici le correspondant rouge est un homme très riche et il détient la majorité du système. Comme vous pouvez l'imaginer, même si le système choisit de manière aléatoire, puisque ce caractère aléatoire est pondéré, ces chances d'être choisis sont nettement plus élevées que celles des autres. Donc bien sûr, il y a encore plein d'autres protocoles de consensus disponibles un peu partout. On peut passer des heures à en parler. Mais pour revenir à ma conclusion, tous les efforts qui sont mis en place à atteindre un consensus équitable ont toujours des inconvénients. Ces inconvénients peuvent avoir un impact négatif. Donc pourquoi est-ce qu'on met tous ces efforts dans la science des blockchain alors ? Vous pouvez vous demander. Revenons à une situation initiale où Marie et Alex voulaient faire du commerce entre eux. Donc Marie voulait acheter la maison d'Alex. Vous vous souvenez ? Donc Marie doit faire confiance à Alex que la maison qui lui vend est vraiment sa propriété et qu'il ne révoquera pas le contrat de vente après ou la vente en général. D'un autre côté, d'autre part, Alex doit faire confiance à Marie qu'elle lui donne le montant promis pour sa maison. Donc si une banque est impliquée, ils font tous les deux confiance à la banque pour transférer l'argent en toute sécurité. De Marie à Alex. Et bien sûr, la somme d'argent nécessaire et la bonne devise. Dans des commerces élevés, il y a probablement aussi un notaire qui est impliqué. Donc il faut que Marie fasse confiance au notaire pour qu'il soit impartial. Donc on voit que traditionnellement, tel deal implique énormément de confiance. Et faire confiance à de telles choses n'est pas si populaire car il y a eu beaucoup de déceptions dans le passé. Je pense que vous, la plupart d'entre vous, sont au courant. Cette science du blockchain est vraiment l'approche la plus prometteuse pour atténuer le besoin de confiance jusqu'à présent. Mais on est encore loin d'atteindre l'objectif. Donc voyons ce que l'avenir nous apportera. Merci de votre attention. Si vous avez des questions, allez au micro et il y a 3 règles à suivre. D'abord, si vous voulez poser une question, c'est une phrase suivie d'un point d'interrogation. Si vous parlez dans le mic, gardez le prêt de la bouche comme si vous vouliez le mordre. Mais ne le mordez pas, s'il vous plaît. Et pour tous ceux qui sortent, faites-le en silence. Merci. Donc commençons à une question d'Internet. Vous avez parlé de l'anonymisation, d'anonymisation dans les blockchain. Est-ce que vous pouvez en parler un peu dans une transaction dans un cas de figure particulier ? C'est une question très technique, je suppose. Pour les gens techniques, l'anonymisation signifie qu'on n'a pas de nom. Comme on a vu sur le papier de la banque, on sait vraiment qui sont les expéditeurs. Techniquement, on utilise des clés publics, donc on ne voit pas la personne qui est derrière. Donc c'est possible d'assurer le côté anonyme. Mais comme certains d'entre vous savent, c'est toujours possible de remonter à la source. Microphone 3, vous avez montré différents moyens de choisir quelle est la prochaine transaction, quelle est le prochain bloc. Mais je ne sais pas s'il y a une possibilité pour que certaines transactions soient perdues. Oui, qu'elles disparaissent parce qu'une autre prenne sa place, parce que combien de temps ça prend à faire le vote. Ça dépend du protocole. Comme certains d'entre vous le savent, dans le cas du blockchain, on a toutes les 10 minutes un changement de signature à cause du hache, au calcul de hache cryptographique. Mais ça dépend vraiment du protocole utilisé. C'est la raison pour laquelle je voulais vraiment pas rentrer dans les détails parce que ça dépend du protocole. Si tu veux en parler, on peut en parler après, mais c'est vraiment en dehors du scope de cette session. Merci pour ce talk. Beaucoup d'exemples que j'ai vu dans le blockchain, c'est les bases de données qui sont dans une société, donc je ne vois pas trop l'intérêt. Quelle est l'intérêt pour vous ? Je ne peux pas vraiment répondre à cette question, parce que je ne sais pas trop quel genre de solution à son âge. Je connais les choses populaires comme Hyper Legend. Pour moi, les solutions actuelles ne sont pas vraiment cool à cause de mon background technique. Mais je pense que le réseau internet distribué qui est derrière le blockchain peut vraiment amener des choses cool, mais il faut vraiment qu'on injecte de la science là-dedans, et je veux dire de la vraie science. Super session. Si une des utilisations les plus intéressantes c'est la distribution du compute, après si ça reste au sein d'un réseau, je ne vois pas vraiment les avantages compétitifs du blockchain par rapport aux autres protocoles de distribution réseau. Je ne sais pas trop si j'ai compris ta question, mais ce que je veux dire, c'est est-ce que tu veux demander tout ce qui est nouveau là-dedans ? La distribution des ressources a déjà été fait avant. Est-ce que le blockchain est vraiment intéressant pour ça ? Techniquement, le blockchain, c'est rien de nouveau. Le computing distribué, c'est quelque chose de très vieux. C'est comme une base de données distribuée avec d'autres propriétés qui peuvent être combinées. Donc ça veut dire que le blockchain est une combinaison pour moi de différentes techniques qui existent déjà. Je pense qu'on devrait juste utiliser beaucoup plus de contenu distribué pour tout ce qui est transaction financière aux réalisations de contraintes intelligents. Donc utiliser le terme de blockchain, il faut toujours être, faire attention. Merci pour... Merci à tous.