" Comprendre la technologie de la Blockchain " - #DATELIER - Digital Aquitaine
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
« Comprendre la technologie de la Blockchain » Le 23 Mai 2017 Chez EPSI Campus de Bordeaux #DATELIER
Centre de transfert Technologique Concepts Technologies Produits LABOs de Entreprises Recherche CATIE Transfert Technologique o Centre de Transfert Techno. o Technologies du Numérique o Statut associatif o Création Octobre 2014 o Développement de briques o Intégration de technologies o Soutien o 30 permanents H2 2017 MAI 2017 33
Thèmes Technologies et Organisation Analyse Comportementale Intelligence Artificielle HOMA Interactions Homme Machines Modélisation, Simulation Numérique Valorisation et Intelligence des Données Internet des Objets SIDO Simulation Num. Mise en œuvre et intégration de capteurs & Big data Nouvelles Intégrations Matériel-Logiciel Systèmes Embarqués, Distribués & Sécurisés Solutions Electronique Ing. Fabrication & Numériques Analogique Intégration Réseaux de Télécommunication SONU ELAN INFI Avril 2017 4
Agenda • Comprendre la technologie de la Blockchain, ses opportunités CATIE - Charles Garnier : 30’ #DATELIER • Présentation de la plateforme Blockchain Aquitaine d’aide à la compréhension, adoption de la technologie CATIE - Nicolas Philippe : 30’ • « La blockchain, quelles opportunités d’innovation pour les entreprises ? » Adli Takkal Bataille - conférencier, consultant, auteur, membre actif dans la sphère Bitcoin et blockchains. Fondateur et président de : Le Coin Coin, et Le Cercle du Coin : 60’ • Partage d’expérience : Questions / Réponses : 10’
Les promesses de la blockchain Dans un contexte de crise de confiance, la blockchain promet : La décentralisation du tiers du confiance, Une confiance distribuée. La blockchain promet également : Un système transactionnel, Une traçabilité et non falsification des transactions, Des opérations basées sur des protocoles complexes, Des contrats intelligents s’auto-excécutant. « La blockchain fait à la transaction ce que le protocole TCP/IP a produit pour l’information » Gilles Babinet, digital champion de la France auprès de la Commission européenne. « Elle a le potentiel d’une révolution. Ce n’est pas une technologie de plus, c’est une technologie d’architecture, que les gens utiliseront sans le savoir » Alexandre Stachtchenko, cofondateur de la start-up Blockchain France. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 8
Les applications Pourquoi utiliser la blockchain ? Diminuer les coûts de traitement, Combattre la contrefaçon, Remplacer les tiers de confiance, Gérer la preuve, Réduire les risques de pertes d’informations, Gestions des titres de propriétés numériques, Traçabilité, Système de vote en ligne, Plateforme de financement participatif. Et encore bien d’autres cas d’usages à développer …. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 9
I. Introduction technique à la technologie blockchain DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 10
La blockchain est juste une écriture comptable d’opérations numériques, partagées entre de multiples d’acteurs. Elle ne peut être mise à jour que par consensus entre une majorité de participants au système. Et, une fois entrée, l’information ne peut jamais être écrasée. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 11
Qu’est ce que la technologie blockchain ? Trois piliers principaux Dont deux d’ordre technologique : La cryptographie asymétrique, Les systèmes distribués. Et un d’ordre sociologique : Modèle transactionnel dont l’architecture est en mode peer-to- peer, offrant la possibilité d’un consensus distribué sans nécessité d’un tiers de confiance. Technologie offrant : le stockage et la transmission d’informations : une base de données / livre de compte / registre, entre personnes individualisées : utilisant des méthodes d’identification sécurisées et chiffrées, sans intermédiaire défini : distribuée entre ses participants, transparente : publique et librement accessible, au moins par ses utilisateurs, sécurisée : disposant d’un protocole de consensus résistant aux attaques. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 12
Comment créer un consensus entre acteurs ne se faisant pas confiance ? Transmission des transactions entre acteurs de manière cryptée Clé privée : permet à l’utilisateur d’initier une transaction en signant son message. Clé publique/Adresse : adresse connue de tous permettant à un émetteur de désigner un destinataire. Signature = (clé privée + message), unique par rapport au message. Vérification = décoder la signature avec la clé publique et vérifier que le message est similaire. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 13
Comment créer un consensus entre acteurs ne se faisant pas confiance ? Des transactions possédant une empreinte numérique unique Empreinte digitale (ou fonction de hachage) On peutpermettant hacher à peu d’obtenir près un condensé représentatif d'une donnée : n’importe quoi ! Rapide, Résistante à la collision (environ 2^128 tentatives pour une collision), Non réversible. Ex : « rapide » = 8cbfb6f180a1dda77177f37925be3d8a52dd12cb95edcb44e072b6b3df4ffe26 « rapide ! » = adb95422b0580cb7750a926d36ad1631e080664cac2ae0ba51afe8e1b259f099 DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 14
Comment créer un consensus entre acteurs ne se faisant pas confiance ? Système distribué Protocole peer-to-peer : modèle de réseau informatique proche du modèle client-serveur mais où chaque client est aussi un serveur. Chaque acteur du réseau à le même statut, personne ne peut se prévaloir d’une légitimé supérieure. Chaque acteur possède une copie de l’état actuel des transactions. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 15
Comment créer un consensus entre acteurs ne se faisant pas confiance ? Des transactions inaltérables et durables dans le temps : la chaîne de bloc Possibilité de prouver l’existence et la non modification d’une transaction passée DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 16
Comment créer un consensus entre acteurs ne se faisant pas confiance ? Consensus distribué Comment apporter une solution au problème « des généraux byzantins » ? Communication uniquement par message. Présence possible de traîtres communiquant un faux message. Le problème est donc de trouver un algorithme pour s’assurer que les généraux loyaux arrivent à se mettre d’accord. Quel mode de gouvernance pour la blockchain ? DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 17
Comment créer un consensus entre acteurs ne se faisant pas confiance ? Consensus distribué : un choix de consensus qui n’est pas anodin ! Suivant l’usage que l’on réalise de la blockchain, le mode de consensus ne sera pas le même et le choix d’un type de blockchain sera réalisé. Connaît-on tous les acteurs du consensus ? Les acteurs doivent-ils être identifiés ? Quel est le nombre d’acteurs du consensus ? Existe-t-il des impératifs en terme de performance ? Doit-il y avoir une finalité au consensus ? Blockchain publique sans authentification des acteurs : Sans restriction à l’entrée : lecture et écriture sur la blockchain ouvertes à tous, Sans organe de contrôle et sans prérequis juridiques. Blockchain hybride/privée avec authentification des acteurs : Accès à la blockchain restreint à certains utilisateurs sélectionnés par une organisation centrale, Droit de lire la blockchain publique ou restreint à certains utilisateurs. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 18
Comment créer un consensus entre acteurs ne se faisant pas confiance ? Consensus distribué : Proof of Work (PoW) Système de validation difficile à produire car coûteux en temps et en énergie : mesure économique et sécuritaire pour dissuader des attaques. Chaque acteur du réseau réalise des calculs coûteux en temps et en énergie afin de chiffrer l'ensemble des transactions d'un bloc. Système asymétrique : travail difficile mais réalisable Vs. facile à vérifier pour un tiers. Changer un bloc requiert un travail considérable car il faut recalculer d'abord le chiffrement du bloc N avant de chiffrer le bloc N+1. La falsification est donc difficile voire impossible. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 19
Comment créer un consensus entre acteurs ne se faisant pas confiance ? Consensus distribué : Pratical Byzantin Fault Le consensus PBFT fonctionne grossièrement de la manière Tolerance (PBFT) suivante : 1. Un client soumet au nœud leader une requête Modèle de type « state machine replication », pour effectuer une transaction ; système distribué de manière asynchrone. 2. Le leader transmet à l’ensemble du réseau cette requête de transaction (pre-prepare, prepare, Nombre de réplicas (nœuds) = 3*f+1, où f est le commit) ; nombre maximum de nœuds défaillants. 3. Chaque réplica exécute la requête de transaction et envoie la réponse au client ; Les réplicas (nœuds) donnent des résultats 4. Le client attend d’obtenir f+1 réponses de réplicas déterministes, chaque réplica à un mot de passe différents avec le même résultat. root et un administrateur différent. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 20
Comment créer un consensus entre acteurs ne se faisant pas confiance ? Consensus distribué : un choix de consensus qui n’est pas anodin ! DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 21
La technologie blockchain, une base de données distribuée entre acteurs ne se faisant pas confiance Blockchain sans Blockchain avec Base de données authentification authentification centralisée des acteurs des acteurs Nombre d’actions / Faible Moyenne/Elevée Très élevée seconde Latence Elevée Moyenne Faible Nombre de clients Elevé Elevé Elevé Nombre d’acteurs Elevé Faible Elevé Nombre d’acteurs sans Elevé Faible Aucun confiance Mécanisme de consensus PoW, PoS PBFT Aucun Entité centrale de Aucune Oui Oui management DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 22
Dans quelle situation la blockchain fait sens ? Oui Y-a-t-il plusieurs Oui Non Blockchain Est-ce que je dois Existe-t-il un tiers de Non Tous les acteurs acteurs pouvant publique sans stocker un état ? confiance ? sont-ils connus ? décrire l’état ? authentification Non Non Oui Oui A-t-on confiance Blockchain Oui dans tous les acteurs publique avec ? authentification Non Oui Doit-on pouvoir Blockchain privée Non vérifier l’état de avec manière publique ? authentification La blockchain n’est pas la solution Source : Do you need a blockchain ?, Wüst and Gervais DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 23
II. Les principales blockchain : Bitcoin, Ethereum et Hyperledger Fabric DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 24
Des approches différentes pour différents usages Bitcoin Ethereum Hyperledger Fabric Recours à une cryptomonnaie Bitcoin Ether Non Accès au réseau Sans permission Sans ou avec permission Avec permission Transactions Anonyme Anonyme ou privé Public ou confidentiel Consensus Proof-of-Work Proof-of-Work PBFT Logique de smart contracts Non Oui (Solidity, Serpent, LLl) Oui (chaincode) Langage C++ Golang, C++, Python Golang, Java DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 25
La blockchain Bitcoin Transaction 0 TX0 Input 0 Alice souhaite 0xsas21…. Transaction 2 TX2 acheter un livre à Output 0 1 Input 0 Bob pour 4 BTC 0xzerdz2… Input 1 Le destinataire de la transaction TX2 0xzerdz2… Transaction 1 est l’adresse publique de Bob 0xa1z4d5s… TX1 Output 0 3 0xa1z4d5s… 4 Input 0 0xslz21…. Output 0 0xzerdz2… DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 26
La blockchain Bitcoin Une transaction (Bitcoin) est constituée : Input 0 • d’une adresse d’origine, 0xsas21…. • d’une adresse de destination, Output 0 • d’une référence à la transaction précédente, 0xzerdz2… • du montant à transférer. Chaque transaction est signée par la clé privée correspondante à l’adresse d’origine et envoyée par protocole peer-to-peer à l’ensemble du réseau. Chacun peut vérifier la validité de la transaction. Problématique de la double dépense Alice émet une 1ère transaction TX2 à Bob et une 2nd transaction TX3 à Toto qui dépensent le même avoir. Transaction Dans un2monde idéal, les transactions sont envoyéesTransaction 3 à l’ensemble du réseau instantanément : TX2 TX3pas valide. La 1ère transaction TX2 est valide, la 2nd TX3 n’est Input 0 Input 0 Sauf Input 1que le réseau Internet possède une latence (environ Input 12 1 s) qui lui est propre donc : Bob reçoit la transaction TX2 avant TX3 alors que 0xzerdz2… Toto reçoit TX3 avant TX2. 0xzerdz2… Output 0 Output 0 0xa1z4d5s… Comment4 trouver BTC à Bobun consensus sans entité centrale4?BTC à Toto 0x5dlpms… DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 27
La blockchain Ethereum La promesse/ambition : Proposer un ordinateur décentralisé s’appuyant sur une blockchain qui soit Infalsifiable, Toujours disponible, Accessible de partout et par tout le monde. Mais : Toute action se paye, Produit des résultats cohérents à terme (théorème CAP), Aussi rapide qu’un smartphone des années 90. De la blockchain à l’ordinateur décentralisé : Une blockchain plus rapide : temps de construction des blocks plus rapide (12s Vs 10 min) Protocole GHOST (Greedy Heaviest Observed Subtree), Une blockchain qui peut stocker des données arbitraires, Des contrats intelligents « Turing complet », A terme un consensus distribué plus écologique : Proof-of-stake. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 28
Les contrats intelligents Notion de « smart contract » Programmes autonomes associé à un identifiant/compte unique qui exécutent automatiquement les conditions et termes d’un contrat, sans nécessiter d’intervention humaine une fois démarrés. Un simple programme qui est stocké dans la blockchain et capable de modifier l’état de la blockchain. Caractéristiques du « smart contract » Turing complet : permet d’implémenter tous les algorithmes de calcul, des instructions de conditions et de boucle, mémoire et stack infinie. Le code d’un smart contract est immutable et durable. Parle avec d’autres smart contracts, Est atomique, S’exécute de manière séquentielle, Est durable. Ce que ne fait pas un « smart contract » Un contrat ne peut pas avoir d’interaction et d’accès directs avec les données du monde extérieur. Ex : interaction avec service web pour récupérer une donnée d’entrée d’un contrat DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 29
Exemple de contrat intelligent Contrat d’organisation démocratique autonome Alice souhaite mettre en place un système de vote afin de savoir si Bob mérite de recevoir 5 ETH Description de la proposition Adresse publique de Bob Lorsque le temps T est atteint et que au minimum X votants ont participé, Temps de vote T la somme de 5 ETH est transmise ou non de manière automatique à Bob Nombre minimal de votant X Définition de la majorité X/2 ou X/2+1 Bob Alice Jean Léa Yves DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 30
Exemple de contrat intelligent DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 31
La blockchain Hyperledger Fabric DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 32
La blockchain Hyperledger Fabric DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 33
III. Connecter la blockchain et le monde extérieur DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 34
Le principe des oracles L’oracle éclaire la blockchain de son savoir Service chargé d’entrer manuellement une donnée extérieure dans la blockchain, Qui va récupérer l’information qui lui a été demandée et l’insère dans la blockchain à l’endroit qui lui a été désigné. Cependant : Qui est cet oracle ? Comment lui faire confiance ? Réintroduction d’un tiers de confiance dans une technologie qu’on vante comme trustless ? Que se passe-il si l’information n’est pas ajoutée par l’oracle, ou si elle est fausse ? DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 35
Connecter le monde réel à la blockchain IoT et blockchain : Serrure s’ouvrant si le droit de passage est bien acquitté, Lave linge lançant la commande et le paiement de la lessive quand son réservoir est quasi vide, Données de vol d’un avion intégrées dans une blockchain pour tracer l’ensemble des informations, Capteur de température/humidité déclenchant un contrat d’assurance … En certifiant et validant les données en provenance des objets connectés ceux-ci pourraient être amenés à jouer le rôle d’oracles. DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 36
Ecosystème autour de la blockchain IoT Logistique Colored Coins & Hardware & Open Assets Protocoles Blockchain de base Storage Entreprise Platforms Oracles Energie Smart Contracts Culture Server-less apps Prédiction Crowd funding Etats Paiement Associations Couches technologiques Notariat Data-storage e-Identity Individus Organisation privé Organisation Blockchain-as-a-service Organisation publique internationale Utilisateur DA’TELIER Blockchain / CATIE Charles Garnier / 23 mai 2017 37
Agenda #DATELIER • Présentation de la plateforme Blockchain Aquitaine d’aide à la compréhension, adoption de la technologie CATIE - Nicolas Philippe : 30’
Pourquoi cette plateforme ? • Le CATIE reçoit plusieurs sollicitations d’entreprises en 2016 • Besoin de comprendre la technologie • Besoin d’accélérer l’adoption de la technologie • Besoin d’accéder à la recherche DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 39
Objectifs de la plateforme Permettre aux entreprises de comprendre la technologie Blockchain et les opportunités qu’elle ouvre, afin de saisir son potentiel et de l’utiliser pour innover. Ainsi, rester à la pointe grâce à des moyens mutualisés. Prototype Prototype Prototype Plateforme Innovation Création de valeur Rendre la technologie lisible et exploitable DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 40
La plateforme c’est quoi ? • Quels moyens mis en œuvre ? • Pour quelles actions / livrables ? • Quelles relations avec les entreprises ? • Financée comment ? DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 41
Moyens mis en œuvre Plateforme portée par CATIE Conseil Personnel Infrastructure (Labos, Sociétés expertes) DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 42
Cercles d’entreprise Entreprises cercle 1 Vont construire un produit ou un service basé sur la technologie Plateforme Blockchain Entreprises cercle 2 Intéressées par les résultats et les opportunités. Ne veulent pas ‘rater le train’ DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 43
Actions de la plateforme • Initier les échanges avec les entreprises membres • Suivre les évolutions techniques et innovations mondiales • Mettre en place et héberger des POC (Proof of Concept) • Identifier et échanger avec les ressources académiques afin d’adresser les aspects les plus pointus • Favoriser l’émergence de projets DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 44
Livrables • Prototypes et ‘bacs à sable’ • Compte rendu de veille d’innovation • Compte rendu de veille technologique • Amélioration d’outils existants • Contribution à des solutions OpenSource • Plateforme Blockchain Nouvelle Aquitaine ? DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 45
Cercle 2 • Compréhension de la technologie • Partage de l’expérience des POC • Rapports sur les dernières innovations/startups • Assistance à l’identification d’opportunités • Accès aux outils mis en place Entreprises cercle 2 Intéressées par les résultats • Mise en relations diverses et les opportunités. Ne veulent pas ‘rater le train’ DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 46
Cercle 1 Même chose que le cercle 2, +: • Echanges techniques sur les meilleures approches • Collaboration sur du code source et des déploiements logiciels • Accès au code proposé par CATIE • Accès aux bacs à sable proposé par CATIE Entreprises cercle 1 • Rapports de veille technologique Vont construire un produit ou un service basé sur la technologie DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 47
Financement Publics + fonds propres Blockchain Plateforme Entreprise Entreprise Entreprise Entreprise Entreprise Privés Entreprise Entreprise Entreprise Entreprise 48
Agenda première année Identification des membres de la plateforme Fin 1ère année Résultats itération 2 - Définition du plan de travail - Recrutement de l’expert CATIE - Identification des ressources académiques Résultats itération 1 Iterations N… Démarrage effectif de la plateforme Janvier Mars 1er Juin Septembre Décembre Mai 2018 Mise en place Opérationnel 49
Les interactions jusqu’à aujourd’hui : • Assurance • Certification de cartes • Crowdfunding • Sécurité • Partage de valeurs • Partage d’énergie • Musique (droits d’auteurs, …) • Objets connectés • Sécurité • Certification de diplômes • Traçabilité • Vote en ligne et sondages • Suivi de consommation • Bâtiment • Comptabilité et RH DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 50
Si vous… • Avez besoin de mieux comprendre la technologie ainsi que les opportunités qu’elle ouvre • Souhaitez adopter la blockchain pour la construction d’un produit ou d’un service A votre disposition pour en discuter ! DA’TELIER Blockchain / Nicolas PHILIPPE / 23 mai 2017 51
Agenda #DATELIER • « La blockchain, quelles opportunités d’innovation pour les entreprises ? » Adli Takkal Bataille - conférencier, consultant, auteur, membre actif dans la sphère Bitcoin et blockchains. Fondateur et président de : Le Coin Coin, et Le Cercle du Coin : 60’
Contacts 17 Place de la Bourse 1 Avenue du Dr Albert Schweitzer 33100 BORDEAUX 33400 TALENCE Tél. : +33 (0)5 47 48 13 93 Tél. : +33 (0)5 64 31 01 00 Vincent Ribes Nicolas Philippe vribes@digital-aquitaine.com n.philippe@catie.fr digital-aquitaine.com catie.fr #DATELIER
Vous pouvez aussi lire