Catégorie : Tech

Bitcoin-blog-cofcap-digital-consult

Mieux comprendre le Bitcoin

Cet article a pour but d’expliquer la crypto-monnaie Bitcoin en termes simples. Nous recommandons aux lecteurs de se familiariser d’abord avec la technologie de la Blockchain en lisant l’article suivant: « Mieux comprendre la Blockchain« .

Qu’est-ce qu’un bitcoin?

Le bitcoin est une monnaie digitale qui est sécurisée par un système de base de données décentralisé qui repose sur la technologie de blockchain.

Comme toute crypto-monnaie, le Bitcoin est une monnaie digitale et virtuelle qui peut être échangé en toute sécurité grâce à la cryptographie (cryptage et décryptage). Loin d’être la première monnaie digitale, son énorme succès provient de sa décentralisation qui permet d’éviter l’intervention d’un intermédiaire financier ou gouvernemental.

Fonctionnement

Le bitcoin repose sur la blockchain pour enregistrer chaque transaction effectuée. Il s’agit d’un réseau décentralisé qui repose sur des milliers d’ordinateurs indépendants répartis dans le monde.

Ces ordinateurs sont détenus par des « mineurs » qui vérifient chaque transaction en résolvant des algorithmes complexes en échange de nouveaux bitcoins émis periodiquement et répartis entre les mineurs en fonction de leurs contributions.

Chaque « noeud » (ordinateur connecté au réseau bitcoin) contient l’historique de toutes les transactions effectuées depuis la création de la base de données. Lorsqu’une nouvelle transaction est effectuée dans un noeud, tous les autres noeuds du réseau sont utilisés afin de vérifier que la séquence des transactions précédentes est identique afin de valider la nouvelle transaction.

Les avantages et opportunités

Transparence et sécurité

La Blockchain utilisée pour stocker les transactions en Bitcoin est décentralisée auprès de milliers d’utilisateurs répartis dans le monde. Chaque transaction peut être consultée à tout moment et en toute transparence.

Afin de modifier la blockchain à des fins malicieuses, un fraudeur devrait contrôler au moins 51% des noeuds de la chaîne. Vu la taille déjà atteinte par le réseau, ce serait tout simplement impossible!

Les limitations et obstacles

Pollution

Le système de « preuve de travail » sur lequel repose la validation des transactions par le réseau nécessite une force de calcul et de traitement par ordinateur considérable. Au fur et à mesure que le nombre de transactions augmente, les algorithmes demandent de la puissance de calcul supplémentaire. La consommation d’électricité est donc très élevée.

Anonymat

Xxxxx

Regulation, acceptation

Le bitcoin n’est pas (encore?) officiellement reconnu par les gouvernements et les banques centrales et le cadre réglementaire est quasi inexistant .

Mieux comprendre le Bitcoin – Ressources et lectures

Si vous souhaitez approfondir votre connaissance d’autres applications de la Blockchain, nous vous recommandons vivement la lecture de notre article: « Mieux comprendre l’Ethereum« .

Mieux-comprendre-Ethereum-Cofcap-Blog-Consulting

Mieux comprendre l’Ethereum

Cet article « mieux comprendre l’Ethereum » s’adresse à ceux qui sont déjà familiers avec les notions de base de la Blockchain et du Bitcoin mais qui ne connaissent pas encore les particularités de l’Ethereum. Nous invitons les autres lecteurs à consulter notre article: « Mieux comprendre la Blockchain« .

Un outil de promotion pour services décentralisés

L’Ethereum est une plateforme électronique de calcul publique et décentralisée qui s’appuie sur la technologie de la Blockchain. Cette plateforme permet d’exécuter des programmes de manière automatique et décentralisée sans l’intervention d’un intermédiaire hiérarchique. Ces codes de programmation comprennent des contrats intelligents (« smarts contracts ») et des applications décentralisées (« dapps »).

Smart contracts ou contrats intelligents

Un contrat intelligent est un programme informatique utilisé afin de faciliter, vérifier et exécuter la mise en oeuvre ou la négociation d’un contrat en utilisant un code cryptographique. Ce contrat s’exécute de manière automatique sans intervention extérieure et uniquement lorsque les conditions déterminées dans le code de ce contrat sont remplies.

Les conditions nécessaires à l’exécution de la transaction et les actions qui en résultent sont retranscrites en code. Ce programme est transmis au réseau décentralisé de la Blockchain. Le réseau exécute la transaction une fois que les conditions sont remplies et vérifiées. La Blockchain est alors mise à jour et la transaction devient immuable.

