Module 3 sur 8

Histoire technique du Bitcoin

3.0 Introduction

Résumé du livre blanc sur le Bitcoin

Une version purement pair-à-pair de la monnaie électronique permettrait d’envoyer des paiements en ligne directement d’une partie à une autre sans passer par une institution financière. Les signatures numériques fournissent une partie de la solution, mais les principaux avantages sont perdus si un tiers de confiance est toujours nécessaire pour empêcher la double dépense. Nous proposons une solution au problème de la double dépense en utilisant un réseau pair-à-pair. Le réseau horodate les transactions en les hachant dans une chaîne continue de preuve de travail basée sur le hachage, formant un registre qui ne peut pas être modifié sans refaire la preuve de travail. La chaîne la plus longue sert non seulement de preuve de la séquence des événements observés, mais aussi de preuve qu’elle provient du plus grand pool de puissance de calcul. Tant qu’une majorité de la puissance de calcul est contrôlée par des nœuds qui ne coopèrent pas pour attaquer le réseau, ils généreront la chaîne la plus longue et dépasseront les attaquants. Le réseau lui-même nécessite une structure minimale. Les messages sont diffusés selon le principe du meilleur effort, et les nœuds peuvent quitter et rejoindre le réseau à leur guise, acceptant la chaîne de preuve de travail la plus longue comme preuve de ce qui s’est passé pendant leur absence.

Le Bitcoin n’est pas apparu dans le vide, mais s’est appuyé sur le travail de nombreux chercheurs des décennies précédentes. Ce module explorera les fondations de l’internet sur lesquelles Bitcoin s’appuie, ainsi que la recherche et le développement reconnus dans le livre blanc.

Dans les années 70, un groupe d’individus a observé comment le gouvernement américain, en particulier, tentait de restreindre l’accès à la cryptographie, et s’est efforcé de faire en sorte que cette technologie soit accessible à tous afin de protéger la vie privée en ligne. Certains de ces pionniers s’intéressaient également aux avantages potentiels d’un système monétaire numérique « sain » qui pourrait servir à stocker et échanger de la valeur sur l’internet émergent. Friedrich Hayek – un contributeur majeur à l’école autrichienne d’économie – avait imaginé à quoi ressemblerait une monnaie idéale fondée sur la concurrence du marché libre bien avant l’ère d’internet, mais avait jugé cela techniquement et politiquement irréalisable. Outre la vie privée numérique, ce groupe, qui deviendra les Cypherpunks, a tenté de concrétiser la vision de Hayek pour une monnaie numérique, mais ces tentatives avaient échoué jusqu’à ce que Satoshi publie ses idées sur la liste de diffusion.

  • Protocole TCP/IP (1976)
  • Protocoles pour les systèmes de cryptographie à clé publique - Ralph Merkle (1980)
  • Digicash - David Chaum (1989)
  • Horodatage numérique (années 90)
  • Hashcash - Adam Back (1997)
  • BitTorrent - Bram Cohen (2001)
  • POW réutilisable - Hal Finney (2004)
  • Livre blanc Bitcoin - Satoshi Nakamoto (2008)

Une influence majeure sur le développement de Bitcoin fut l’émergence du mouvement Cypherpunk dans les années 1990. Ils ont développé plusieurs technologies cryptographiques, dont la cryptographie à clé publique, permettant aux utilisateurs de communiquer et partager des informations de manière sécurisée et privée. Beaucoup des développements décrits ici et les personnes impliquées faisaient partie de ce groupe.

Le besoin d’une monnaie numérique a également été identifié et plusieurs tentatives ont été faites pour la créer, mais elles présentaient des limites qui les ont empêchées de réussir. Le génie de Satoshi Nakamoto a été de rassembler ces capacités et, avec quelques innovations personnelles, de s’appuyer dessus pour créer le protocole Bitcoin utilisé aujourd’hui. Dans les prochaines sections, nous explorerons certains de ces développements et expliquerons comment ils ont contribué à la conception de Bitcoin. Nous discuterons également des pièces manquantes du puzzle que Satoshi a réussi à résoudre.

