Découvrir la Blockchain

Introduction à la technologie Blockchain

La Blockchain fait de plus en plus parler d’elle en ce moment. Mais tout le monde n’a pas encore bien compris de quoi on parlait, la phase d’évangélisation n’est pas encore finie. Voici une explication assez courte pour vous aider à comprendre. (tout commentaire est le bienvenu pour nous aider à vulgariser et améliorer cette présentation)

Comprendre la Blockchain

Pour comprendre simplement ce qu’est la Blockchain il faut la comparer à un grand livre de comptes – ou registre – partagé sur lequel on inscrit des transactions. “Partagé”, ainsi chacun possède une copie du registre. La conséquence est que toute altération de ce registre, intentionnelle ou non, est immédiatement rejetée par le réseau. Ainsi, les utilisateurs savent qu’une fois leur transaction inscrite sur le registre, personne ne pourra l’effacer ou la modifier. La confiance au réseau est donc totale. Cette notion de confiance est cruciale.

La Blockchain est donc un système entièrement décentralisé. Deux types de Blockchain existent : les Blockchain publique ou privée.

La Blockchain publique a un architecture entièrement ouverte et aucun gouvernement ou société ne peut la contrôler ou l’administrer (c’est le cas du Bitcoin ou d’Ethereum). L’intégralité des transactions sont de plus public même si elles sont « anonymisées » par le nom de l’adresse qui n’est pas directement relié à une identité. La  Blockchain privée est elle contrôlée par une entreprise, un état ou association qui peut l’administrer (définir qui peut se connecter).

Quand une transaction est lancée, celle-ci est transférée à tous les nœuds du réseau P2P qui maintiennent le registre. Chaque participant conserve une copie personnelle du registre et le met à jour chaque fois qu’il reçoit une nouvelle transaction avec une signature valide. Pour effectuer cette transaction, il y a donc uniquement un réseau pour indiquer à tous cette nouvelle transaction dans le registre.

Afficher l'image d'origine

Reste à valider et maintenir le registre des données. Pour se faire les « mineurs » vérifient la validité de chaque transaction (si A donne 5 à B, A dispose t’il bien de 5) puis  rassemblent les dernières transactions dans un  « bloc » (d’où le nom de Blockchain,« chaîne de blocs ») puis trouvent une valeur qui va donner à ce bloc une certaine propriété. Cela revient à résoudre un puzzle cryptographique et le premier mineur à résoudre ce puzzle annonce sa solution. Ensuite tout le monde met à jour sa copie du registre en y ajoutant le bloc de transaction. Ce processus de vote se répète, les mineurs se mettant constamment d’accord sur l’état du registre.

C’est grâce à ces mécanismes, que le Bitcoin a été créé, permettant des transactions monétaires, de transférer des Bitcoins, sans devoir passer par une entité centrale, comme une banque.

Les applications de la Blockchain

Le Bitcoin a été la première utilisation de grande ampleur de la technologie Blockchain. Depuis nombre de crypto-monnaie ont vu le jour en utilisant la Blockchain avec des caractéristiques technique qui peuvent varier. Les utilisateurs peuvent donc utiliser chaque unité pour représenter une part dans une société, un droit de vote, un certificat de propriété ou toute autre chose.
Mais plus que des échanges monétaires la Blockchain peut être utilisée pour dématérialiser des certifications, la propriété et les contrats.
Dans les industries culturelles, on pense à l’enregistrement d’oeuvres comme justificatif de propriété intellectuelle, via leur empreinte numérique, dans la Blockchain. Par exemple, un musicien prend l’empreinte numérique du morceau qu’il vient de composer, l’inscrit dans la Blockchain et pourra ensuite prouver dans le futur qu’il est bien le compositeur. Dans l’administration publique, dont une partie importante du rôle est de certifier, les applications sont innombrables la Blockchain trouve aussi son application. Ainsi le Honduras se sert de la technologie Blockchain pour y enregistrer les titres de propriétés afin de lutter contre la corruption et la fraude, le Ghana a récemment lancé une initiative similaire.

L’avenir de la blockchain, les Smart-contracts avec Ethereum

Bitcoin permet d’écrire des petits programmes, nommés “smart-Contract” permettant de contrôler de façon intelligente la réalisation des transactions. Sur Bitcoin, ces programmes restent limités et il faut faire preuve de créativité pour les appliquer dans des situations réelles. Plusieurs initiatives ont pour but d’étendre ces possibilités, dont la plus en vue en ce moment : Ethereum.