Les avantages principaux de ces contrats sont la transparence (accessibles à tout moment avec une clé cryptographique), la décentralisation (pas besoin d’un tiers de confiance), l’automatisation, la traçabilité, le coût réduit et la rapidité d’exécution.

Les applications possibles des smart contrats comprennent:

  • L’organisation d’un système de vote reposant sur une application et permettant une organisation plus efficace et transparente.
  • L’organisation des transactions entre différentes parties tels que l’achat d’une voiture, la souscription à un contrat d’assurance (ex: Fizzy, produit d’assurance aérien lancé par Axa), l’octroi d’un crédit bancaire, l’échange d’actions, obligations ou dérivés (ex: JP Morgan) ou les transactions immobilières (ex: Propy ).
  • Le partage des données médicales entre médecins en toute sécurité et confidentialité (ex: EncryGen qui transfère les données ADN des clients pour des essais cliniques).
  • L’optimisation des réseaux de distribution (ex: De Beers Diamonds qui utilise la Blockchain).

Les sociétés qui ont déjà adopté cette technologie d’une manière ou d’une autre comprennent Microsoft, Intel, Amazon et JP Morgan.

Il faut noter que ces contrats ne sont pas (encore?) reconnus universellement comme des accords légaux contractuels. Aux Etats-Unis, de nombreux Etats ont déjà passé des lois pour encadrer les Smart Contracts. En Angleterre, une commission a récemment été constituée afin de trancher en cas de conflits lé liés à l’implémentation des contrats intelligents.

Ethereum Virtual Machine – Des applications faciles

L’Ethereum Virtual Machine (EVM) est une sorte d’ordinateur global dont la puissance est repartie sur un réseau pair-à-pair (ensemble d’ordinateurs interconnectés et possédant les mêmes privilèges) et qui permet d’exécuter des codes de programmation.

Les programmes peuvent être soumis à l’EVM sous forme de nombreux languages de codage dont Solidity, JavaScript, C++, Python, Java et Rubby.

L’Ether – Le fuel du réseau Ethereum

L’Ethereum n’est pas une crypto-monnaie mais bien une plateforme électronique qui fonctionne grace à l’utilisation de tokens ou crypto-fuel appelés Ether.

Comme pour le Bitcoin, L’Ether est utilisé pour rémunérer les mineurs mais il est également utilisé par les développeurs d’applications afin de payer pour les frais de transactions et d’utilisation du réseau Ethereum. L’Ether est également utilisé afin de déclencher des contrats informatiques automatisés.

Contrairement aux Bitcoins dont le nombre est fixe, l’émission d’Ether est limitée à 18 millions par an.

Dapps ou applications décentralisées

Après les « Apps », faisons place aux « Dapps ». Grâce à la technologie de la Blockchain et particulièrement du réseau Ethereum, les applications peuvent désormais être décentralisées et ne dépendent donc plus d’un intermédiaire et d’un réseau central pour fonctionner.

Les Dapps sont des logiciels « open-source » càd que le code est accessible à tous.

Ces applications regroupent principalement des programmes de sécurité, des systèmes de vote, des jeux, des plateformes d’achats, des réseaux sociaux et des méthodes de paiement. Vous pourrez retrouver le classement des applications les plus populaires sur le site suivant. A ce jour, certaines applications comptent déjà plus de 50k utilisateurs mensuels…

Les Dapps les plus connues sont:

  • Uniswap: une plateforme d’échange de monnaies digitales aux frais réduits et permettant aux utilisateurs de garder la propriété de leurs fonds.
  • DuckDuckGo: une application qui permet de bloquer les trackers Google lorsque vous visitez des sites internet et un moteur de recherche qui ne conserve pas vos données.
  • CryptoPunks: une plateforme qui permet d’acheter et d’échanger des images digitales représentant des punks et représentés par des NFTs. En 2021, certains CryptoPunks se sont vendus pour plusieurs millions de dollars!

Cerise sur le gâteau, le réseau Ethereum permet également aux développeurs de Dapps de lever des fonds pour financer leurs applications grâce à la mise en place de contrats.

Ethereum 2.0 et développements récents

La congestion et les frais relativement élevés du réseau Ethereum ont été fortement critiqués. D’autres réseaux alternatifs tels que Cardano, Wax, Polygon et Solana ont été développés pour tenter de pallier à ces défauts.

