FORMATION BLOCKCHAIN - itiforums.com · une base de donnÉe distribuÉe, basÉe sur une techno...
Transcript of FORMATION BLOCKCHAIN - itiforums.com · une base de donnÉe distribuÉe, basÉe sur une techno...
© Copyright 2016 – Keyrus 1 1
FORMATION BLOCKCHAIN
© Copyright 2016 – Keyrus 2 © Copyright 2016 – Keyrus 2
SPONSOR : JEAN-PAUL AMOROS – CDO ALLIANCE ANIMATEURS : FRÉDÉRIC MASÉRATI – DIRECTEUR CONSEIL - KEYRUS MANAGEMENT ERIC LÉVY-BENCHETON – BLOCKCHAIN STRATEGIST - KEYRUS
Eric Lévy-Bencheton - BlockChain Strategist Tél : 06 84 96 15 54 Mél : [email protected] Twitter : @scrm_elb http://www.linkedin.com/in/elevyben
Frédéric Maserati – Directeur Conseil Tél : 06 60 67 59 48 Mél : [email protected] https://www.linkedin.com/in/fredericmaserati/fr
LA BLOCKCHAIN EST UNE TECHNOLOGIE CRÉÉE AVEC LE BITCOIN, DEVENUE LE 8ÈME MOYEN DE PAIEMENT AU MONDE. LA BLOCKCHAIN PORTE EN ELLE DE NOUVELLES PROMESSES D’INNOVATION DANS TOUS LES SECTEURS, MAIS AUSSI DE DISPARITION DES MODÈLES ÉCONOMIQUES DOMINANTS. S’INTÉRESSER AUJOURD’HUI À SES APPLICATIONS POSSIBLES, C’EST PRENDRE UN TEMPS D’AVANCE SUR LA PROCHAINE ÉTAPE DE LA RÉVOLUTION DIGITALE ET L’AVÈNEMENT D’UNE SOCIÉTÉ SANS INTERMÉDIAIRES, NI AUTORITÉ CENTRALISÉE…
SATOSHI NAKAMOTO OCTOBRE 2008
© Copyright 2016 – Keyrus 5 © Copyright 2016 – Keyrus 5
LE BITCOIN EST NÉ … 10M$ DE CAPITALISATION 8EME MOYEN DE PAIEMENT
© Copyright 2016 – Keyrus 6 © Copyright 2016 – Keyrus 6 © Copyright 2016 – Keyrus
8IEME MOYEN DE PAIEMENT
© Copyright 2016 – Keyrus 7 © Copyright 2016 – Keyrus 7 © Copyright 2015 – Keyrus
Avec une logique métier intégrée dans le logiciel cœur (Bitcoin) ou des logiques métiers additionnelles en utilisant
la technique des Smart Contracts
UNE BASE DE DONNÉE DISTRIBUÉE, BASÉE SUR UNE TECHNO CRYPTOGRAPHIQUE QUI ASSURE L’INTÉGRITÉ, L’IRRÉVOCABILITÉ DES TRANSACTIONS TOUT EN ASSURANT UN HAUT NIVEAU DE RÉSILIENCE
LA TECHNOLOGIE BLOCKCHAIN EST NÉE :
© Copyright 2016 – Keyrus 8
QUELQUES DÉFINITIONS • Registre public contenant toutes
les transactions triées par ordre chronologique, et partagé entre tous les utilisateurs du réseau
• Chaque transaction est ajoutée successivement en blocs, une fois validée par le processus de consensus
Chaine de Blocs (Block Chain)
• Mécanisme adopté par chaque BlockChain pour valider les transactions / blocs
• Il vise à résoudre la problématique des « généraux byzantins »
• On distingue schématiquement les systèmes basés sur la preuve de travail (Proof of Work) de ceux basés sur la Preuve de Participation (Proof of Stake)
Consensus
• Similaire à une adresse e-mail, l’adresse du portefeuille (1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa) contenant est l’unique identifiant nécessaire
• Elle est souvent assimilée à la clé publique
• Le Portefeuille contient les clés privées de l’utilisateur, permet d’utiliser les coins, et de signer numériquement toute transaction
Adresse & Portefeuille
• Information secrète prouvant que l’utilisateur est bien autorisé à déclencher des transactions grâce à sa signature cryptographique
Clé Privée
• La signature est obtenue par chiffrement de l’empreinte (hash) en utilisant la clé privée du signataire
• La vérification d’authenticité du signataire peut être réalisée en utilisant la clé publique du signataire
Signature cryptographique
• Processus mathématique par lequel un « mineur » (un membre du réseau) entre en concurrence avec d’autres avec l’objectif de résoudre un problème mathématique afin de valider et d’ajouter un bloc de transactions à la Chaine de blocs
• Le mineur est rémunéré pour ce travail de résolution
Minage / PoW
• La preuve d'enjeu demande à l'utilisateur de prouver la possession d'une certaine quantité de crypto-monnaie (leur « participation » dans la crypto-monnaie) pour prétendre à pouvoir valider des blocs supplémentaires
• Les règles mises en place dans différents systèmes, ne se basent pas sur le plus riche pour éviter un probème de concentration
PoS
• Le hash est le résultat de la fonction de hashage, visant à calculer une empreinte numérique d’un document / message en entrée
• Cette empreinte est unique et une petite modification produit des changements très importants à l’empreinte
• Il n’est pas possible de reconstituer le document complet
Hash
© Copyright 2016 – Keyrus 9 © Copyright 2016 – Keyrus 9
La Facilitation des Echanges
La Notarisation des actes et de documents
Les Titres de propriété
numériques
BLOCKCHAIN L’Execution certifiée de Workflows
Paiements Votes en ligne Echanges de titres …
Dépôt de brevet Preuve d’existence
Traçabilité et irrévocabilité …
Publication et Consentement
Processus Contrôle Qualité
Processus Supply Chain …
Attestation de titre de
propriété
Gestion des droits d’auteurs
Contrôle de diffusion …
Contrôle de traçabilité
Gestion d’actif
Gestion de Cadastre Officiel
APERÇU DES CAS D’USAGES
© Copyright 2016 – Keyrus 10 © Copyright 2016 – Keyrus 10
Faciliter la sécurité et les transactions Pair à Pair
Réduire la Fraude et augmenter la confiance
Augmenter la transparence et l’efficacité des transactions multimodales
Désintermédiation
… DONT LES GAINS CONCRETS ONT DÉJÀ ÉTÉ MESURÉS AU TRAVERS DE NOMBREUSES SITUATIONS RÉELLES
© Copyright 2016 – Keyrus 11 © Copyright 2016 – Keyrus 11
QUELQUES SITUATIONS FAVORABLES À L’USAGE DE LA BLOCKCHAIN
© Copyright 2016 – Keyrus 12 12
DIS COMMENT ÇA MARCHE ?
© Copyright 2016 – Keyrus 13
INTRODUCTION La technologie BlockChain n’est pas unique. Chaque implémentation voit se définir un certain nombre de paramètres / composants et entres autres :
• Le logiciel source qui sera répliqué sur chacun des nœuds et portera la logique métier
• La nature des données et la manière de les stocker dans la blockchain
• La logique de consensus distribué
• La localisation de la blockchain (privée / publique) et ses règles d’accès
• L’implémentation de logiques métiers additionnelles : les smart contracts
Chaque implémentation répond à des besoins spécifiques et peut voir varier chacun de ces éléments : Constituez la blockchain qui vous correspond !
© Copyright 2016 – Keyrus 14
RAPPEL – UNE BASE DE DONNÉES DISTRIBUÉE
Nœuds de relais
Nœuds « Logiques »
Chaque nœud du réseau stocke l’ensemble de l’information ! réplication On peut séparer les nœuds Logiques qui portent les règles de fonctionnement, des nœuds de relais qui
n’assurent que la réplication
© Copyright 2016 – Keyrus 15
CONSENSUS DISTRIBUÉ • Par opposition aux systèmes traditionnels, où les transactions sont validées
par un moteur de règles centralisé, la logique de consensus est distribuée au réseau dans son ensemble qui valide ou non les nouvelles transactions en les regroupant dans un nouveau bloc
• La composition du nouveau bloc et son ajout en bout de chaine dépend d’une décision distribuée au réseau partie-prenante de la blockchain en question
• La force du consensus dépendra de trois facteurs : • La force de l’algorithme • Le nombre de nœuds actifs dans le réseau (au service du consensus)
• Le niveau de « confiance » entre les nœuds
© Copyright 2016 – Keyrus 16
PROOF OF WORK / PROOF OF STAKE • Un « responsable » de la validation est désigné suivant une méthode qui
peut largement varier d’une blockchain à une autre.
• Proof of Work (Preuve de Travail) : les valideurs sont en compétition pour résoudre un problème mathématique complexe. Une fois la solution identifiée, celle-ci est validée par les membres du réseau. Le valideur gagnant mettra à jour la chaine de blocs avec les nouvelles informations et la diffusera dans le réseau. La réalisation du « travail » prend du temps et consomme des ressources (puissance de calcul / énergie)
• Proof of Stake (Preuve de Possession) : le valideur de chaque bloc est défini suivant une règle inhérente à l’algorithme. De manière générale, le paramètre principal est la quantité d’actifs détenus et « bloqués » sur un « compte ». Cette méthode est plus économe en énergie
© Copyright 2016 – Keyrus 17 © Copyright 2016 – Keyrus 17
BLOCKCHAIN
BLOCKCHAIN Publique BLOCKCHAIN Privée
DEUX PRINCIPAUX MODÈLES S’OPPOSENT
© Copyright 2016 – Keyrus 18 © Copyright 2016 – Keyrus 18
Combien de copies du Registre ?
Qui peut accéder aux
Data ?
Qui administre l’intégrité de ce
registre ?
Registre classique. Par ex. un compte bancaire
Registre Distribué privé et partagé. Par ex. un réseau de banques pour la
compensation et le règlement
Registre Distribué public et partagé. Par ex. Ripple, un système financier
global
Registre Distribué public et non administré. Par ex. BitCoin
Une
Groupe de « propriétaires »
Propriétaires ou Acteurs certifiés
N’importe qui suivant la logique du consensus
Plusieurs
N’importe qui
DEUX GRANDS TYPES DE REGISTRES DISTRIBUÉS : VRAIMENT ?
NICK SZABO 1993
Informaticien, Juriste et cryptographe
• Les contrats sont sujets à interprétation
• L’exécution des clauses prévues à
celui-ci ne sont pas certaines
Problématique :
• Représenter le contrat par du code informatique
• Scellé le contrat en utilisant la
cryptographie
La solution
PRIMAVERA DE FILIPPI
Chercheuse au Cersa (CNRS) et au Berkman Center for Internet & Society à l’Université d’Harvard
Les contrats intelligents Smart-Contracts
« Un smart contract est un logiciel.
Au vu de leur appellation, on a tendance à les assimiler à des contrats, mais ils n’ont pas en eux-mêmes
d’autorité juridique.
Lorsqu’un contrat juridique existe, le smart contract n’est qu’une application technique de ce contrat. »
© Copyright 2016 – Keyrus 21 © Copyright 2016 – Keyrus 21
LES SMARTS CONTRATS SONT DES PROGRAMMES AUTOEXECUTABLES CERTIFIÉS PAR UNE BLOCKCHAIN QUI PERMETTENT D’AUGMENTER LA LOGIQUE MÉTIER
© Copyright 2016 – Keyrus 22
MODÈLE DE FONCTIONNEMENT 1/2
• Comme nous l’avons vu, chaque nœud du réseau héberge le logiciel cœur de la blockchain
• Pour permettre le fonctionnement des smart contract, programmes « on-chain », une machine virtuelle est installé sur chaque nœud, permettant l’exécution de code informatique compilé dans un langage quasi « turing-complet » (Solidity ou Serpent pour Ethereum)
• Comme pour tout programme, il est compilé, testé puis déployé. Le déploiement a la particularité de l’être sur l’ensemble du réseau pour que chaque nœud dispose de cette nouvelle logique
© Copyright 2016 – Keyrus 23
MODÈLE DE FONCTIONNEMENT 2/2
• La création d’un programme consiste en fait à la création d’un Contract Account avec comme particularités d’avoir :
• Une balance (des éthers pour Ethereum)
• Un espace de stockage des informations
• Un code informatique dans un langage de bas niveau et une ABI (API de bas niveau)
• Une adresse publique
• Comment s’exécute un smart-contrat ? • En créant une transaction (un message) avec comme adresse du receveur, celle du contrat
• En spécifiant dans le contrat un intervalle de temps où il va se réveiller et vérifier des conditions (aspect automatique de l’exécution)
• Où s’exécute-t’il ? • Sur chacune des VM du réseau (chacun des nœuds)
• La confiance provient de la vérification du résultat effectuée en comparant les différentes exécutions
© Copyright 2016 – Keyrus 24
QUELQUES POINTS D’ATTENTION Bien souvent le
smart contract va manipuler des
assets (monnaies, pseudo-monnaies, actes de propriété,
votes …). Les impacts peuvent
être lourds de conséquences en
cas d’erreur de codage
Y compris pour une blockchain de
consortium, la fraude est un sujet ! mise en œuvre
des politiques habituelles de
sécurité
Une fois que le smart-contract est publié, il ne peut pas être modifié. Il est néanmoins
possible de prévoir une fonction de
terminaison et de le remplacer
ensuite par une nouvelle version
L’optimisation du code est
essentielle pour diminuer le coût d’exécution (le programme est
exécuté sur l’ensemble des
nœuds du réseau)
Globalement, il faut garder en tête que la Smart Contract, la VM et le programme cœur de la BlockChain, interagissent étroitement. Cela peut rendre complexe l’anticipation de l’ensemble
des cas de gestion
© Copyright 2016 – Keyrus 25
ORACLES 1/2
• Le langage des smart contrats ne peut pas appeler des APIs en dehors de la blockchain
• Cela peut régulièrement être intéressant par exemple :
• Pour fixer le prix de la canettes en fonction de la météo
• Pour des assurances paramétriques dépendant du voyage effectué, de la façon de conduire, de l’ensolleillement sur une parcelle agricole …
• Connaître les résultats sportifs pour une application de paris
Nous utiliserons le terme d’Oracle pour désigner la recherche d’information externe et la certification de celle-ci.
Dans une certaine mesure, la notion de tiers de confiance est réintroduite
© Copyright 2016 – Keyrus 26
ORACLES 2/2
Les Oracles sont de plusieurs types :
• Des sociétés qui certifient la donnée. C’est le cas de Oraclize
• Un mécanisme de consensus : • Un certain nombre de services donnent le même résultat
(quorum)
• On interroge plusieurs sites différents (résultats de sport par exemple) et on compare ceux-ci
• Des oracles « physique » reposant le plus souvent sur l’Internet des Objets pour connaître par exemple la consommation électrique instantanée
DAPP – Decentralised Application DAO – DA Organisation
DAC / DAS – DA Corporation / Societies Les Dapps sont des Applications s’exécutant dans le cadre d’une BlockChain. Bitcoin peut
être vue comme une Dapp. Dans le cas de BlockChains « programmable » (Ethereum, Tendermint, Hyperledger), une dApp peut être vue comme un ensemble de Smart
Contracts
Les DAO / DAC / DAS utilisent une Dapp pour décrire les relations entre les parties-prenantes de l’organisation (quelque soit sa forme). La dApp contient l’ensemble des
règles de gestion et organise la prise de décision dans les domaines non couverts par le code informatique
© Copyright 2016 – Keyrus 28 28
STARTER KIT
© Copyright 2016 – Keyrus 29 29
+ Asseoir une maitrise des technologies
BLOCKCHAIN et de son
écosystème
+ Expérimenter au
plus tôt en situation réelle
+ Préparer
l’industrialisation par un schéma
directeur dédié et en pensant intégration
Les éléments clés pour réussir votre
stratégie BlockChain
© Copyright 2016 – Keyrus 30
KEYRUS BLOCKCHAIN, UNE RÉPONSE À L’ENSEMBLE DE VOS ENJEUX
© Copyright 2016 – Keyrus 31
Maquettage PoV
Estimation enjeux, coûts,
impacts
BlockChain Lab
Portefeuille d’idées
Innovation Workshop
" Curator & éditorial (synthèses, livres blancs, …)
" Set-up et animation d’une communauté BlockChain
" Témoignages de start-ups " Atelier de veille " Brainstorm, qualification, scoring des
nouvelles idées
Prototype
" Mise en œuvre de la première version en production avant déploiement à grande échelle
" Expérimentation préindustrielle
Pré-industrialisation
OPEN INNOVATION
" Pour mettre la dynamique de la BlockChain Tech au service de vos projets
Une capacité à vous accompagner tout au long de votre projet
ACCULTURATION INCUBATION PILOTE
© Copyright 2016 – Keyrus 32
2020, l’année du passage en phase industrielle
ACCULTURATION INCUBATION PILOTE
Stratégie BlockChain
1. Acculturation de l’ensemble des équipes
2. Construction d’une première trajectoire des cas métiers
3. Construction de liens avec la BlockChain Tech
Mise en place du BlockChain Lab
1. Premières expérimentations techniques
2. Lancement d’un premier POC métier
3. Trajectoire métier affinée et construction d’une infrastructure dédiée
4. IT roadmap
Phase pré-industrielle
1. Premiers bilans 2. Lancement de POC métier
avec un impact plus important 3. Intégration des infrastructures
avec le reste du SI (pilotage, reporting, digital, BPM, ESB …