En retraçant brièvement l’histoire de la blockchain à travers celle de la cryptographie et de la cryptomonnaie, nous en redécouvrons les grandes étapes, les difficultés ainsi que les mutations qui ont mené, progressivement, à la blockchain telle que nous la connaissons aujourd’hui.
De la cryptographie…
Qu’est-ce que la cryptographie ?
Les opérations d’une blockchain sont cryptographiées.
La cryptographie consiste à chiffrer un texte pour s’assurer de son inviolabilité. Il s’agit de l’un des pans de la cryptologie, la science du secret ; cette science étant composée de la cryptographie, qui s’attache à l’écriture secrète, et de la cryptanalyse, « étude des attaques contre les mécanismes de cryptographie » (CNIL, 2016).
Ainsi, à l’origine, la cryptographie est une discipline qui permet la protection de messages afin d’assurer la confidentialité, l’authenticité et l’intégrité des informations via des clés.
La cryptographie fait appel à deux types de clef :
-
la cryptographie à clef privée − ou clef secrète −, appelée aussi symétrique, utilise un unique mot clef qui permet à la fois de crypter et de décrypter un message entre les différents interlocuteurs ;
-
la cryptographie à clef publique, dite aussi asymétrique, fait la distinction entre les données publiques et les données privées. Deux clefs sont alors nécessaires, l’une pour le chiffrement et l’autre pour le déchiffrement.
L’utilisation de ces clefs donne lieu à deux types d’algorithmes1.
La cryptographie au service de la blockchain
L’architecture utilisée par la technologie blockchain est décrite pour la première fois au début des années 1990 par les chercheurs Stuart Haber et W. Scott Stornetta, qui conceptualisent une solution informatique autorisant l’horodatage de documents numériques, les rendant dès lors impossibles à antidater ou à altérer. Ce système sécurisé cryptographique permet de stocker des documents horodatés.
En 1979 (Faure-Muntian, de Ganay & Le Gleut, 2018), le cryptographe Ralph C. Merkle (né en 1952) crée un arbre de hachage, qui porte son nom.
« Un arbre de Merkle est le nom donné à une suite de blocs de données qui comportent chacun le hash du bloc précédent », le hash étant un « identifiant... permettant de relier les blocs les uns aux autres » (Faure-Muntian, de Ganay & Le Gleut, 2018, p. 123 et p. 27).
Cet arbre de Merkle est ensuite incorporé par Stuart Haber et W. Scott Stornetta dans leur technologie dans le but de pouvoir rassembler plusieurs documents à horodater en un seul bloc.
Cette technologie a servi de base au développement de la blockchain telle que nous la connaissons actuellement.
… à la cryptomonnaie
Les prémices des monnaies numériques
Si les premiers bitcoins ne circulent qu’en 2009, certains acteurs avaient déjà songé, bien avant, à la création d’une monnaie numérique. En 1982, David Chaum évoque, dans le Blind signatures for untraceable payments (« Signatures aveugles pour des paiements intraçables » ; Chaum, 2012), qu’une monnaie peut être basée sur le fait qu’une banque aurait la possibilité de créer et de diffuser une « pièce de monnaie signée en blanc », selon Daniel Augot, chercheur à l’Institut national de recherche en sciences et technologies du numérique (Inria). Pour aider à le comprendre, il invite ainsi à se représenter l’utilisateur d’une unité monétaire, qui lui attache un numéro de série unique apposé sur un papier glissé dans une « enveloppe de papier carbone ». La banque, de son tampon, la signe à l’aveugle et « débite une unité de compte de l’utilisateur ». Ce dernier peut ensuite le dépenser, le cachet de la banque faisant foi. Le commerçant transmet ainsi le document tamponné à sa banque, qui le crédite. La transaction s’est faite donc de manière anonyme (Faure-Muntian, de Ganay & Le Gleut, 2018, p. 17).
Cette invention technologique permettrait également, potentiellement, d’éviter que cette pièce soit extraite du système et manipulée sans posséder l’exemplaire en question. Tout ceci empêcherait de créer de la monnaie supplémentaire comme la « planche à billets » qu’utilisent certaines banques d’État.
Les cryptomonnaies les plus populaires créées avant le bitcoin sont le e-cash (1983) et le digicash (1990), inventées par David Chaum. Leurs objectifs étaient de lutter contre la falsification, contre le vol, mais avant tout de posséder une monnaie différente de celles proposées par les États. En 1996, Douglas Jackson fonde le e-gold, une devise numérique indexée sur l’or, échangeable à l’international, circulant sans contrôle gouvernemental et sans influence des fluctuations du marché boursier.
D’autres acteurs ont travaillé sur la création de monnaies numériques, en visant la protection de la vie privée. Citons Wei Dai qui, en 1998, pense la b-money, qu’il ne développera pas car trop complexe à mettre en place, ou encore Nick Szabo, à l’origine du bitgold, jamais implémenté par manque de soutien.
Les initiateurs : Timothy C. May et les cypherpunks
Timothy C. May (1951-2018) est un ingénieur, scientifique et expert en cryptographie, ayant travaillé au sein de la société Intel. Il écrit en 1988 The Crypto Anarchist Manifesto, « Le manifeste cryptoanarchiste » (Lakomski-Laguerre, 2020), texte qui pose les bases de la cryptoanarchie et dans lequel il prône une communication sécurisée permettant d’échanger en toute liberté, tout en restant anonyme. May est un des membres fondateurs, avec les programmeurs Eric Hughes et John Gilmore, du groupe d’anarchistes cypherpunks. Ce sont des cyberpunks pour qui la cryptographie constitue une opportunité pour changer l’ordre établi, en redéfinissant notamment les notions de confiance et d’identité, en dehors de l’intervention d’un organe central et du gouvernement. Du fait de l’anonymat, cette société cryptoanarchiste serait non violente (Rolland & Slim, 2017).
La création d’une monnaie électronique permettrait ainsi de s’émanciper des autorités publiques.
Les cypherpunks communiquent via des listes de diffusion actives jusqu’en 1993, année où Eric Hughes publie A Cypherpunk’s Manifesto, « Un manifeste cypherpunk » (Rolland & Slim, 2017).
Les leçons des premières cryptomonnaies
Toutes ces cryptomonnaies n’ont pas ou peu fonctionné, mais elles ont permis d’apporter des réponses au problème de la virtualisation de la monnaie. Une autre difficulté qu’il a fallu surmonter est celle liée à la confiance, véritable point névralgique du système.
Dans le secteur informatique, il est primordial d’anticiper les défaillances en termes d’information, de logiciel ou de support matériel. Ces défaillances peuvent avoir été implicitement accidentelles ou malveillantes durant les phases de conception ou de transport des données. Elles impliquent la transmission d’informations erronées ou incohérentes, nommées « tolérance aux pannes ». En 2000, les programmeurs Tom Pepper et Justin Frankel développent Gnutella, première plateforme de transfert de fichiers pair-à-pair2 complètement distribuée. Ce type de réseau permet à chacun des participants d’être à la fois serveur et receveur afin de décentraliser les informations ou les données. Ainsi, l’architecture de fonctionnement des cryptomonnaies, dite « client-serveur », règle le problème technique de la panne.
Une autre question fondamentale restait à résoudre. Il s’agit de la « double dépense » selon laquelle, par exemple, un jeton numérique, ou token, est dépensé plus d’une fois, ou qu’un agent puisse prétendre disposer de plus de bitcoins qu’il n’en a.
Un jeton numérique, ou token, est un fichier numérique déterminant le nombre d’exemplaires ou de fragments d’exemplaires possédés.
Au même titre que de la fausse monnaie, « la double dépense » peut entraîner des conséquences sur l’économie et défier la confiance des utilisateurs. Or, les techniques cryptographiques permettent de diminuer ou d’empêcher ce problème tout en conservant l’anonymat des transactions (Choan, 2017).
Ainsi, le cypherpunk et développeur de cryptomonnaies Adam Back crée en 1997 le hashcash, un algorithme ayant pour but la validation des transactions par hash cryptography, que l’on peut traduire par « preuve de travail »3. La preuve de travail permet d’éviter l’interaction avec un « tiers de confiance » physique via la modélisation d’un système distribué de confiance.
Du défi majeur de Satoshi Nakamoto à l’émergence du bitcoin
Dix ans après, en 2008, dans le brouillon de son Livre blanc Electronic Cash Without a Trusted Third Party (« L’argent électronique sans tiers de confiance »), Satoshi Nakamoto propose la suppression de ce tiers de confiance ainsi que la résolution du problème dit « des généraux byzantins » (double dépense et pannes, voir encadré ci-dessous). L’identité de Satoshi Nakamoto n’est pas clairement définie ; il s’agit d’une entité constituée d’un ou plusieurs individus particulièrement actifs dans l’émergence du bitcoin. Dans un nouvel article, il publie ensuite, sur la Cryptography Mailing List, Bitcoin: A Peer-to-Peer Electronic Cash System (« Bitcoin : système de monnaie électronique en pair-à-pair ») où il décrit l’élaboration d’un protocole capable de créer un ou plusieurs registres infalsifiables sur un réseau informatique en pair-à-pair. Ce sont les prémices de ce qui s’appellera ultérieurement le bitcoin, une nouvelle cryptomonnaie utilisant le principe fondamental de la blockchain et d’un encryptage cryptographique. Dans ce protocole, les utilisateurs pourraient effectuer des transactions sans avoir besoin d’un tiers de confiance, car c’est un consensus global qui assurerait les transactions.
Le bitcoin est totalement transparent : le code informatique est libre de droit, quiconque peut donc l’utiliser. Cette transparence permet aux utilisateurs de voir les comptes au même titre qu’un livre comptable. Jean-Paul Delahaye, chercheur en informatique, affirme : « Un très grand cahier, que tout le monde peut lire librement et gratuitement, sur lequel tout le monde peut écrire, mais qui est impossible à effacer et indestructible » (CNIL, s.d.). Certains acteurs peuvent aussi valider les transactions, ce que nous appelons « le minage »4.
En mars 2010, le premier marché d’échange de monnaies-fiat, c’est-à-dire de monnaies dont la valeur dépend du cours légal du gouvernement, voit le jour. Il s’agit de Bitcoinmarket.com. Les fiats servent à acheter des bitcoins. En août 2012, un progrès est amorcé car deux méthodes de consensus sont utilisées. Scott Nadal et Sunny King (des utilisateurs) publient le Livre blanc de la cryptomonnaie Peercoin (PPCoin ; King & Nadal, 2012), qui fonctionne en P2P et utilise à la fois le système de la preuve de travail et celui de la preuve d’enjeu. La preuve d’enjeu est une méthode par laquelle une chaîne de blocs d’une cryptomonnaie vise à atteindre un consensus (accord) distribué. La transaction n’est pas validée constamment par les mineurs, membres du réseau de la blockchain, mais elle dépend du montant de la cryptomonnaie détenu par les participants, qu’ils doivent régulièrement justifier (PwC, 2017).
La blockchain et le problème des généraux byzantins
Le problème mathématique dit « des généraux byzantins » a fait couler beaucoup d’encre parmi les chercheurs depuis le début des années 19805. Il renvoie à la difficulté de communiquer d’une seule voix, sans autorité centrale régulatrice infailliblement fiable, et en toute confiance. C’est la question qui se pose dans le cadre des transactions, échanges numériques en réseaux P2P.
La parabole de l’assaut d’une cité par une armée est à cet égard significative : comment établir un plan commun pour gagner la bataille alors que certains généraux peuvent être des traîtres ? La solution : le consensus, qui exige qu’au moins deux tiers des généraux soient fidèles.
En matière informatique, Satoshi Nakamoto a renforcé la robustesse des premiers algorithmes utilisés pour répondre à ce problème des généraux byzantins, grâce à la preuve de travail. Dans ce système, les participants qui valident les échanges par des calculs (les mineurs), en compétition les uns avec les autres, sont récompensés de leur tâche par des bitcoins. C’est en effet la chaîne la plus longue, celle qui a demandé le plus d’énergie, qui est finalement approuvée. Satoshi Nakamoto introduit un autre apport essentiel : il suffit désormais que la moitié des « généraux » soit loyale.
Source : Lars, L. (2019, 3 septembre). Le problème des généraux byzantins. Viresinnumeris.fr.
