Comprendre la Blockchain 1/3 : les concepts clés

Futurs
Futurs.io
Published in
10 min readOct 30, 2019

--

#BLOCKCHAIN #KEEPITEASY #BITCOIN #ETHEREUM #SMARTCONTRACTS

La technologie de la blockchain est une innovation avec le potentiel de perturber le monde tel que nous le connaissons actuellement. Mais de nombreuses limitations et défis sont encore à surmonter pour que les entreprises exploitent au mieux ces blockchains.

Un des premiers défis pour les organisations qui souhaitent s’aventurer sur le chemin de cette technologie est de choisir la bonne blockchain pour leur cas. Pour éclairer ce choix, cet article revient sur les grandes notions de cette technologie tout en décrivant les use cases déjà éprouvés.

Les smart contracts

Plus encore que le stockage distribué des données, les smart contracts sont le socle fonctionnel de la blockchain et donc la base de son application en entreprise. Ils sont à la fois la force et la faiblesse de la technologie, avec en leader Ethereum.

Il est bon de rappeler que la domination d’une plate-forme de smart contracts dépend de la sécurité de ses contrats intelligents. Des recherches sont en cours dans la communauté Ethereum sur les langages et les outils permettant de construire des contrats intelligents plus sûrs, mais tant que ces technologies ne seront pas déployées à grande échelle, les contrats Ethereum resteront vulnérables aux attaques. De même, l’évolutivité est essentielle au succès d’Ethereum. Des innovations clés, telles que la preuve d’enjeu, le sharding, les chaînes latérales et le calcul hors chaîne sont en cours de recherche et développement, mais avec encore des mois et des années de déploiement.

Parallèlement, des plates-formes concurrentes, également à divers stades de développement, innovent en matière de langages, de mise à l’échelle, de sécurité, de gouvernance et de facilité d’utilisation. Ils testent des protocoles consensuels hautement évolutifs, de nouveaux paradigmes de gouvernance décentralisée et d’autres avancées prometteuses. Ils ont l’avantage de tirer les leçons de l’expérience d’Ethereum tout en commençant proprement sans milliards de dollars en jeu. Dans la plupart des cas, leurs efforts ont été bien financés par les ICO.

Définition

La Blockchain est un cas particulier de Registre distribué (DLT). Elle utilise des blocks comme mécanisme de sécurité pour garantir l’intégrité des données et leurs échanges à travers un protocole peer-to-peer. Pour que les transactions soient validées et disponibles les pairs doivent s’entendre sur l’état de la Blockchain. Les transactions sont dites atomiques et durables dans le sens où la Blockchain a vocation à être ineffaçable.

Chiffrement / Hash

Une Blockchain est constituée de blocs qui se superposent. Le premier bloc est appelé bloc Genesis. Chaque bloc contient les informations suivantes :

  • Index
  • Horodatage
  • Hash (H)
  • Hash précèdent (HP)
  • Donnée
  • Le résultat (un nombre aléatoire)

Une fonction de « hashage » prend des données en entrée et retourne un hash unique.
Le hash n’est donc pas la donnée en tant que telle mais une empreinte de son inscription dans la blockchain.

La fonction prend comme variable les éléments de la sorte que :

Ce hash a une longueur fixe. Les mêmes données donneront toujours le même hash donc des données différentes donneront toujours un hash différent. La fonction de hashage demande peu de ressources et il est impossible sans la clé de retrouver la donnée à partir du hash.

Clé publique / clé privée

Le principe de chiffrement asymétrique de Whitfield Diffie et Martin Hellman (appelé aussi chiffrement à clés publiques) est apparu en 1976.
Dans un cryptosystème asymétrique (ou cryptosystème à clés publiques), les clés existent par paires (le terme de bi-clés est généralement employé);

Une clé publique pour le chiffrement :

0xae0F878960564fF3a83324a8e80BBEB551D4f919

Une clé secrète pour le déchiffrement :

5176B8D99010C0002C08B069DE4E09293D5B308940B43B869F1508961F4CC9B8

La personne A (personne qui est à l’origine du virement) va récupérer l’id de la personne B (personne qui reçoit le virement).

Pour faire le virement, la personne A renseigne sur l’application l’id de la personne B et le montant de la transaction. La personne B doit confirmer la transaction après authentification. Pour la valider elle doit entrer sa clé privée personnelle.

La clé publique est utilisée pour définir l’identité de la personne vers qui l’on souhaite faire un transfert. Avec la clé privée (clé que l’on ne doit fournir dans aucun cas à une autre personne, comme un code PIN dans la carte bleue), on valide la transaction.

La clé publique est donc comme l’ID d’une personne et la clé privée est comme le mot de passe de son compte. Ceci certifie l’anonymat des personnes car elle ne communique que des clés publiques.