3.1 Le développement de TCP/IP

La plupart d'entre nous connaissent les protocoles TCP/IP utilisés aujourd'hui comme fondement d'Internet. Leurs origines remontent à la fin des années 1970, lorsque des scientifiques exploraient des conceptions alternatives à Arpanet – un réseau encore plus ancien conçu par le département de la Défense des États-Unis pour permettre le partage de ressources entre ordinateurs distants. TCP/IP est devenu la norme de protocole pour Arpanet en 1983, ce qui a conduit à son adoption comme modèle dominant de réseau à la fin des années 1990 et à la base de l'internet sur lequel fonctionne Bitcoin aujourd'hui.

Modèle OSI TCP/IP
Application Application
Présentation Application
Session Application
Transport Transport
Réseau Réseau
Liaison de données Liaison de données
Physique Physique

Au même moment où le modèle TCP/IP était en cours de développement, un cadre similaire mais plus complet était élaboré par l’Organisation internationale de normalisation (ISO) et l’industrie des télécommunications (CCITT). Le processus de développement de nouveaux protocoles ou de proposition de modifications était lent et lourd comparé à l’approche plus décentralisée utilisée pour TCP/IP, ce qui a conduit à la domination de cette dernière aujourd’hui.

Demande de modification

Toute évolution suggérée des protocoles existants ou toute idée de nouveaux protocoles peut être proposée dans le modèle TCP/IP via une Demande de modification . Celles-ci passent par un processus d’approbation, géré par l’Internet Engineering Task Force (IETF), et deviennent open source une fois approuvées afin que chacun puisse les implémenter et les adopter. Quelques exemples notables :

  • 1969 RFC 1 Documentait comment les paquets seraient envoyés dans l’Arpanet
  • 1981 RFC791 a défini le protocole Internet V4 – encore largement utilisé aujourd’hui
  • 1982 RFC 821 Protocole simple de transfert de courrier (SMTP)
  • 1987 Système de noms de domaine – comment les noms de domaine sont résolus en adresses IP
  • 1999 RFC 2616 Protocole de transfert hypertexte – essentiel pour la navigation sur le web

La Proposition d'amélioration de Bitcoin (BIP) suit une approche similaire à celle des RFC, mais se concentre uniquement sur les améliorations de Bitcoin lui-même plutôt que sur le développement de nouveaux protocoles ou de protocoles alternatifs. Bitcoin s’inspire également de ce modèle en couches, et vous verrez des protocoles supplémentaires décrits comme couche deux ou trois.

De la même manière que les couches de base du modèle TCP/IP ont relativement peu changé au cours des dernières décennies, l’innovation ayant lieu dans les couches supérieures, la couche de base de Bitcoin devrait désormais évoluer très lentement, avec des solutions de passage à l’échelle comme Lightning et Liquid qui se développent au-dessus.

Un bon exemple de la difficulté à faire évoluer les protocoles de couche de base au fil du temps est IPv6. L’épuisement attendu de l’espace d’adressage en IPv4 a créé une demande pour un nouveau protocole. Le premier projet de norme a été créé en 1998, mais n’a été ratifié comme norme Internet qu’en 2017. Bien qu’il ait résolu de nombreux problèmes d’IPv4 et soit bien plus pérenne, il a tout de même connu une adoption très lente dans l’industrie aujourd’hui. Pendant ce temps, de nombreux nouveaux protocoles ont été définis dans les couches supérieures pour permettre le multimédia, l’email, etc.

Les blocs de construction utilisés par Bitcoin

Cette séparation des problèmes d’interconnexion permet de développer les protocoles indépendamment des couches supérieures et inférieures. Plutôt que de devoir réinventer des solutions pour chaque couche, le réseau Bitcoin peut s’appuyer sur les capacités sous-jacentes du réseau fournies aux couches physique et liaison de données.

