Archives par mot-clé : monnaie virtuelle

La Blockchain pour les nuls

La blockchain qui est juste présentée comme la plus grosse révolution depuis Internet. Rien que ça. Pourquoi?

Parce que tout comme Internet, la blockchain va créer de nouvelles opportunités et faire tomber les barrières à l’entrée de nombreux secteurs d’activité aujourd’hui détenus par des gros acteurs.

La Blockchain sera à la transaction ce qu’Internet a été à l’information. Et dans le cas de la blockchain, ce sont les acteurs qui jouent le rôle d’intermédiaire de confiance dans les transactions qui vont voir leur position être remise en question (banque, notaire, et même les plateformes numériques comme Uber ou AirBnb).

 

Aujourd’hui une transaction financière entre 2 personnes nécessite l’intervention d’un tiers de confiance.

  • Coralie veut faire un virement à Christophe pour lui payer ses carottes,
  • Elle envoie l’ordre de transfert d’argent à sa banque,
  • La banque va vérifier si Coralie possède déjà bien le montant sur son compte et elle va aussi vérifier que c’est bien Coralie qui demande le virement,
  • Et si c’est le cas,  la banque va faire le transfert du montant demandé du compte de Coralie vers le compte de Christophe.

Ensuite, le rôle de la banque est aussi de garder une trace de tout ce que possède ses clients et une trace de l’ensemble des transactions effectuées. Pour notre explication, on dira que la banque stocke toutes ces informations dans un grand livre de compte.

 

Voyons maintenant comment avec la blockchain il est possible de s’affranchir de cet intermédiaire de confiance.

Tout d’abord, avec la blockchain, ce livre de compte devient public . C’est à dire qu’il n’est plus détenu que par un seul acteur mais est distribué à tous : chaque personne possède alors une copie de ce livre de compte et peut consulter l’ensemble des échanges présents et passés. Toutes les personnes qui possèdent ce livre de compte constitue le réseau de la Blockchain.

Reprenons le même exemple mais en appliquant les principes d’une transaction avec la Blockchain :

  • Coralie lance l’ordre de virement
  • Les différentes personnes du réseau vont alors vérifier dans leur livre de compte que Coralie possède bien le montant nécessaire pour la transaction.
  • Si c’est le cas, alors la transaction est validée.
  • Chaque personne va alors écrire cette transaction dans une nouvelle page de son livre de compte, ce qui met à jour tous les livres de compte de la blockchain.

Vous l’avez compris avec la blockchain ce n’est pas un seul acteur central qui valide ou non une transaction mais c’est l’ensemble des membres du réseau.

Maintenant imaginons que vous essayez de tricher par exemple en prétendant posséder plus ou en essayant de falsifier votre livre de compte, eh bien cela se va se remarquer car tous les autres verront que ce n’est pas ce qui est inscrit dans leur copie du registre. Ils contesteront donc l’information.

Et si on y réfléchit bien, dans ce système, on n’a même plus besoin de monnaie physique.

Dès que vous faites une transaction financière, il suffit de l’annoncer et tous les livres de compte mettront à jour l’information. Les livres de comptes font foi sur ce que chacun possède et sur l’historique des transactions. Vous pouvez vérifiez ce que vous possédez et ce que les autres possèdent. Et oui c’est le principe des monnaies virtuelles comme le bitcoin. On y reviendra plus tard.

Dans la vraie vie évidemment, ce ne sont pas des livres qui stockent et traitent l’information mais des machines avec de la puissance de calcul comme des ordinateurs ou des serveurs.

Techniquement, la blockchain peut donc être vu comme une base de donnée distribuée sur différents noeuds de stockage. Ces noeuds de stockage, ce sont les utilisateurs qui vont apporter avec leur machines de la puissance de calcul et de l’espace de stockage pour faire fonctionner la blockchain.

La blockchain est donc un système décentralisé maintenu par les participants du réseau eux-mêmes.

 

Tout comme le livre de compte est constituées des pages de transactions, la blockchain est une chaîne formée de “blocs de transactions”.

Chaque échange effectué entre ses utilisateurs est enregistrés sous forme de « blocs » qui, mis bout à bout, forme donc une « chaîne ». D’où la notion de “blockchain” chaîne de blocs.

Chaque bloc de la blockchain contient :

  • un ensemble de transactions, évidemment
  • Ensuite un bloc est caractérisé par un “hash”, le hash c’est une suite de caracteres unique servant à identifier le bloc, c’est l’empreinte du bloc en gros
  • Enfin, le bloc contient aussi le “hash” du bloc précédent qui est donc l’identifiant unique du bloc qui le précède (pour garantir l’ordre du bloc dans la blockchain)

 

Bon, maintenant, je vais entrer un peu plus dans le détails pour vous expliquer ce hash. Cela fait appel à des notions de cryptographie mais pas de panique je vais vous expliquer ça simplement.