Le traitement des transactions

Historiquement (dans le Bitcoin) les mineurs permettent de traiter une transaction, sécuriser le réseau et permettre à tous les utilisateurs du système de rester synchronisés. Les mineurs doivent donc valider les transactions et les rajoutent ensuite dans la Blockchain. Lorsqu’une transaction a lieu, la personne demandeur de la transaction envoie une demande de validation de la transaction au réseau de la prochaine. Les mineurs reçoivent la transaction, la valide si tous les éléments sont corrects (il vérifie l’historique des transactions afin de voir si le demandeur a bien les fonds nécessaires cette transaction). Les informations de la transaction sont stockées dans un bloc, le mineur va rajouter dans le bloc la date et l’heure et cryptent les informations. L’avantage de ce processus est qu’il devient impossible de rajouter une transaction dans le bloc une fois celui-ci est validé. Il existe plusieurs manières de valider transaction les deux méthodes les plus connus sont le proof of work et le proof of stake. Dans ces deux méthodes, un temps imposé et donner aux mineurs pour valider le bloc, afin d’assurer une cadence régulière dans la validation d’un bloc et renforcer ainsi sécurité de la Blockchain. Quand un mineur valide un bloc, il le diffuse sur l’ensemble du réseau. C’est la dernière étape de validation d’une transaction dans une Blockchain. Le receveur de la transaction est donc crédité du montant demandé par l’envoyeur.

Les mineurs ont donc un rôle essentiel dans la validation d’une transaction mais aussi dans la sécurisation de la Blockchain.

À chaque validation de bloc, les mineurs reçoivent une récompense fixée avant la validation du bloc. Il y a donc un intérêt économique à être mineur. Mais on peut se poser la question comment va évoluer la Blockchain quand les mineurs auront récupéré l’ensemble des crypto-monnaies disponibles (exemple : 21 millions de Bitcoin dans la Blockchain Bitcoin) ?

Trajet d’une transaction et blocs

Cycle de vie d’une transaction Blockchain — Crédit Futurs.io

Centralisé vs décentralisé

Les 4Q de la Blockchain — Crédit Futurs.io

Une famille peut décider de n’avoir qu’un seul registre pour consigner ses dépenses, où un membre de la tribu conserverait un compte ou un grand livre de toutes les transactions pour sa famille. Cette personne devrait être digne de confiance car toute la famille devrait lui faire confiance en tant que détenteur des informations.

Dans ce cas on parle de livre ou système centralisé. Si l’unique exemplaire du grand livre était modifié par quelque moyen que ce soit, la richesse serait perdue ou gagnée injustement. Un autre point important avec un système centralisé est que si le responsable des dossiers est malade ou absent, aucune transaction ne peut avoir lieu. Cela crée un point unique d’échec dans le système. Avec un grand livre décentralisé, personne n’a à faire confiance à personne, un environnement sans confiance est supposé depuis le début.

Tous les membres de la famille possèdent une copie du même registre. C’est ce qu’on appelle un système décentralisé. Certains membres peuvent essayer de corrompre le système, tant que la majorité n’acceptera pas une transaction elle ne sera pas consignée. Le système fonctionne même si certaines personnes ne sont pas présentes. L’important c’est que la famille valide globalement une vérité. C’est ce qu’on appelle le consensus de groupe. La vérité est supposée être la version du registre sur laquelle 51% ou plus des membres présents de la famille s’entendent.

Types de Blockchains

Privée ou publique. Cette décision dépend de la validation dont vous avez besoin lorsque vous créez des transactions, des contrats ou des actifs. Si vous traitez des données sensibles par exemple, vous préfèrerez certainement une Blockchain privée où vous ferez confiance à l’ensemble des personnes susceptibles d’écrire dans la Blockchain car la Blockchain certifie une transaction (échange d’informations) mais ne garantit pas la pertinence de l’information

Blockchain Publique

Les Blockchains publiques sont résistantes à la censure et permettent à n’importe qui de s’inscrire en tant que participant sans tiers de confiance. (Transactions pseudonymes)
Tout le monde peut lire et écrire des données sur ce type de Blockchain.
Les processeurs de transaction ou mineurs doivent investir financièrement pour prévenir la fraude.
Les mineurs recoivent une incitation économique directe (cryptomonnaie) pour produire une preuve de travail (Proof of Work).
Le traitement des transactions (par exemple Ether, Bitcoin) est soumis à des coûts de transaction en monnaie numérique ou « fees » .
Les exemples incluent les réseaux publics Ethereum et Bitcoin.

Blockchain Hybride

Seuls les participants vérifiés sont autorisés à participer. Les blockains hybrides permettent différents mécanismes de consensus et généralement des débits de transactions plus élevées en comparaison avec les Blockchains publiques.