Couche TCP/IP d'origine
Application Utilise le système de noms de domaine (DNS) pour identifier les nœuds voisins. Le port 8333 signale le protocole Bitcoin.
Transport UDP pour les communications FIBRE entre mineurs pour une faible latence. TCP pour les communications P2P entre nœuds.
Transport Routage TOR : permet l’anonymat et la confidentialité. Protocole de diffusion : achemine le trafic sur le réseau.
Liaison Fonctionne sur n’importe quel support (par exemple, Ethernet, Wi-Fi, etc.)
Physique Transmission physique via sans fil, Ethernet ou autres interfaces matérielles.
Bitcoin est un protocole neutre pour transférer de la valeur, comme HTTPS est un protocole pour transférer de l’information
  • HTTPS : Sites web sécurisés
  • SMTP: Envoyer des e-mails
  • FTP: Transférer des fichiers
  • DNS: Gérer les noms de domaine
  • BTC: Stocker et transférer de la valeur

Le Bitcoin permet de transporter de la valeur de manière fiable et sans nécessiter de tiers, entre des personnes ou des appareils à travers Internet. On s'attend à ce que cela libère une valeur considérable.

3.2 Cryptographie à clé publique et protocoles

L’Internet d’aujourd’hui, ainsi que la plupart des systèmes informatiques modernes, reposent sur la cryptographie, une méthode permettant de dissimuler l’information afin que seul le destinataire puisse la décoder. Les bases de la cryptographie utilisée pour sécuriser Bitcoin remontent aux années 70.

Le premier problème à résoudre est : comment transmettre un secret partagé sur un canal non sécurisé.

Ce problème a d’abord été étudié par Whitfield Diffie et Martin Hellman.

Le problème : les deux parties – généralement appelées Alice et Bob – souhaitent partager des informations secrètes sur un réseau où d’autres peuvent écouter. Pour cela, ils ont créé le processus d’échange de clés Diffie-Hellman.

Ce secret partagé peut ensuite être utilisé comme valeur de départ pour créer de nombreuses clés symétriques afin de chiffrer et déchiffrer les messages à s’envoyer mutuellement, sans jamais partager la clé elle-même en clair.

Comme la clé privée n’a jamais besoin d’être partagée, et que des clés différentes sont utilisées de chaque côté pour chiffrer et déchiffrer, on parle alors d’un algorithme de chiffrement asymétrique.

Cas d’utilisation :

  • Alice signe un message avec la clé publique de Bob – qui est la seule personne capable de le déchiffrer à l’aide de sa clé privée
  • Alice signe un message avec sa clé privée – en le déchiffrant avec sa clé publique, n’importe qui peut vérifier que le message a bien été envoyé par Alice, sans connaître sa clé privée
  • En combinant ces deux approches avec deux couches de chiffrement, un message peut être envoyé de façon à ce que seul Bob puisse le déchiffrer, et il peut ensuite vérifier que l’expéditeur est bien Alice.

Bien qu’il ne soit pas crédité dans l’article, Ralph Merkle a joué un rôle déterminant dans la résolution de ce qui était jusque-là considéré comme une énigme insoluble : comment établir ou rétablir une communication privée sur un réseau ouvert et potentiellement hostile.

Cette approche, prise isolément, est vulnérable à une attaque par force brute, où un attaquant peut utiliser les nombres partagés pour recréer une clé partagée, à condition d’avoir suffisamment de temps et de ressources. Ce n’est donc pas une solution complète à elle seule.

Protocoles pour les systèmes de cryptographie à clé publique

En plus d’avoir contribué au système à clé publique Diffie-Hellman décrit ci-dessus, Ralph Merkle a continué à contribuer à ce domaine pendant de nombreuses années, et a joué un rôle clé dans le développement de certains composants essentiels utilisés par Bitcoin.

Une fonction de hachage cryptographique est un algorithme mathématique qui prend des entrées de n’importe quelle taille et effectue des calculs complexes pour retourner une valeur de hachage en bits, généralement représentée par une sortie alphanumérique de longueur fixe en format hexadécimal.

  • Les entrées peuvent être de n’importe quelle taille
  • La sortie est toujours de longueur fixe et déterministe (la même entrée produit toujours le même hachage)
  • Il est facile de vérifier, mais extrêmement difficile d’inverser le processus pour retrouver l’entrée
  • Une modification minime des données modifie complètement la sortie