Dans le cadre d’Ethereum, il ne s’agit plus seulement d’enregistrer de simples transactions comme pour Bitcoin mais d’exécuter des programmes informatiques. Ainsi, tous ces acteurs vont effectuer de concert les mêmes programmes, les mêmes instructions, stocker les mêmes données, le tout de façon synchronisée. Ethereum peut donc être comparé à un seul ordinateur, unique et global.

smart_contract
Cet ordinateur global a d’énormes défauts (en tout cas à l’heure actuelle). Il est inévitablement lent, pour permettre à tous ses participants de se synchroniser, et son utilisation est chère comparée à celle d’un ordinateur ordinaire puisque chaque opération est effectuée en parallèle partout dans le monde, consommant du matériel et de l’énergie.
Mais ces défauts sont éclipsés par ce qu’il apporte : la confiance. Lorsque un utilisateur effectue une opération, cette opération est effectuée sur l’ensemble des ordinateurs participant au réseau Ethereum et les résultats sont stockés partout. Cette opération est prédictible et irréfutable. Prédictible, car le programme est lui-même dans la Blockchain et, à l’instar d’une transaction Bitcoin, inaltérable ; l’exécution du programme est donc fidèle à ce qu’a demandé l’utilisateur. Irréfutable, car toute personne peut prouver que l’action a bien été effectuée.

Ainsi, les utilisations les plus pertinentes d’Ethereum sont à chercher là où les données et les programmes sont relativement simples, mais où la confiance est prépondérante. Un exemple parlant est le droit de propriété de votre maison. La donnée elle-même est relativement simple, mais vous devez avoir confiance dans le fait que personne ne peut venir la supprimer ou la modifier à son avantage. Vous voulez être sûr de pouvoir la retrouver et prouver son authenticité, des années après, afin de certifier que votre maison est bien à vous. Les implémentations que nous avons déjà citées, au Honduras et au Ghana, sont implémentées en utilisant des dérivés de Bitcoin. Ethereum permettrait de les implémenter encore plus facilement. En effet, il ne s’agit plus de détourner l’usage de Bitcoin (dédié aux transactions financières), mais d’implémenter un bout de code sur une plateforme prévue pour supporter tout type de programme.
Toujours dans le secteur immobilier, les notaires pourraient constituer les dossiers de façon beaucoup plus efficiente en rassemblant automatiquement les pièces justificatives, que les experts auraient stockés et certifiés directement dans la Blockchain.

Tout contexte ayant besoin de confiance peut bénéficier de la technologie Blockchain. Et certains travaillent d’ores et déjà sur des applications tirant avantage de la technologie : par exemple ujomusic.com, plateforme permettant de vendre sa musique directement, sans plus d’intermédiaire que le programme lui-même. Publicvotes.org, système de vote automatisé, transparent et vérifiable. Slock.it, un système permettant à des serrures intelligentes d’être opérées directement via la Blockchain, ce qui permettrait à terme d’avoir des équivalents d’Airbnb ou de Drivy en permettant d’ouvrir les portes des appartements ou voiture partagées suivant les règles (réservation, paiements…) codées dans la Blockchain.

Cependant, derrière toute cette effervescence autour des Blockchains, il faut aussi voir la jeunesse de l’écosystème. De nombreux challenges se profilent à l’horizon, tels que l’adoption par les utilisateurs ou les problèmes de législation.
Une chose est sûre : nous avons une nouvelle façon de créer de la confiance (même si un programme, gérant l’équivalent de près de 150 millions de dollars, a été attaqué le 17 juin 2016).
Jusqu’à présent, on mettait cette confiance dans des acteurs centraux comme les banques, les assurances, les gouvernements ou les grands acteurs du Web. Aujourd’hui, nous avons la possibilité de fabriquer, via la Blockchain, des applications dans lesquelles nous pouvons avoir directement confiance via la technologie et non via des organismes centraux, avec des fonctionnements par essence vérifiables, non-altérables et auditables. Enfin, si la promesse peut sembler belle, la réalité n’est pas encore tout à fait au rendez-vous. En effet, le premier smart-contrat de « grande envergure », TheDAO qui gérait plus de 160 millions de dollars, a été victime le 17 juin 2016 d’une attaque exploitant une faiblesse de son code.

Pour aller plus loin

Pour une présentation assez générale du sujet, la vidéo de la présentation : « La Blockchain : Enjeux technologiques, économiques et sociétaux du 21ème siècle »

Une présentation plus technique, qui explique comment la Blockchain Bitcoin fonctionne puis rentre en détails sur le fonctionnement de la Blockchain Ethereum en montrant le code que les développeurs peuvent utiliser pour l’utiliser, DevoxxFR 2016 La Blockchain en détails

* Plus précisément, ces mécanismes sont liés aux transactions, pas aux satoshi eux-mêmes, mais pour simplifier la compréhension restons sur l’identification des satoshis.