Catégories
Présentations

Fonctionnement synthétique d’une Blockchain (part 4)

En cours d’écriture d’un sujet sur les NFTs, je me suis aperçu que je n’avais pas terminé la série que j’avais prévue sur la Blockchain et en particulier son fonctionnement. Ce billet correspond donc aux slides 9 à 14 de ma présentation au Meetup de Cotonou.

Part 1Part 2Part 3

Fonctionnement Blockchain simplifié

Introduction en vidéo, en anglais

Par exemple, 2 personnes interagissent sur une application, pour effectuer un paiement :

  1. La transaction, avec les références des intervenants, est ajoutée à un grand livre de transactions en ligne, horodatée, cryptée avec un code de sécurité digital (fonction de hachage cryptographiquehash) dans un format prédéfini.
  2. Le code de la transaction est envoyé vers le réseau distribué des utilisateurs (P2P, pair-à-pair), où il est confirmé sans compromettre les informations privées. Ceci élimine donc le recours à une autorité centrale.
  3. Une fois la transaction validée par plusieurs utilisateurs, elle apparait dans le grand livre de chacun sous la forme d’un enregistrement permanent et immuable, soit dans un bloc dédié ou dans un bloc plus large, selon la manière dont les blocs sont définis par l’application.
  4. L’information de la transaction étant enregistrée, elle est donc terminée.

Pour lire une description beaucoup plus détaillée en anglais : How does blockchain work in 7 steps — A clear and simple explanation (2018), qui prend comme référence un échange Bitcoin.

Dans l'absolu, toutes les blockchains ont le même type de fonctionnement, quelque soit leur usage ou destination. Cliquez pour tweeter

Remarques sur le fonctionnement

Les utilisateurs dans le réseau P2P qui reçoivent les transactions à valider sont nommés « nœuds » (nodes).

blockchain

Les validations sont effectuées selon des algorithmes connus (formules mathématiques majoritairement de type Proof of Work aujourd’hui – cf. ci-dessous), par des mineurs (miners) qui entrent en compétition (littéralement dans le cas du PoW) pour effectuer la validation, car ils sont rémunérés pour ce faire.

Une transaction Blockchain vérifiée va donc intégrer des données, qui peuvent être de type monnaie digitale (cryptomonnaie), contractuel (smart contract) ou théoriquement tout autre type d’information qui puisse tenir dans un bloc. Cliquez pour tweeter

Hachage cryptographique (hash)

Le hachage cryptographique, par exemple utilisé pour stocker de manière sécurisée les mots de passe d’un compte dans une application en ligne, est une formule mathématique complexe.

Elle permet, quelle que soit la quantité de données saisies en entrée (d’un mot à un texte entier), de générer une chaine unique de longueur fixe. Si je change ne serait-ce qu’un élément dans ma saisie, la chaine résultante est donc absolument différente. De même, 2 données différentes ne peuvent générer un résultat identique (pas de « collisions »).

Cette fonction est à « sens unique ». Ainsi, si je possède la chaine résultante, je n’ai aucun moyen de recréer les données qui ont servi à la générer.

Elle est aussi « déterministe » : si j’entre plusieurs fois les mêmes données, j’obtiens toujours le même résultat.

L’empreinte numérique (digest ou hash) ainsi générée sert donc à identifier les données incluses dans une blockchain et à créer le lien avec les blocs qui précédent et suivent.

Tester : SHA256 Hash Generator (utile pour générer un mot de passe en cas de besoin)

Cas des cryptomonnaies

Une monnaie digitale n’est en fait qu’une valeur d’échange (un jeton ou « token »), créée et stockée de manière électronique dans une blockchain, utilisant des techniques de cryptage pour contrôler la création d’unités monétaires et pour vérifier le transfert de fonds. Bitcoin est l’exemple le plus connu.

Une cryptomonnaie :

  • n’a pas de valeur intrinsèque (sauf exception comme les Stable Coins, elle n’a pas de cours d’échange basé sur un élément tangible comme l’or par exemple) et donc son cours dépend uniquement de l’offre et de la demande…
  • n’a pas de forme physique (pièces, billets…) et n’existe que via le réseau.

Sa disponibilité n’est pas déterminée par une banque centrale et son réseau est totalement décentralisé (en théorie).

Fonctionnement Proof of Work vs Proof of Stake

Pour valider un bloc, il convient d’obtenir un consensus authentifiant son existence. Il existe 2 méthodes principales actuellement qui font partie intégrante du fonctionnement d’une blockchain, le 1er (PoW) étant le plus répandu.

Fonctionnement POW vs POS
Image via BlockGeeks

Proof of Work (PoW) = Preuve de travail = être le 1er à résoudre une énigme mathématique pour être rémunéré.
Nécessite une puissance de calcul de plus en plus importante dans le temps (d’où l’apparition de « fermes » et d’ordinateurs ou composants dédiés, et un impact gigantesque en consommation électrique).