Hash function

Le hachage est une partie intégrante du protocole Bitcoin. Le SHA-256, utilisé dans Bitcoin, a été créé par la NSA et est un exemple d’algorithme de hachage cryptographique.

  • Chaque bloc de la chaîne est haché afin que les données ne puissent pas être modifiées – garantissant ainsi l’intégrité du registre distribué
  • Le hachage généré doit répondre aux critères de « preuve de travail » pour être considéré comme un bloc valide
  • Les arbres de Merkle – en utilisant des embranchements et des hachages de hachages, les arbres de hachage permettent de vérifier de grands ensembles de données avec un stockage minimal
  • Les signatures et clés basées sur le hachage peuvent être utilisées pour les portefeuilles, les adresses et l’autorisation des transactions

La vérification distribuée des états de la blockchain et les modèles de registres append-only résistants à la révision sont rendus possibles par le hachage à sens unique. Les fonctions de hachage offrent une méthode fiable et déterministe pour vérifier les événements sur des registres publics comme Bitcoin, en l’absence d’un modèle de confiance centralisé.

Ces nouvelles capacités dans le domaine de la cryptographie devaient, selon leurs créateurs, inaugurer une nouvelle vague d’innovation dans ce secteur.

Cryptographie sur courbes elliptiques

L’une de ces innovations ultérieures est apparue sous la forme de la cryptographie sur courbes elliptiques.

La cryptographie sur courbes elliptiques a été introduite en 1985 par deux scientifiques, N. Koblitz et V. Miller. Ils ont proposé d’utiliser des points définis par des courbes elliptiques au lieu des champs premiers finis, de sorte que l’hypothèse du problème du logarithme discret soit respectée, comme c’est couramment le cas dans le protocole standard d’échange de clés Diffie-Hellman. Les détails de ce fonctionnement dépassent le cadre de cette section, mais, à un niveau élevé, une courbe elliptique est l’ensemble des points qui satisfont une équation mathématique spécifique.

L’équation d’une courbe elliptique ressemble à ceci :

Elliptic curve

Cela présente quelques propriétés intéressantes :

  • Symétrie horizontale. Tout point de la courbe peut être réfléchi par rapport à l’axe des x et rester sur la même courbe.
  • toute droite non verticale coupera la courbe en au plus trois points.
  • Des tailles de clés compactes sont essentielles pour un stockage et une transmission efficaces des clés publiques dans la blockchain.

Ces propriétés peuvent être utilisées pour créer des paires de clés d’une manière similaire à l’algorithme Diffie-Hellman. Bitcoin utilise ECDSA, qui signifie « Elliptic Curve Digital Signature Algorithm ». Il s’agit d’un procédé qui utilise une courbe elliptique et un champ fini pour « signer » des données de façon à ce que des tiers puissent vérifier l’authenticité de la signature, tandis que le signataire conserve la capacité exclusive de créer la signature. Avec Bitcoin, les données signées sont la transaction qui transfère la propriété.

La partie « finie » est similaire à l’approche « mod » avec Diffie-Hellman, où le résultat de l’équation est divisé et le reste est utilisé pour s’assurer qu’il reste dans une plage de nombres.

3.3 DigiCash

L'un des premiers participants à la « nouvelle vague d'intérêt » pour la cryptographie fut David Chaum. Il a passé ses premières années à apprendre à pirater des systèmes informatiques et son succès a engendré une méfiance envers les systèmes prétendument « sécurisés ». Il a également identifié un problème jusque-là ignoré : « comment garder secrète la connaissance de qui communique avec qui et quand ».

Il a conçu un protocole de messagerie anonyme utilisant la cryptographie à clé publique qui « mélangeait » les messages afin de garder l'anonymat de la source et de la destination. Cela deviendra la base du réseau TOR.