En réponse à ces critiques, Ethereum progresse continuellement. Le 5 aout 2021, des mises à jour importantes de la technologie ont été implémentées:

  • Régulation des commissions: les commissions payées par les utilisateurs ont été uniformisées an fonction de la charge du réseau, permettant de lisser les frais des transactions.
  • Réduction de la quantité émise d’Ether: les commissions étaient jusque là rémunérées via la création de nouvel Ether mais ce n’est plus le cas.

Ethereum 2.0, une mise à jour majeure attendue pour début 2022 apportera encore de nombreuses améliorations dont voici les principales:

  • Proof-of-stake: La méthode de « proof of work » (voir notre article sur la Blockchain) sera remplacée par une méthode de « proof of stake », diminuant considérablement l’empreinte écologique. Ce nouveau système de consensus utilisé pour assurer la fiabilité des données du réseau sélectionnera un seul mineur de manière aléatoire ne mettant plus en concurrence tous les mineurs du réseau. Cet utilisateur devra mettre en gage (« at stake ») un nombre suffisant d’Ether afin d’éviter toute tentative malveillante.
  • Sharding: Les transactions seront divisées en plusieurs morceaux et chaque morceau pourra être vérifié simultanément, augmentant considérablement la vitesse de traitement des transactions.

Ressources et lectures

Lectures:

Vidéos:

Mieux comprendre la Blockchain

Cet article permet de mieux comprendre la Blockchain et est destiné à des lecteurs qui souhaitent développer une connaissance générale de son fonctionnement sans se perdre dans la complexité des spécificités. Que l’on adhère ou pas à l’engouement et aux valorisations des crypto-monnaies, il est indéniable que la technologie de la Blockchain offre de nombreuses autres applications qui ont le potentiel de bouleverser la gestion des chaines logistiques et des transactions de notre vie quotidienne.

Qu’est-ce qu’une Blockchain?

Une Blockchain est une base de données structurée sous forme d’un assemblage de blocs. Chaque bloc contient un nombre limité d’informations et lorsqu’il est saturé, un nouveau bloc est créé et attaché à ce bloc formant une chaine. Lorsqu’un bloc est ajouté, une empreinte de temps spécifique est allouée à ce bloc. Les nouveaux blocs sont enregistrés de manière linéaire et chronologique.

Structure-Blockchain-Cofcap-Consulting
Chaque bloc dans la chaîne est lié au précédent et contient les données du bloc précédent ainsi que les données propre au bloc.

Pour mieux comprendre le concept de Blockchain, il faut d’abord assimiler la notion de réseau pair-à-pair. Le principe de base de la blockchain est de distribuer et dupliquer un registre de données entre plusieurs acteurs faisant partie d’un réseau P2P.

Reseau-P2P-Cofcap-Consulting
Dans une architecture P2P, les échanges s’effectuent sans serveur dédié, chaque entité tient le rôle de serveur et de client.

Le fait d’avoir plusieurs exemplaires identiques du registre sur le réseau permet de ne pas devoir faire appel à un organisme central de contrôle mais de se reposer sur la validation des transactions par la communauté.

Lorsqu’il y a de nouvelles transactions, le réseau fait appel aux membres de la communauté en utilisant un système de validation spécifique (voir système de validation par preuve de travail ci-dessous) afin de vérifier et ajouter les transactions dans la base de données.

Le fonctionnement d’une Blockchain

-1- Deux utilisateurs initient une transaction en signant avec leurs clés privées (signature crypto). Cette signature digitale est utilisée pour prouver l’authenticité de la transaction au réseau.

-2- La transaction est transmise au réseau pair à pair constitué d’un grand nombre d’ordinateurs interconnectés qui vérifient son authenticité.

-3- La transaction est ajoutée à un bloc. Pour former et ajouter le bloc, plusieurs groupes de mineurs sont mis en concurrence pour résoudre un problème mathématique aléatoire qui nécessite une importante puissance de calcul (proof of work).

-4- Le pool de mineurs qui parvient à résoudre le problème en premier peut alors ajouter le bloc miné à la chaîne.

-5- La transaction est exécutée/confirmée.

Le hachage et la validation par preuve de travail

Le système de « hachage cryptographique » au coeur du système de preuve de travail consiste à transformer des données transmises de n’importe quelle longueur (input/clés) en une sortie de longueur fixe (output/valeur de contrôle/hash) en utilisant un algorithme/ une formule mathématique déterminée par un protocole. Cette fonction de hachage est à sens unique ne peut pas facilement être inversée et il est donc quasi impossible d’obtenir l’input sur base de l’output. Dans la Blockchain, l’input représente l’état de la chaîne, càd l’ensemble des transactions antérieures et les nouvelles transactions à ajouter. Dans le graphique illustrant la structure des Blockchain (voir ci-dessus), ce sont en fait les hash des transactions qui sont contenues dans les blocs.