Proof of Stake (PoS) = Preuve d’enjeu ou de participation = affectation déterministe calculée sur des critères de quantité de jetons possédés.
Moins gourmand en énergie et pas de rémunération. C’est la personne qui a initié la transaction qui la finance, par un paiement de « frais » via des unités spécifiques (le « gas » pour Ethereum par exemple, mais pour l’instant cette blockchain utilise toujours le Proof of Work).

La blockchain Ethereum est par exemple actuellement basée sur des validations par PoW, mais dans sa version 2.0, passera sur PoS, permettant d’économiser la majeure partie de la consommation en énergie actuelle. Cette évolution offre théoriquement plus de rapidité de traitement et des frais moins élevés.

Pour en savoir plus (en anglais)


Voilà, c’était une version très simplifiée, et non exhaustive du fonctionnement théorique d’une blockchain. N’hésitez pas à commenter et à poser des questions dans les commentaires ou sur Twitter, mes DMs sont ouverts.

Le prochain billet traitera des Smart Contracts (contrats intelligents).
A suivre !

Licence
Catégories
Réflexions

Blockchain & technologies décentralisées

A la fin de l’hiver 2019, j’ai reçu ma certification Blockchain & Decentralization for the Information Industries (Blockchain et les technologies décentralisées pour les industries de l’information) après avoir suivi le MOOC (Massive Online Open Course) proposé par la SJSU iSchool (San Jose State University School of Information).

Pour en savoir plus, consultez le lien ci-dessous, où je suis également interviewé.

I live and work in francophone West Africa, and even if digital and IT are part of more and more people’s life, it’s always better to properly address the discovery of a new paradigm and any expectation that could derive from it. This course helped me to reinforce my knowledge and to be able to speak or better convey the technology to others myself.

Quelques mois plus tard, je proposais une présentation « Blockchain 101 » avec une partie sur les technologies décentralisées, à Cotonou.

Catégories
Présentations

Usages (futurs…) pour la technologie Blockchain (part 3)

Venant de m’apercevoir que j’avais omis de terminer ma série Blockchain (usages ci-dessous), je reprends là où je m’étais arrêté.
D’autant qu’avec l’engouement actuel en Afrique pour les cryptomonnaies (dont Bitcoin), il me semble judicieux de remettre certaines pendules à l’heure… tout en restant simple.

Partie 1Partie 2Partie 4


Après avoir vu rapidement ce qu’était une blockchain, posons-nous maintenant la question des usages (théoriques) : à quoi ce ledger décentralisé peut-il bien servir ?

usages blockchain simple

Une Blockchain s’utilisera par exemple lorsque l’on a besoin d’un registre qui soit :

  • Immuable => information non modifiable, outil de base pour la désintermédiation (élimination des intermédiaires)
  • Crypté => pour sécuriser
  • Transparent => publique
  • Distribué => partagé entre les utilisateurs
  • Programmable => piloté par un ensemble de formules mathématiques et programmes informatiques (contrats intelligents  « smart contracts »)
  • Consensuel => partage « démocratique » de l’utilisation, de la validation (PoW, PoS…), de la vérification et des prises de décision

A noter : Il existe des blockchains publiques, des blockchains privées ou encore des blockchains de consortium.

Il faut donc faire très attention dans les projets présentés sur le type de blockchain utilisé et la gouvernance considérée…
Il existe aussi des projets (nombreux) qui ne sont que des pseudo-blockchains…

usages blockchain complexe

Une Blockchain peut s’utiliser en théorie dans tous les contextes où l’on a besoin de :

  • Traçabilité
  • Transparence
  • Vérifiabilité
  • Sécurité
  • Collaboration
  • Efficacité

Les Blockchains sont pour l’instant considérées comme l’un des blocs de base pour de nombreuses innovations et usages à venir, que ce soit dans les métiers de la banque ou de l’assurance, dans la gestion financière (prêts…), les chaines d’approvisionnement etc. Bien évidemment, si l’on peut en plus ajouter de l’Intelligence Artificielle derrière (AI), les potentiels sont encore plus grands.

A mon humble avis, le futur du web sera d’une manière ou d’une autre décentralisé et distribué, avec un minimum, voire plus, d’intermédiaires. Ainsi les DAOs, pour Decentralized Autonomous Organizations (Organisations Décentralisées Autonomes) pourraient un jour perturber la manière dont la gouvernance est conçue et appliquée aujourd’hui à tous les niveaux (en général, du haut vers le bas).

La première DAO qui a réussi ? Le Bitcoin bien sûr…

A suivre…

Et n’oubliez pas de commenter, faire toute remarque et critique, ici bien sûr ou via Twitter.