Blockchain Privée

Conçue pour le développement rapide d’applications, le déploiement instantané et les solutions de déploiement mono-entreprise.
Les Blockchains privées répondent aux besoins de prototypage et de développement pour l’apprentissage.
Les participants sont connus et de confiance.
Des validateurs légalement responsables, motivés par le risque de réputation
Possibilité pour un petit nombre de nœuds de pouvoir modifier les données.

Principaux Consensus

Il y a plusieurs façons dans une Blockchain de valider de nouveaux blocs, on appelle ces façons des consensus. Plus le consensus est réputé complexe plus il va nécessiter de la puissance de calcul et donc des dépenses énergétiques.

“Le but d’un algorithme de consensus, en général, est de permettre la sécurité mise à jour d’un état selon certaines règles de transition d’état spécifiques, où le droit d’effectuer les transitions d’état est répartis sur un ensemble économique.”

Vitalik Buterin, co-fondateur d’Ethereum(traduction)

Voici une liste non exhaustive des consensus produits à ce jour :

Les principaux consensus Blockchain — Crédit Futurs.io

Proof of Work (Preuve de travail)

Une personne propose une transaction à la Blockchain. L’ensemble des nœuds participe à un « guessing game ». Le premier nœud qui trouve la solution gagne et diffuse la réponse, dès que les autres nœuds reçoivent la réponse ils arrêtent les calculs. Pour gagner la compétition les nœuds doivent avoir la puissance de calcul la plus élevée possible. Cela a pour effet de sécuriser le réseau en rendant son hack difficile.

Proof of Stake (preuve de participation)

Un grand détenteur de monnaie n’a pas d’intérêt à ce que la Blockchain soit hackée. Plus un nœud a de cryptocurrencies, plus ses chances de valider des blocs seront grandes. Ces noeuds sont rémunérés lorsqu’ils valident des transactions. Donc plus le portefeuille est gros, plus les récompenses sont importantes. Cette solution est moins énergivore que le proof of work.

Le consensus utilisé dans une Blockchain n’est pas gravé dans le marbre.

Face à l’augmentation du nombre de transactions des blockchains comme Ethereum sont tentées par un changement de consensus.
En effet certains algorithmes sont meilleurs que d’autres. Par exemple le temps de validation d’un bloc peut aller d’une seconde pour le Verge à près de 2 heures pour le Bitcoin.
Les blockchains sont valorisées à travers les algorithmes qu’elles utilisent. Chaque algorithme a ses avantages et inconvénients sur des critères de sécurité, rapidité de validation et valorisation des mineurs.

Toutefois étant donné la forte consommation des consensus POW, si vous faites ce choix vous participerez sans conteste au réchauffement planétaire.
The Digiconomist Bitcoin Energy Consumption Index estime actuellement que le minage de Bitcoin consomme entre 55.63 and 73.12 TWh d’electricité par an. Ce qui signifie que le minage de Bitcoin consomme en 2018 plus d’électricité que 175 pays du monde. (159 pays en 2017).

EOA et Smart Contracts

Un EOA peut appartenir à une personne ou à un serveur externe. Les comptes détenus en externe contiennent un solde et peuvent envoyer des transactions.
En ce sens, un IOT peut être un nœud qui pourra faire des transactions sans intervention humaine.

Depuis la Blockchain 2.0 les transactions peuvent être sujettes à un niveau de programmation plus important. Les règles sont inscrites dans des smart contracts.

Les smart contracts vous aident à échanger de l’argent, des biens, des actions ou tout objet de valeur de manière transparente et sans conflit, tout en évitant les services d’un intermédiaire.
La meilleure façon de décrire les contrats intelligents est de comparer la technologie à un distributeur automatique.

Lorsque vous allez chez un commerçant ou un professionnel vous payez puis patientez. Au bout d’un certain temps vous obtenez une contrepartie.
Dans le cas d’une transaction régie par smart contract le cahier des charges et les sanctions en cas d’insatisfaction peuvent être inscrits et distribué automatiquement.
En effet, les smart contracts génèrent une confiance absolue dans leur exécution. La nature transparente, autonome et sécurisée de l’accord élimine toute possibilité de manipulation, de partialité ou d’erreur.

On peut également imaginer des smart contracts qui périmeraient de manière automatique, et la gestion de données sur des bases temporelles peut donc se faire à l’aide de smart contracts.
Enfin, un des avantages du smart contract est que les règles qui y sont inscrites doivent être simples et intelligibles.
Plus les règles obéiront à une logique difficile plus les coûts de transactions seront élevés.

By Mathieu Weill

--

--

Futurs
Futurs.io

Futurs est l’entité du groupe MALTEM dédiée à l’innovation, à la stratégie numérique et à l’incubation.