En gros, un algorithme de hashage : c’est une fonction mathématique qui  va transformer un ensemble de données de départ en une suite de caractères.

Cette suite de caractère est donc le hash et il est spécifique et unique aux données qui ont été prises au départ, ce qui veut dire que Tout changement même infime dans le message implique un important changement du hash.

Ensuite, les fonctions de hashage ont une spécificité : elles ne marchent que dans un sens. Il n’est donc pas possible de retrouver le message initial à partir du hash,

On ne peut rien faire de la seule suite de caractère du hash

Le hash permet seulement d’avoir la garantie que les données de départ n’ont pas été modifié par quelqu’un.

Parce que s’il est modifié, le hash sera modifié et vous le verriez tout de suite.

Ici par exemple, on peut voir de façon évidente que le hash du bloc 5 de Christophe est différent, on peut donc en déduire que son bloc a été modifié.

 

Revenons maintenant au hash d’un bloc. Un nouveau bloc est identifié par son hash comme on l’a vu.

Et ce hash est notamment calculé à partir du:

  • hash du bloc précédent
  • et Les transactions validées du bloc

 

Passons maintenant au dernier point important de la Blockchain liée à la cryptographie : la signature électronique.

Chaque demande de transaction dans la Blockchain doit être signé par l’émetteur pour être validé.

Ainsi, si Nicolas essaye de dire que « Coralie donne 1000 BTC à Nicolas », les autres ne vous croiront pas tant qu’ils n’auront pas la preuve que c’est bien Alice qui a envoyé le message, et cette preuve c’est la signature d’Alice.

Pour comprendre le concept de signature électronique, on va rapidement voir le concept de cryptographie asymétrique.

Prenons encore l’exemple de Coralie qui veut signer son message, pour ça, elle va avoir besoin de génèrer un paire de clés de chiffrement :

  • Une clé privée, qui ne doit être communiquée à personne. Alice doit être la seule à posséder cette clé privée
  • Et une clé publique, qui peut et doit être communiquée à tout le monde. Ces clés publique sont stockés sur chaque ordinateur du réseau.
  • Ces 2 clés publiques et privées sont liés mathématiquement. On va voir maintenant en quoi.

 

Coralie veut lancer un ordre de virement (ex : »Je donne 10 BTC à Christophe), elle va chiffrer ce message à l’aide de sa clé privée. Chiffrer un message, ça veut dire le rendre incompréhensible. Pour pouvoir lire ce message de nouveau, il est nécessaire de le déchiffrer et le seul moyen c’est d’utiliser la clé publique associée créée par Coralie. En fait seule cette clé publique est capable de déchiffrer les messages qui ont chiffres avec cette clé privée.

Pour déchiffrer ce message sensée venir  de Coralie, les autres personnes du réseau vont donc utiliser la clé publique donnée par Coralie.

Si on a réussi à déchiffrer son message à l’aide de la clé publique de Coralie , alors on sait que que le message est bien de Coralie, parce que seul Coralie possède la clé privé associé.

C’est comme ça que dans la blockchain, les différentes personnes du réseau s’assure bien de l’identité du donneur d’ordre

Point suivant encore lié à la cryptographie et c’est le dernier rassurez-vous!

Dans la Blockchain, il n’y a pas de vrais noms.  Et heureusement! Vous n’avez tout de même pas envie que tout le monde sache ce que vous possédez et ce que vous faîtes comme transactions. Dans la pratique, on transfère les actifs d’une adresse à une autre.

L’adresse est tout simplement une hash de la clé publique. Quand un utilisateur génère une paire de clés, il génère donc automatiquement une adresse à partir de sa clé publique. C’est à cette adresse que les BTC seront envoyé. Grâce à ce système, l’anonymat des utilisateurs est préservés

C’est justement pour pouvoir garder l’anonymat que les cybercriminels demandent des versements en bitcoins via leur ransomware.

 

 

Les 2 blockchains les plus connus sont aujourd’hui Bitcoin (principalement) et Ethereum qui commence à faire parler d’elle. Ces blockchains fonctionnent avec leur propre cryptomonnaie

La blockchain Bitcoin a une cryptomonnaie qui porte le même nom, Bitcoin donc alors que la cryptomonnaie de la BC Ethereum est l’Ether. D’ailleurs Ethereum permet bien plus que les transactions en cryptomonnaie mais ça on verra plus tard dans la vidéo avec les smart contracts.

A noter que les noeuds du stockage sont aussi appelés les “mineurs”. Et Lorsque l’on parle de « miner » des bitcoins, cela veut dire utiliser la puissance de calculs des machines pour la résolution des problèmes mathématiques pour générer un nouveau bloc. Les mineurs qui ont permis de créer un nouveau bloc sont ensuite rémunérés pour ce travail avec de nouveaux bitcoins

 