Chaum considérait les paiements numériques de la même manière – reconnaissant que « les transactions financières traçables effectuées par un individu peuvent révéler beaucoup de choses sur les déplacements, les relations et le mode de vie de cet individu ». En 1980, il a breveté un système de monnaie numérique sécurisé par la cryptographie qui formera la base de la cryptomonnaie. Il a également commencé à explorer l'idée d'utiliser la cryptographie pour créer une économie entièrement décentralisée basée sur la décentralisation de la messagerie et des paiements.

Les gouvernements sont efficaces pour couper la tête des réseaux centralisés comme Napster, mais les réseaux purement pair-à-pair comme Gnutella et TOR semblent tenir bon.
Satoshi Nakamoto

Les systèmes décentralisés sans autorité centrale – pair-à-pair – offrent plusieurs avantages :

  • Ils peuvent croître rapidement car n'importe qui peut développer le système simplement en lançant un nouveau nœud sans inscription ni approbation requise
  • Les nœuds sont tous identiques, donc les défaillances peuvent être contournées
  • Aucune autorité centrale à capturer et à compromettre le système
  • Ils sont plus difficiles à capturer, à réglementer, à taxer ou à surveiller sans points de contrôle centralisés

Une décennie plus tard, il a fondé sa société, Digicash, pour créer « ecash », le premier système de monnaie numérique au monde. De nombreux noms célèbres ont rejoint Digicash pendant un temps, qui a connu un certain succès mais a finalement échoué et déclaré faillite.

Développements ultérieurs dans la monnaie numérique

Dans un message sur un forum en juillet 2010, Satoshi Nakamoto a déclaré : « Bitcoin est une implémentation de la proposition b-money de Wei Dai sur Cypherpunks en 1998 et de la proposition Bit Gold de Nick Szabo. »

Bien qu'aucune de ces deux idées n'ait dépassé le stade de la proposition, certaines des idées qu'elles contenaient ont clairement influencé le développement de Bitcoin :

  • Utiliser la « preuve de travail » pour attribuer une valeur monétaire au travail computationnel
  • Le concept selon lequel le coût du calcul évolue dans le temps et doit être pris en compte

Mais d'abord, nous allons examiner Hashcash.

3.4 Hashcash

Hashcash a été créé par Adam Back, un autre des premiers innovateurs dans ce domaine. Adam avait un vif intérêt pour les marchés libres et la vie privée sur Internet, et il a découvert la liste de diffusion des Cypherpunks, qu'il a rejointe et dont il est devenu un membre actif.

Il s'intéressait beaucoup à la monnaie numérique et a proposé quelques idées sur la façon dont le groupe pourrait potentiellement collaborer plus étroitement avec Chaum sur DigiCash, mais cela n'a mené à rien. Il a alors porté son attention sur un autre problème émergent : le spam par e-mail. Lui et les autres Cypherpunks voulaient trouver une solution au problème du spam, où il était trivial pour les spammeurs de créer et d'envoyer des milliers d'e-mails qui encombraient les réseaux. Sa solution innovante était basée sur le hachage – la capacité, grâce à la cryptographie, de transformer n'importe quelle donnée en une chaîne unique et aléatoire d'une longueur spécifique, afin de créer l'équivalent d'un « timbre » numérique devant être ajouté à l'e-mail pour qu'il soit considéré comme valide et transmis sur le réseau. Un coût négligeable pour un e-mail authentique, mais prohibitif pour un spammeur.

L'innovation clé apportée par Hashcash a été de lier des ressources du monde réel – la puissance de calcul – à un réseau numérique. Alors que les ressources numériques pouvaient jusqu'alors être reproduites sans limite, le nombre de « hashcash » créés était limité par la quantité d'énergie que les gens étaient prêts à y investir.

Bien que la solution remplissait certains des critères qu'Adam jugeait nécessaires pour un système de monnaie numérique ; elle était anonyme, résiliente et sans confiance, chaque hashcash n'était pas réutilisable et n'était pas vraiment rare. Il a suggéré d'autres moyens de résoudre ces problèmes en utilisant des tiers externes.

BitGold

Nick Szabo s'est appuyé sur le concept de Hashcash et la preuve de travail pour proposer une solution alternative, qu'il a décrite sur une liste de diffusion un an après la publication de Hashcash, en 1998.

