GUIDE PRATIQUE DE LA Comprendre ... - Blockchain Paris 2019 · • Noeuds (ceux qui valident la...

10
Comprendre les fondamentaux tech en 10 minutes

Transcript of GUIDE PRATIQUE DE LA Comprendre ... - Blockchain Paris 2019 · • Noeuds (ceux qui valident la...

GUIDE PRATIQUE DE LA BLOCKCHAIN

Comprendre les fondamentaux tech en 10 minutes

La Blockchain

Une technologie qui permet l’échange sécurisé d’actifs numériques (don-nées, fichiers ou monnaies numériques) et la préservation de l’intégrité de ceux-ci tout au long de l’échange sans l’intervention d’une autorité de contrôle centralisée.

La Blockchain utilise les espaces de stockage et les capacités de traite-ment des ordinateurs membres du réseau pour véhiculer les actifs et en vérifier la conformité.

Par son système de validation qui implique une pluralité (Blockchain privée) voire une multiplicité (Blockchain publique) d’acteurs/ordi-nateurs responsables de l’échange, la Blockchain propose un système transparent de contre-pouvoirs sus-ceptibles d’éviter la corruption des actifs.

Une blockchain

Un registre numérique consignant à intervalles réguliers sous formes de blocs successifs l’ensemble des transactions effectuées sur une technologie Blockchain depuis sa création.

Une blockchain répertorie de façon immuable tous les événements et opérations liés à chaque transac-tion et garantit ainsi la traçabilité de l’information et donc son caractère infalsifiable.

Une blockchain formalise ainsi la continuité numérique d’un actif (identification, valeur, datation…) quel que soit le nombre d’intermé-diaires impliqués et l’immatérialité de celui-ci.

POURQUOI

UNE ORGANISATION

EN BLOCS ?

A des fins d’optimisation !

Pour éviter d’envoyer chaque

transaction une par une sur

la blockchain et solliciter

ainsi les ordinateurs

de façon fragmentée…

La Blockchain prévoit la

création régulière de « packs »

de transactions à vérifier,

datés et consignés sous forme

de « blocs ».

Chaque bloc contient les actifs

correspondant à plusieurs

transactions, un identifiant

unique (« hash ») et l’identifiant

du précédent bloc pour assurer

la continuité de la chaîne.

BLOCKCHAIN OU… blockchain ?

L’INGRÉDIENT RÉSEAU

Une infrastructure de partage d’actifs numériques entre ordinateurs (peer-to-peer) dans laquelle chaque ordinateur ou serveur hôte (« nœud ») reçoit l’intégralité du registre distribué sous formes de blocs et met à disposition ses capacités de stockage et de calcul pour la validation des nouvelles entrées.

CE QUI DIFFÉRENCIE BLOCKCHAIN

ET PEER-TO-PEER EN MATIÈRE

DE PROTOCOLE RÉSEAU ?

Dans la Blockchain, l’intégralité du registre est

partagée là où le peer-to-peer peut scinder un fichier

en plusieurs segments distribué sur plusieurs

ordinateurs du réseau.

LES 4 INGRÉDIENTS DE LA TECHNOLOGIE BLOCKCHAIN

LES 4 INGRÉDIENTS DE LA TECHNOLOGIE BLOCKCHAIN

L’INGRÉDIENT ALGORITHMIQUE

Des algorithmes de vérification des informations contenues dans les blocs et des algorithmes de validation de la création de nouveaux blocs.

Ceux-ci impliquent le choix d’une méthode de consensus organisant la gouvernance entre acteurs du réseau, des méthodes qui dépendent de la nature de la blockchain utilisée (publique ou privée) – cf plus bas : Proof of Work, Proof of Stake, Proof of Authority… de quoi parle-t-on ?

BIEN DISTINGUER « UTILISATEUR » ET « VALIDATEUR »

La technologie Blockchain, qu’elle soit publique ou

privée, met aux prises une multiplicité d’intervenants.

Et pourtant, les rôles dévolus à chacun ne sont pas

identiques…

• Utilisateur (celui qui utilise la blockchain) : sans

surprise, un utilisateur est la personne qui se connecte

à la blockchain pour procéder à un échange d’actifs

numériques avec un autre utilisateur. Cet acte va

provoquer une modification du registre : en d’autres

termes, l’utilisateur possède un accès en lecture et en

écriture sur la blockchain. Pour devenir utilisateur, il

suffit de détenir une clé d’accès au réseau (disponible

uniquement sur autorisation des membres pour une

blockchain privée).

• Noeuds (ceux qui valident la blockchain) : ce sont les or-

dinateurs constitutifs du réseau blockchain qui inspectent

la fiabilité des informations reçues lors de l’échange,

effectuent la procédure de validation et génèrent la création

des blocs. Dans la blockchain Bitcoin, ces validateurs sont

appelés « mineurs ». Concrètement, il s’agit très souvent

de fermes de serveurs dédiés à la technologie Blockchain

dont la forte concentration sur certaines régions géogra-

phiques (Chine notamment) interpellent les détracteurs de

la Blockchain…

Dans une blockchain publique, « utilisateur » et

« noeud » sont le plus souvent deux entités distinctes.

Par exemple, si un individu X utilise Ethereum pour

effectuer une transaction vers un autre utilisateur Y, il

est peu probable qu’il devienne « nœud » lui-même et

procède à la vérification des transactions des autres

utilisateurs (sauf s’il le souhaite bien sûr !).

Dans une blockchain privée, les frontières entre les

rôles sont un peu plus floues. Etant donné que le

nombre de participants est restreint, l’implication de

chacun est souvent plus transversale ; les membres

auront ainsi la possibilité d’effectuer des transactions

(utilisateur) mais aussi d’inspecter et valider les tran-

sactions des autres (noeud).

LES 4 INGRÉDIENTS DE LA TECHNOLOGIE BLOCKCHAIN

L’INGRÉDIENT CRYPTOGRAPHIQUE

Des techniques de cryptographie avancées qui garantissent l’accès

sécurisé au réseau des utilisateurs de la blockchain et la préservation de l’identité de l’actif numérique tout au

long de son échange.

QUELS SONT LES PRINCIPES CRYPTOGRAPHIQUES DE LA BLOCKCHAIN ?

• Une pseudonymisation de l’utilisateur : chaque utilisateur dispose d’une clé publique (ou adresse) accessible à tous les membres de la blockchain. Elle permet ainsi les interactions entre les membres sou-haitant effectuer des transactions.

• Une confidentialité supposée : en plus de la clé publique, l’utilisateur dispose d’une clé privée non accessible aux autres utilisateurs (on ne peut inférer la clé privée à partir de la clé publique). C’est celle-ci qui lui permettra d’interagir avec la blockchain et d’initier les échanges. Toute perte de la clé privée est irréversible (impossible de la récupérer comme un mot de passe oublié).

• Un « étiquettage » cryptographique unique des actifs : lorsqu’un actif numérique rejoint un bloc, un « hash » cryptographique est assorti à ce bloc, fruit du mélange unique des données entre elles. Si l’une des données, même infime, venait à changer, alors le hash serait totale-ment bouleversé et un nouveau bloc devrait alors être généré…

L’INGRÉDIENT APPLICATIF

Des applications qui permettent à un utilisateur d’interagir avec une blockchain et de gérer les actifs qu’il y fait transiter : gestion de crypto-monnaies (portefeuille d’actifs ou « wallet »), interface « smart contracts » ou plateforme d’échange fiduciaire entre cryptomonnaie et devise réelle.

QU’EST-CE-QU’UN « SMART CONTRACT » ?

Ce sont des contrats informatisés qui, grâce à la technologie Blockchain, exé-cutent automatiquement leurs clauses (et les transactions induites) lorsque les paramètres contractuels (les considérants) se produisent de manière effective. La technologie Blockchain apporte une garantie d’infaillibilité de la transaction qui permet cette automatisation (et réduit ainsi l’intermédiation).

Concrètement… On cite souvent l’exemple des démarches d’indemnisation des compagnies aériennes en cas de retard supérieur à 3 heures : avec un « smart contract », pas de nécessité d’effectuer une réclamation, le rem-boursement du voyageur s’effectuerait directement sur son compte en banque à dépassement du délai de 3 heures.

Les smart contracts ont été introduits par la blockchain Ethereum mais restent encore peu appliqués.

BLOCKCHAIN PUBLIQUE

Une blockchain ouverte et massive-ment distribuée qui peut être accessible à n’importe quel individu ou organisation. Les plus connues sont Bitcoin et Ethereum.

Les blockchains publiques sont réputées inviolables du fait de la mul-tiplicité de leurs membres mais elles souffrent d’un manque de scalabilité dû à la lourdeur de traitement de chaque échange d’informations (3 à 5 transactions par seconde pour Bitcoin, 15 à 25 pour Ethereum).

BLOCKCHAIN PRIVÉE

Une blockchain à accès restreint qui limite ses traitements et ses échanges aux seuls membres du réseau qui l’ont créée. Elle repose sur le libre choix des participants à s’échanger des informations en toute transparence et en toute sécurité, et implique le choix originel d’une méthode de consensus.

Les blockchains privées ont vu le jour a posteriori des blockchains publiques, principalement dans les milieux éco-nomiques (consortiums d’entreprises, organisations publiques, etc) pour favoriser la confidentialité des échanges et la rapidité des traitements (la réduction du nombre de nœuds favorisant l’agilité).

L’OFFRE DU MARCHÉ

Bitcoin

Ethereum (version publique)

VeChain

Z-Cash

Tezos

PLATEFORMES

DE CRÉATIONS

DE BLOCKCHAINS

PRIVÉES

Hyperledger

Ethereum (version privée)

Quorum

Ripple

Corda

BLOCKCHAIN PUBLIQUE OU BLOCKCHAIN PRIVÉE ?

Petit rappel : Toutes les blockchains fonctionnent sur un principe de mise à jour régulière qui entérine par la création de nouveaux blocs la réalisation de nouvelles transactions ou d’itérations sur un actif numérique.

Pour aboutir à la création de ces nou-veaux blocs, il est important que les nœuds puissent valider la conformité de l’information.

Deux exemples :

• Vérifier qu’une personne qui trans-fère de l’argent possède effectivement les fonds pour le faire…

• Vérifier qu’une fiche produit alimen-taire est effectivement intégralement conforme aux spécifications origi-nelles du produit…

Pour valider, chaque nœud va ainsi interroger et analyser les data qu’il possède.

• Dans l’exemple 1, il va vérifier le nombre d’unités monétaires virtuelles (ex : bitcoins) détenues par l’émetteur de la transaction sur son numéro de compte ;

• Dans l’exemple 2, il va comparer cette fiche produit aux spécifications originelles de ce produit enregistrées sur la blockchain ;

Les méthodes de consensus : Si tous les nœuds possèdent un pouvoir d’inspec-tion des data, tous ne sont pas égaux devant la validation finale. Pour obtenir celle-ci et générer les nouveaux blocs, la technologie Blockchain prévoit la notion de primauté d’un nœud ou de majorité d’un groupe de nœuds sur les autres, sans pour autant préciser comment se détermine le choix de ce nœud ou l’établissement de cette majorité. Ce sont les méthodes de consensus propres à chaque blockchain qui ont cette fonction : elles décident des critères qui présideront à la validation finale.

PROOF OF WORK, PROOF OF STAKE, PROOF OF AUTHORITY… DE QUOI PARLE-T-ON ?

Les méthodes de consensus varient donc d’une blockchain à une autre :

• Dans le cas d’une blockchain privée : ce sont les membres constitutifs de la blockchain qui décident entre eux du mode de validation majoritaire (ex : at-teinte d’un pourcentage défini de nœuds validateurs). Des méthodes prédéfinies existent cependant et peuvent être reprises par le consortium :

- Proof of Authority : la liste des nœuds validateurs est établie en amont et reste immuable, chacun validant à tour de rôle la création des blocs. La validation est obtenue au seuil de 51%.

- Practical Byzantine Fault Tolerant (PBFT) : la liste des nœuds valida-teurs est établie en amont et reste immuable. Le seuil de validation est établi à 2/3 des nœuds.

• Dans le cas d’une blockchain publique : les deux méthodes les plus connues proviennent des deux blockchains publiques historiques Bit-coin et Ethereum

- Proof of Work (créé par Bitcoin, réutilisé par Ethereum) : le pouvoir validateur est obtenu par le nœud qui parvient à résoudre un problème cryptographique complexe lié au hash du bloc, témoignant ainsi de sa forte puissance de calcul mise à disposition de la blockchain pour la création du bloc. Le nœud validateur obtient une rétribution de son travail sous forme de bitcoins et le hash du bloc créé enregistre l’information de la quantité de travail nécessitée (« la preuve de travail »).

- Proof of Stake (créé par Ethereum) : le pouvoir validateur est obtenu par l’ensemble des noeuds acceptant de mettre en gage un certain montant de leur cryptomonnaie pour parvenir à la création du bloc et obtenir une rétri-bution. Le principe repose sur l’intérêt des nœuds à réussir leur travail de validation : en effet, en cas d’échec, ils perdraient leur mise.

PROOF OF WORK, PROOF OF STAKE, PROOF OF AUTHORITY… DE QUOI PARLE-T-ON ?

1. Le caractère infalsifiable de la Blockchain est-il garanti ?

Le risque zéro n’existe pas mais à partir du moment où les informations sont entrées dans le registre, on peut considérer que celles-ci ne vont plus pouvoir être modifiées sans alerter l’ensemble des parties prenantes, ce qui constitue un niveau de garantie bien supérieur à d’autres options.

2. Quelles sont les différences sur ce point entre une blockchain publique et une blockchain privée ?

Dans une blockchain publique, le registre est massivement distribué entre des acteurs qui ne se connaissent pas, tandis dans une blockchain privée le registre est partagé entre un plus petit nombre d’acteurs qui peuvent se connaitre en amont.

Dans ce deuxième cas, le système de gouvernance et de validation des écri-tures peut donc être adapté en fonction des besoins des participants dès l’ori-gine de la création de la blockchain.Il faut néanmoins que tous les acteurs s’accordent sur un point (en tout cas à ce jour) : que tous les noeuds tournent avec la même technologie de blockchain.

En ce sens, l’interopérabilité est certai-nement un des plus gros défis que devra régler la Blockchain. L’industrie l’a d’ail-leurs très bien compris puisque les offres des gros éditeurs historiques empruntent ce chemin : on peut aujourd’hui faire une blockchain privée avec un noeud Oracle, un noeud SAP, un noeud IBM, etc... qui sont toutes des déclinaisons d’Hyperled-ger. D’ailleurs, les discussions entre la Hyperledger Foundation et la Enterprise Ethereum Alliance visent à étendre cette interopérabilité.

Au final, les deux logiques (publiques, privées) sont différentes, mais le prin-cipe de base reste le même : partager un registre pour le rendre, théorique-ment, inaltérable. On a réinventé les ta-blettes de marbre à l’âge du numérique.

3. Qui a accès à la blockchain ?

Dans une blockchain publique, tout le monde peut participer. Cependant, concrètement, cet accès ouvert peut se traduire par le recours à des intermédiaires (des gestionnaires de portefeuille bitcoin par exemple) ce qui soulève des questions de sécurité. Autant le registre Bitcoin semble infal-sifiable, autant les outils pour y accéder ne le sont pas forcément. C’est en tous cas aujourd’hui la partie la moins sécu-risée de l’usage d’une blockchain.

Dans une blockchain privée, seuls quelques acteurs sont habilités à écrire et à consulter les données partagées.

L’ÉCLAIRAGE DE

PHILIPPE DUCELLIER,

RESPONSABLE

APPLICATIONS

& DONNÉES,

LEMAGIT / TECHTARGET On a réinventé les tablettes de marbre à l’âge du numérique.

POUR APPROFONDIR

4. On confond souvent Blockchain et cryptomonnaie. Pourquoi ?

Parce que la technologie Blockchain est née avec le Bitcoin dont le but était effectivement de gérer des transac-tions d’actifs numériques de manière décentralisée. Cependant si la notion d’échange est au cœur de la Blockchain, la Blockchain n’implique pas forcément des transactions de cryptomonnaies…

Je ferais la même distinction entre les marchés des changes et les bases de données : les premiers s’appuient sur les deuxièmes, mais les deuxièmes ne sont pas uniquement utilisées pour échanger des dollars et des euros ! C’est le même lien ici : la cryptomonnaie est un actif, la Blockchain est son moteur. Mais le moteur peut faire bien d’autres choses que des cryptomonnaies… les Smart Contracts par exemple !

5. Comment relier une blockchain au SI existant de l’entreprise ?

Cela ne pose pas trop de problèmes. Dans le cas d’une blockchain publique, un lien simple vers une transaction pu-blique peut être injecté dans n’importe quel outil de l’entreprise (dans l’outil de gestion documentaire par exemple).

Dans le cas d’une blockchain privée - où ce sont les participants qui adaptent l’infrastructure et la couche logicielle à leurs besoins - il est possible de conce-voir des intégrations plus poussées avec le SCM, l’ERP, etc. C’est d’ailleurs ce que

proposent de plus en plus les éditeurs comme Oracle ou SAP (avec des outils clef en main « infusés » à la blockchain).Pour moi, la question la plus en matu-ration actuellement n’est pas tellement celle de l’intégration au SI que celle de l’interfaçage avec le monde réel. Autre-ment dit, comment vérifie-t-on (ou pas) que la donnée extérieure (une tempé-rature ou une provenance de produit) que l’on va inscrire dans la blockchain est bonne ou valide.

6. La Blockchain est un buzzword dans le milieu informatique au même titre que Big Data et IA. Y’a-t-il des liens entre les trois ?

Vaguement. La plupart des Blockchains seront amenées à traiter

de gros volumes de données. Mais pas toujours au sens où on l’entend dans le Big Data (temps réel, données non structurées, etc.). D’autant que la Blockchain va devoir montrer sa capacité à traiter de gros volumes de transactions - à « scaler » comme on dit en jargon IT - ce qui n’est pas une évidence aujourd’hui pour toutes les blockchains.

Pour l’IA, je dirais que des dévelop-pements communs sont prévisibles. D’abord, l’IA pourrait aider à « prépa-rer » les nombreuses données à écrire dans le registre, qui proviennent de sources très variables : les nettoyer (éviter les doublons, etc) ou identifier celles qui ne doivent pas être par-tagées d’un point de vue réglemen-taire… Cette « Data Prep » qui prend beaucoup de temps pourrait ainsi être automatisée par l’IA. Si j’étais un homme de marketing je dirais que « l’IA peut faire rentrer le Big Data dans la Blockchain ».

D’autre part l’IA, dans sa partie cognitive, pourrait rendre la Blockchain beaucoup plus facile à utiliser, par exemple avec des UI sous forme de chatbots qui ren-draient l’information du registre intelli-gible pour le commun des mortels.

Bref, ce ne sont que deux exemples, on peut imaginer beaucoup de choses, mais encore faut-il que la technologie Blockchain atteigne elle-même une certaine maturité... ce qui reste encore une source de débats aujourd’hui.

L’ÉCLAIRAGE DE PHILIPPE DUCELLIER

Participez à Blockchain Paris les 27 & 28 novembre prochains

à la Cité Universitaire Internationale et découvrez les applications

d’une technologie révolutionnaire .

Inscriptions sur www.blockchainevent.fr/2018/inscription

La question la plus en maturation actuellement n’est pas tellement celle de l’intégration au SI que celle de l’interfaçage avec le monde réel.