Hello à tous !
Nous espérons que vous allez bien et que vous vous faites de bonnes raclettes à la maison car c'est à ça qu'on tourne chez Tech It Easy ! 🧀
Aujourd'hui, nous allons voir quels sont les problèmes et enjeux des blockchains et cryptomonnaies. Cet article se base sur un article de Vitalik Buterin, l'un des fondateurs d'Ethereum (et un petit génie au passage), datant du 22 Novembre 2019. Même si ce papier date d'il y a un an, il reste en en grande majorité d'actualité. Nous l'avons simplifié et adapté pour vous !
C'est parti ! 🤙
Problèmes cryptographiques 🔐
Le problème de scalabilité : un des problèmes majeurs actuels est de pouvoir gérer un nombre important de transactions par seconde sur une blockchain tout en assurant un bon niveau de sécurité. En effet, plus il existe de participants, plus le risque de collusion entre ces participants pour détourner le système augmentent.
Statut d'avancement : bon 😊
Horodatage : tous les participants du réseau doivent avoir approximativement la même heure que celle du réseau pour pouvoir se synchroniser entre eux et permettre au réseau de bien fonctionner. Cela peut paraître anodin mais peut devenir une réelle menace pour un réseau avec des milliers de nœuds présents aussi bien en Chine qu'en Alaska !
Statut d'avancement : quelques progrès 😐
Preuve de calcul arbitraire : il faut être en mesure de prouver de façon algorithmique qu'un noeud a fourni assez de puissance de calcul au réseau ou a bien fait tourner un programme entièrement (de façon à éviter que de petits malins mentent mais soient tout de même récompensés).
Statut d'avancement : grandes avancées théoriques et pratiques 🤩
Obfuscation du code : Dans les blockchains, il est possible que la clé privée ou bien des données sensibles d'un utilisateur soient utilisées dans un smart contract (vous savez ces contracts intelligents). Vous pourriez aussi vouloir cacher le fonctionnement d'un algorithme pour des raisons de propriété intellectuelle. Il faudrait donc pouvoir crypter cet algorithme de façon à protéger toutes ces informations. Le programme ainsi crypté, doit donner exactement le même résultat que le programme non crypté.
Statut d'avancement : progrès lents ☹️
Cryptographie à base de hachage : Une clé publique (votre adresse) est déduite d'une clé privée (la clé qui permet d'accéder à vos cryptomonnaies) en utilisant ce qu'on appelle des fonctions de hachage. Une clé publique à cette tête un peu moche :
0xe92401A4d3af5E446d93D11EEc806b1462b39D15
C'est une grande suite de caractères alpha-numériques commençant toujours par
0x
. Une fonction de hachage prend donc en entrée une suite de caractère et renvoie une nouvelle suite unique de caractères. Une simple variation d'un seul caractère donne un résultat complètement différent ! Il est impossible, en pratique, de remonter de la clé publique à la clé privée (sinon tous les systèmes de cryptographie d'aujourd'hui feraient face à de grands soucis...)Il existe de nombreuses fonctions de hachage, toutes avec des noms supers mélodieux comme md5, SHA-1, SHA-2, SHA-3 ou keccak256. Voici un exemple avec keccak256 :
// On passe une suite de caractères en entrée (ici une clé privée). // Il en sort une nouvelle suite unique de caractères. keccak256('0xc678ef1aa456da65c6fc5861d44892cdfac0c6c8c2560bf0c9fbcdae2f4735a9') = '0xa8a80309f7e2824b9a8f4fa56c6c971c5867ed3d5a62267e1423cbf8e88bbd02' // On remplace le dernier caractère de la clé privée précédente par 8 keccak256('0xc678ef1aa456da65c6fc5861d44892cdfac0c6c8c2560bf0c9fbcdae2f4735a8') = '0xb8cc325c65e1a78b618e2a19b700b99a112e27456feba091cdf409a245ddb07e' // Vous voyez que le résultat est totalement différent !
Avec les ordinateurs actuels, il est impossible de déduire une clé privée à partir de la clé publique pour les fonctions de hachage les plus sophistiquées. Toutefois, cela semble hautement possible si les ordinateurs quantiques s'améliorent. De nombreuses entreprises travaillent sur le sujet).
Statut d'avancement : quelques progrès 😐
Problèmes de consensus 🤝
Preuve de travail résistante à tous types de processeurs : La preuve de travail peut demander beaucoup de puissance de calcul sur un processeur classique et en demander très peu sur d'autres circuits intégrés. Des preuves de travail difficiles à résoudre quelques soient le circuit ont été découvertes.
Statut d'avancement : résolu ✅
Avoir une preuve de travail utile : à l'heure actuelle, la preuve de travail est du simple gaspillage d'énergie (faire tourner des ordinateurs sur des problèmes mathématiques qui n'ont pas de buts réels). Il serait plus judicieux de faire tourner un algorithme qui résoudrait de réels problèmes. Cependant, peu de problèmes mathématiques répondent aux besoins que sont :
Difficile à calculer.
Facile à vérifier.
Ne dépendant pas d'une grande quantité de données externe.
Statut d'avancement : peut-être infaisable à l'exception d'une seule méthode (le zero-knowledge-proof que l'on pourra voir dans une prochaine édition !). ☹️
Preuve d'enjeu : une nouvelle approche pour remédier au problème de centralisation du minage (la puissance de calcul requise devient telle, que seuls de grands acteurs économiques peuvent s'offrir des ordinateurs assez performants pour réaliser une preuve de travail).
Statut d'avancement : de grandes avancées théoriques à valider en pratique (en cours de validation). 😊
Preuve de stockage : encore une autre approche. C'est une approche résistance à la montée en puissance de calculs.
Statut d'avancement : De grands progrès théoriques mais il reste encore du chemin à parcourir (problème de centralisation de la capacité de stockage : par exemple Google aurait un "petit" peu plus de capacité de stockage que Bob votre voisin). 😐
Problèmes économiques et sociaux 🙌
Crypto-actif stable : un des grands problèmes majeurs des crypto-actifs est leur grande volatilité. MakerDAO a créé le DAI une crypto-monnaie stable collatéralisée par d'autres crypto-monnaies comme l'ether. Mais il y a encore des risques. Le DAI a survécu à une chute de la valeur de l'ether de 93% mais cela pourrait être bien pire dans le futur (on ne peut pas le prédire) et le DAI pourrait s'effondrer.
Statut d'avancement : quelques progrès 😐
Incitation décentralisée à participer au financement de biens publics : il existe 2 problèmes — comment financer un projet de bien public ? Comment savoir si un projet public en vaut la peine ou non ? En effet, tout le monde souhaite pouvoir utiliser les services et biens publics mais très peu sont prêts à payer le prix réel pour y accéder ou sont prêts à y contribuer. Il s'offre plusieurs solutions comme donner des récompenses sociales à ceux qui contribuent au projet ou alors on peut collecter des fonds auprès d’applications possédant un grand nombre d'utilisateurs.
Statut d'avancement : quelques progrès 😐
Système de réputation : l'enjeu est élevé. Par exemple, cela permettrait à une personne ayant très peu d'argent d'emprunter une somme assez conséquente (pour se payer une formation, un logement, etc.) car le système de réputation nous dirait que cette personne est de confiance.
Statut d'avancement : peu d'avancées dans ce domaine ☹️
Preuve d'excellence : l'idée est de créer une preuve qui utilise un travail humain qui ne peut pas être reproduit par une machine comme des tâches faisant intervenir du talent et de l'effort. La résolution de certains théorèmes mathématiques est une idée. Cette preuve est peu viable de manière général.
Statut d'avancement : pas de progrès, problème enterré 😵
Mesure décentralisée des contributions : dans le cas de la réalisation de projets publics, comment mesurer l'impact d'un tel projet ? le retour sur investissement ? Comment choisir le bon projet, etc. Ces questions font intervenir de nombreuses problématiques de récupération des données, de votes entre les participants, etc.
Statut d'avancement : quelques progrès, quelques changements de focalisation sur les problématiques à aborder 😐
Prévenir les attaques Sybil : une attaque Sybil est le fait de créer de fausses identités dans un réseau pair à pair pour les utiliser à mauvais escients. Il faut donc pouvoir contrôler que telle identité est bien unique et est détenue par une seule et unique personne.
Statut d'avancement : quelques progrès 😐
Accéder à des données du monde réel : le but est de trouver un moyen d'estimer ou de récupérer la valeur d'une grandeur dans le monde réel telle que la température, les rejets en CO2, etc et de pouvoir l'envoyer dans une blockchain. Ce problème est connu comme le problème d'oracle : comment faire passer une donnée approximative dans un système où la sécurité et la confiance sont les maîtres-mots ? On pourrait très bien imaginer une plateforme de pari comme Polymarket se basant sur des faits réels (par exemple : Donald Trump concédera-t-il officiellement les élections américaines de 2020 avant le 1er décembre 2020 ?). Imaginons que les informations du résultat sont erronés ; tous les gagnants seront alors perdants et inversement !
Statut d'avancement : quelques progrès 😐
Voilà tout pour aujourd’hui ! Nous espérons que ça vous a plus et que cela a piqué votre curiosité sur certains sujets. A la prochaine !
Sources 📜
Voilà pour cette édition. Vous pouvez envoyer vos retours (positifs ou non) sur à Merlin (LinkedIn, Twitter ou Facebook) ou Yann (LinkedIn ou Facebook).
Si ça vous a plus, n’hésitez pas à partager la newsletter ! 🤗
Et si on vous a transféré ce mail et que vous souhaitez vous abonner, le lien est ici 👇