Bien que cette proposition se rapproche d'une solution, elle présentait encore plusieurs défis.

  • Qui gérerait le registre de propriété des hash et comment leur faire confiance ?
  • Le hachage deviendrait généralement moins coûteux avec le temps, un défi également pour HashCash.

Comme les hash liés seraient horodatés, il a proposé une forme de suivi historique de la difficulté du hachage à un moment donné ; un hash plus ancien nécessiterait plus de puissance de calcul qu'un hash plus récent, car les coûts auraient diminué. Malheureusement, cela signifiait que les hash ne seraient pas « fongibles », c'est-à-dire de valeur égale, ce qui est considéré comme une caractéristique clé de la monnaie numérique. Pour aider à résoudre ce problème, Nick a suggéré une forme de « banque libre » fonctionnant au-dessus de BitGold, qui pourrait agréger différents groupes de hash qui seraient alors valorisés de la même manière.

B-Money

Peu de temps après la proposition de Bit Gold, Wei Dai a proposé une solution similaire. Il avait déjà développé plusieurs autres outils pour les Cypherpunks et avait ses propres idées sur la monnaie numérique.

Sa proposition ressemblait à Bit Gold en ce qu'elle utilisait des signatures numériques pour transférer de l'argent, et les enregistrements des transactions seraient stockés sur un registre, contenant des clés publiques et le montant d'unités monétaires attribuées à chacune. Comme pour Bit-Gold, les tiers de confiance étaient considérés comme des failles de sécurité, et l'on pensait qu'un système de monnaie électronique ne devait pas dépendre d'une seule entité pour suivre les soldes, les transactions ou empêcher la double dépense.

Wei-Dai a proposé plusieurs solutions à ces problèmes, dont l'une était qu'au lieu qu'une entité centrale (ou plusieurs) maintienne le registre, TOUS les nœuds en conserveraient une copie. Si tous les utilisateurs vérifiaient leur propre registre et la validité de chaque transaction, tant que tous les nœuds restent à jour, les registres devraient rester synchronisés sur le réseau. Ce système hautement distribué serait difficile à corrompre.

Wei Dai a reconnu que cela ne résolvait pas le problème des généraux byzantins (1), car les nœuds pouvaient facilement perdre la synchronisation ou simplement mentir. Il a suggéré d'autres méthodes, comme avoir un sous-ensemble de serveurs « de confiance » qui maintiennent le registre, et créer des incitations financières pour que ces serveurs restent honnêtes.

Pour la politique monétaire, il a proposé d'indexer le pouvoir d'achat du B-Money sur une sorte d'indice des prix à la consommation externe. Il voulait que la même quantité de B-Money puisse acheter une part égale de l'indice au fil du temps, assurant ainsi une certaine stabilité des prix. Ainsi, n'importe qui pouvait générer de nouvelles unités monétaires en fournissant un hash valide, mais la difficulté de générer un hash pouvait évoluer dans le temps en fonction des coûts CPU et de l'indice des prix, de sorte que chaque unité serait « immuable ».

3.5 BitTorrent

Un autre projet qui a joué un rôle important dans la formation des cryptomonnaies avant l’arrivée du bitcoin est BitTorrent.

En 2001, Bram Cohen a publié une conception pour un protocole nommé BitTorrent, qui a été créé pour alimenter un système de partage de fichiers en pair-à-pair. Il a commencé à travailler dans une entreprise appelée MojoNation, qui avait été créée pour permettre aux gens de diviser des fichiers confidentiels en fragments chiffrés, lesquels étaient ensuite distribués sur des ordinateurs exécutant le logiciel. Une copie du fichier pouvait être téléchargée simultanément depuis plusieurs ordinateurs. Bien que ce projet ait finalement échoué, il a permis à Cohen de découvrir le domaine du partage de fichiers, où il a décidé qu’il pouvait créer un meilleur protocole, qui se composait de :

  • Essaim : une communauté de machines qui téléchargent ou envoient du contenu
  • Tracker : un outil dédié qui fonctionne de manière similaire à un moteur de recherche, mais qui garde la trace des fichiers contenus dans l’essaim. Cela permet aux utilisateurs de voir et d’accéder facilement à n’importe quel fichier dont ils pourraient avoir besoin
  • Client BitTorrent : installé sur un ordinateur pour accéder au tracker. À noter que l’essaim est le seul endroit où les fichiers sont réellement conservés
  • Un système d’incitation où les utilisateurs qui partagent des fichiers sur le réseau bénéficient de téléchargements plus rapides