Hachage-cryptographique-comprendre-Blockchain-Cofcap

Le hachage des données facilite l’identification de la transaction sur la Blockchain et augmente considérablement la sécurité des données en s’assurant que les données n’ont pas été modifiées.

Les Blockchain utilisent principalement le système de validation par preuve de travail (« Proof of Work »). Ce système permet de dissuader les fraudes en se basant sur une forte puissance de calcul nécessaire afin de résoudre un casse-tête mathématique. Pour créer un nouveau bloc valide, des groupements de mineurs reçoivent le hash du bloc précédent et les transactions à ajouter dans le nouveau bloc. L’objectif est de trouver une valeur inconnue qui sera ajoutée au inputs et permettra de constituer le hash valide.

comprendre-Blockchain-minage-bloc-cofcap

Pour ce faire, les mineurs utilisent une méthode « essai erreur » et exécutent une multitude de hachage en utilisant un « nonce » aléatoire (« Number only used ONCE » : une valeur aléatoire qui peut être utilisée une seule fois).

Le premier groupe de mineurs qui trouve le nonce valide, càd qui respecte les règles fixées par le protocole, a le droit de créer le bloc et est récompensé selon les règles du protocole (pour les Bitcoins cela correspond actuellement à 6.25 BTC par bloc).

Les avantages et opportunités

Confiance et fiabilité

Contrairement aux autres bases de données, la Blockchain est généralement décentralisée et entièrement gérée par ses utilisateurs. La blockchain repose également sur des outils de cryptographie pour protéger l’identité de ses utilisateurs.

Accessibilité

Tout le monde peut utiliser le réseau blockchain, il suffit d’avoir un ordinateur et une connection internet (et télécharger le software utilisé par la blockchain).

Frais de transaction limités

Une des raisons principales pour le succès des crypto-monnaies est qu’elles ont des frais de transferts extrêmement limités.

Les limitations et obstacles

Attaques et fraudes

Pour les blockchain basées sur le protocole de consensus « Proof of Work », un groupe de mineurs contrôlant plus de 50% du computing power pourrait tromper le système à des fins malicieuses. En pratique, pour les blockchains de grandes tailles, ce serait physiquement impossible.

Pollution

Le système de preuve de travail tel que décrit ci-dessus requiert une puissance de calcul et de traitement par ordinateur considérable. Au fur et à mesure que le réseau de la Blockchain se développe, les algorithmes demandent de la puissance de calcul supplémentaire. La consommation d’électricité est donc importante.

Risque de perte d’accès definitive

La vaste majorité des blockchain repose sur des outils de cryptographie. En cas de perte de la clé, l’utilisateur perd donc définitivement l’accès aux données.

Quelques applications

Bitcoin

Le bitcoin, probablement l’application la plus connue, utilise la blockchain pour enregistrer chaque transaction effectuée. Il s’agit d’un réseau décentralisé qui repose sur des milliers d’ordinateurs indépendants répartis dans le monde. Chaque « noeud » contient l’historique de toutes les transactions effectuées depuis la création de la base de données. Lorsqu’une nouvelle transaction est effectuée dans un noeud, tous les autres noeuds du réseau sont utilisés afin de vérifier que la séquence des transactions précédentes est identique afin de valider la nouvelle transaction.

THETA

Cette société utilise la blockchain pour décentraliser la diffusion de vidéos en peer-to-peer. Les utilisateurs peuvent mettre à disposition une partie de leur bande passante à d’autres utilisateurs pour améliorer la qualité de visionnage des contenus disponibles en streaming. En échange, ils reçoivent des Theta Fuel (TFUEL), la crypto-monnaie échangée par les utilisateurs qui ont la possibilité de visionner et de diffuser du contenu sur les réseaux décentralisés.

SMART CONTRACTS OU CONTRATS INTELLIGENTS

Les « contrats intelligents » sont des programmes informatiques utilisés pour simplifier, automatiser et sécuriser l’implémentations de contrats en utilisant un code cryptographique. Ces contrats s’exécutent sans intervention extérieures et seulement si les conditions déterminées dans le code sont remplies. Cette technologie est principalement utilisée sur la plateforme Ethereum qui s’appuie sur la Blockchain et offre de multiples applications telles que l’organisation de votes pour des élections, la gestion des propriétés intellectuelles et les paiements des sinistres par les compagnies d’assurances.

Ressources pour mieux comprendre la Blockchain