Maintenant, prenons un exemple de transaction en bitcoin pour voir comment ça marche maintenant qu’on a tous les principes de la blockchain en tête.

  • Coralie veut transférer un bitcoin à Christophe. Elle transmet cette demande à l’ensemble du réseau.
  • Les mineurs vont vérifier l’ensemble de la blockchain pour s’assurer que Coralie possède bien ce bitcoin mais ils vont aussi vérifier que l’ordre donné émane bien de Coralie
  • Si tout est OK, alors chaque mineur travaille à forger un bloc contenant cette transaction
  • Le premier mineur qui réussit à créer le bloc transmet ce bloc aux autres membres pour vérification.
  • Pour qu’un nouveau bloc soit validé, il faut qu’il y ait un consensus entre les différents membres du réseau.
  • Revenons à notre transaction. Une fois le bloc validé par les membres du réseau, chacun ajoute ce dernier bloc deans leur copie de la blockchain
  • Et enfin, Christophe possède alors un nouveau bitcoin

Chaque nouvelle transaction ajoutée à la blockchain, ne pourra être effacée. Cela permet d’assurer la validité et l’authenticité d’une transaction

Jusqu’à présent on a parlé que de cryptomonnaies mais on peut très bien étendre ce principe de transferts à d’autres actifs

C’est par exemple le cas avec les titres de propriétés.

Au Ghana, une majorité des territoires ruraux ne sont pas enregistrés dans un cadastre officiel. Bitland, une organisation basée au Ghana, propose alors aux institutions et aux personnes d’enregistrer les titres de propriété sur la blockchain. La blockchain fournit un enregistrement permanent et vérifiable, et permet de cette façon d’aider le gouvernement ghanéen à résoudre les conflits.

Autre exemple d’actifs stockés dans la blockchain? Les diplômes. Le Massachussets institute of Technology  ou MIT commence à utiliser la blockchain pour certifier le diplôme de leurs étudiants. Le MIT associe le diplôme avec l’identifiant unique de l’étudiant. Ces données sont cryptées, grâce à une clé privée du MIT, et stockées dans la blockchain.

Les jeunes diplômés peuvent ensuite transmettre leur diplôme aux recruteurs, qui peuvent vérifier l’authenticité des informations sur un site du MIT.

Et à terme On peut même imaginer stocker dans la blockchain tous les documents légaux  (par exemple des certificats de naissance, mariage, divorce, testament, etc).

Autre cas d’usage : le caractère inaltérable et transparent de la blockchain permet de garantir la traçabilité d’un actif.

Et c’est pour ça que Carrefour a créee la première blockchain alimentaire en Europe. Le but est de garantir aux consommateurs  une traçabilité complète des produits commercialisés. Ainsi, tous les poulets d’Auvergne de Carrefour intégre un QR Code. Avec ce QR code, vous accèdez à l’historique des événements de la vie, de l’élevage, de la mort et du transport du poulet. Le client pourra s’assurer que le poulet a été élevé dans les conditions exigées par Carrefour.

Et enfin il y a une dernière utilisation de la blockchain qui très peu évoqué et qui pourtant peut être à l’origine de nombreuses d’innovations : ce sont les smart contracts. Et c’est ce que je vais vous expliquer maintenant.

Un contrat légal traditionnel définit les règles d’un accord entre plusieurs parties. Un Smart Contract va lui figer ces règles dans une Blockchain. Mais ce n’est pas tout : Dans un second temps,le Smart contract permet de déclencher automatiquement des actions en fonction des conditions fixés par le contrat, et tout ça sans nécessité d’action humaine. C’est pour ça qu’on les qualifie de « smarts »ou intelligents en français

Concrètement, c’est du code logiciel qui fonctionnent sur une chaine de blocs et est déclenché par des données externes

Allez un petit exemple de smart contracts :

Et c’est d’ailleurs en s’appuyant sur la Blockchain Ethereum que la société d’assurance Axa a lancé son premier smat contract Fizzy qui une assurance voyage pour les retards de vol d’avion entre Paris et les Etats-Unis.

Ce smart contrat déclenche automatiquement l’indemnisation de l’assuré en cas de retard de son avion  et tout ceci sans avoir besoin d’une intervention humaine

 

Et comme je l’ai dit au début, la blockchain a le potentiel pour « ubériser Uber ». Avec la  blockchain, les utilisateurs peuvent effectuer des transactions de pair-à-pair c’est à dire directement entre eux : que ce soit avec un chauffeur, un loueur ou un autre particulier.

Ce qu’il est possible de se passer des plateformes intermédiaires, comme Uber, AirBnB, Blablacar qui constituent aujourd’hui le cœur de la révolution numérique apportées par Internet