Similarités avec Bitcoin :

  • Les deux protocoles fonctionnent sur une base pair-à-pair
  • Conception décentralisée
  • Les fichiers BitTorrent et le registre Bitcoin sont distribués à travers le réseau
  • Origine open source (BitTorrent est finalement devenu un logiciel propriétaire)

3.6 Preuve de travail réutilisable

Hal Finney est un autre membre célèbre du mouvement Cypherpunk, qui s'intéressait beaucoup au développement de la monnaie électronique et était actif sur la liste de diffusion.

Il décida de tenter à nouveau de développer un système de monnaie électronique basé sur la preuve de travail. Jusqu'à présent, la sortie du hachage était unique à chaque transaction, mais son idée était de créer des « preuves de travail réutilisables ».

L'inconvénient de cette approche est le serveur centralisé, auquel il faut faire confiance pour ne pas effectuer de double dépense ou être mis hors service. Pour contourner ce problème, Hal proposa d'utiliser des logiciels libres et open source pouvant être hébergés sur un composant matériel sécurisé et validés de manière indépendante.

La solution faisait toujours face à certains des mêmes problèmes que les autres propositions :

  • Le problème de « la poule et de l'œuf » concernant l'adoption, où il manque une incitation pour que les utilisateurs veuillent demander des jetons, et où les vendeurs ne souhaitent pas se connecter au système à moins que les utilisateurs ne veuillent payer avec ces jetons.
  • La preuve de travail (POW) risque également de devenir moins coûteuse avec le temps à mesure que la performance informatique s'améliore, ce qui suggère que le marché finirait par être inondé d'unités monétaires RPOW.
Si la loi de Moore continue de se vérifier, le coût de création d'un jeton (POW) diminuera à un rythme exponentiel et régulier. Gardez à l'esprit qu'il ne s'agit pas d'argent et que ce n'est pas destiné à être une réserve de valeur, mais plutôt une représentation facile à échanger de l'effort informatique.
Hal Finney

Ces caractéristiques ont limité l'attrait et donc l'adoption du projet, et malgré tous ses efforts, le projet s'est finalement soldé par une nouvelle tentative échouée de création de monnaie électronique.

3.7 Bitcoin

Après de nombreuses années et tentatives infructueuses, les Cypherpunks avaient pour la plupart commencé à perdre de l'intérêt pour l'idée d'une monnaie numérique sans autorisation, lorsque Adam Back a reçu un e-mail contenant un lien vers un brouillon de livre blanc intitulé « monnaie électronique sans tiers de confiance » provenant d'une personne anonyme se faisant appeler Satoshi Nakamoto.

Pour récapituler à ce stade, nous avons au moins les idées suivantes :

  • Signatures cryptographiques pouvant offrir un certain niveau de confidentialité et d'anonymat
  • Concept d'une monnaie non adossée (B-Money)
  • Propositions (mais sans moyen) pour limiter l'émission de nouvelle monnaie
  • Pièces numériques dont la propriété était attribuée par des clés publiques (B-Money) et pouvant être transférées par signature et réattribuées en fonction de l'adresse du destinataire (RPOW et Hashcash)
  • Tous les nœuds maintiennent une copie d'un registre totalement distribué (B-Money) (rejeté à l'époque comme impraticable)
  • Protocole d'horodatage – utilisant le hachage d'arbre de Merkle pour fournir une chronologie mathématiquement prouvable des événements, difficile à falsifier si tous les utilisateurs conservent les mêmes enregistrements
  • Preuve de travail pour lier un effort réel au système (mais en utilisant le hachage lui-même comme monnaie)
  • Réseaux totalement décentralisés où tous les pairs sont égaux et peuvent rejoindre ou quitter le réseau à tout moment (BitTorrent)
  • Concept de lier de nouveaux hachages aux hachages précédents (Bit Gold et horodatage)

Ce qui manquait à cette époque comprenait :

  • Une solution viable au problème des « généraux byzantins »
  • Une méthode pour limiter la quantité de monnaie en circulation malgré l'amélioration continue du matériel
  • Un système d'incitations pour encourager la participation (problème de la poule et de l'œuf)

L'autre grande différence entre les tentatives récentes et Bitcoin était que Satoshi travaillait sur le code depuis un certain temps dans le véritable esprit originel des « Cypherpunks écrivent du code » avant de l'annoncer sur les listes de diffusion, contrairement à Bit Gold et B-Money qui étaient davantage conceptuels.

Quelle a été l'innovation qui a distingué Bitcoin des tentatives précédentes de monnaie électronique ?

La preuve de travail serait utilisée comme mécanisme de consensus et comme moyen d'assurer la sécurité et l'immutabilité : au lieu d'utiliser le hachage comme forme de monnaie, il serait utilisé par un nouveau processus conceptuel appelé minage, où un nœud regrouperait un ensemble de transactions, ajouterait un nombre aléatoire puis appliquerait le hachage au « bloc » de données. Un bloc valide répondant à l'exigence de hachage serait alors annoncé au réseau. Ces blocs seraient liés entre eux en utilisant le hachage du bloc précédent dans chacun, et la plus longue chaîne de blocs serait utilisée en cas d'égalité où différents nœuds valideraient et annonceraient différents blocs en même temps, créant ainsi des divisions de chaîne. La preuve de travail est devenue le mécanisme distribué de départage pour résoudre le problème des généraux byzantins.

Ces mineurs recevaient également une incitation à fournir la puissance de calcul nécessaire pour effectuer la preuve de travail en se voyant attribuer de nouveaux bitcoins pour chaque bloc. Le montant de Bitcoin attribué est également programmé pour diminuer environ tous les 4 ans jusqu'à ce que tous les bitcoins aient été créés, établissant ainsi une limite stricte au nombre total de bitcoins qui seront jamais en circulation à 21 millions.

L'idée la plus originale était la manière dont il a résolu la question de la création monétaire à mesure que le matériel s'améliore et que plus de puissance peut être appliquée au réseau. Les horodatages d'un nombre défini de blocs (2016) seraient moyennés, et s'ils étaient créés trop rapidement, le hachage nécessaire pour créer un nouveau bloc serait rendu plus difficile, et s'ils étaient créés trop lentement, il serait rendu plus facile. Cela a été intégré dans le protocole décentralisé exécuté par tous les nœuds, de sorte que tout mineur l'ignorant dépenserait de l'énergie pour miner un bloc sans aucun bénéfice, car il serait rejeté par le reste du réseau. Cet ajustement garantit que la création de nouveaux blocs reste conforme au calendrier prévu d'émission, et incite les mineurs à « respecter les règles ».


Résumé

De nombreux éléments du puzzle nécessaires à la construction d'un système de monnaie électronique pair à pair décentralisé basé sur des principes monétaires sains étaient en place avant que Satoshi ne publie son livre blanc et peu après la sortie initiale du code.

La nature de Bitcoin est telle qu'une fois la version 0.1 publiée, la conception de base était gravée dans le marbre pour le reste de sa durée de vie
Satoshi Nakamoto

Bien que de nombreuses idées d'amélioration (BIP) aient été proposées et adoptées, Bitcoin fonctionne en arrière-plan depuis 2009 en suivant le protocole conçu dans la version initiale et avec à peine la moindre perturbation. Toutes les améliorations ont été réalisées tout en permettant la rétrocompatibilité avec toutes les versions précédentes.

Notes
  1. Pour une explication du problème des généraux byzantins - voir https://fr.wikipedia.org/wiki/Probl%C3%A8me_des_g%C3%A9n%C3%A9raux_byzantins

↑ Retour à la table des matières