Partager cet article

Les dangers d'une monoculture blockchain

Dans cet article approfondi, l'ingénieur logiciel et expert en cybersécurité Tony Arcieri tente de déterminer ce qu'est réellement une blockchain.

Au départ, il y avait le Bitcoin, la Cryptomonnaie la plus populaire au monde à ce jour. Mais ces derniers temps, on parle de plus en plus de « blockchain Bitcoin », de « blockchain », de « blockchain » ou de « Technologies blockchain ».

Bloombergrapporte que le Nasdaq estcherchant à montrer des progrèsen utilisant la blockchain très médiatisée. Notes de LWN La Fondation Linux récemment annoncé un projet visant à « faire progresser la Technologies blockchain ».Washington PostlistesBitcoin et la blockchain comme ONEune des six inventions d'ampleur que nous T vues depuis l'imprimerie. Visa, Citi et Nasdaqont investi30 millions de dollars dans une société blockchain.

La Suite Ci-Dessous
Ne manquez pas une autre histoire.Abonnez vous à la newsletter Crypto Long & Short aujourd. Voir Toutes les Newsletters

Les VC ontinvesti 1 milliard de dollars dans l'écosystème Bitcoin . Bank of America seraitessayer de chargersur les brevets « blockchain ». La Banque d'Angleterreditil y a un « buzz autour de la blockchain » et je suis curieux de savoir à quoi vous utiliseriez « blockchain ».

Il semble que « blockchain » devienne un terme de plus en plus générique, comme « cloud » ou « cyber ».

Une nouvelle génération de vendeurs d’huile de serpent vend la « blockchain » comme la sauce magique qui alimentera toutes les transactions financières du monde et débloquera la grande base de données décentralisée dans le ciel.

Mais qu’est-ce qu’une « blockchain » exactement ?

Les conseils de Satoshi

Tournons-nous vers la source définitive, l’article fondateur de Satoshi Nakamoto «Bitcoin: un système de paiement électronique peer-to-peer" et cherchez la première référence à « blockchain ». Hmm, il ne semble T y en ONE.

L'article contient plusieurs références à une « chaîne de preuve de travail » et une référence à une « chaîne de blocs », mais à part cela, ni « blockchain » ni « chaîne de blocs » n'apparaissent jamais dans l'article sur le Bitcoin .

Donc, si ce n’est pas défini dans le document sur le Bitcoin , que signifie réellement « blockchain » ?

J'ai posé cette question à de nombreuses personnes, allant de cryptographes renommés et d'experts en systèmes distribués à des passionnés de Bitcoin , en passant par des personnes peu expertes en Bitcoin, en systèmes distribués ou en cryptographie. Aucune personne ne m'a jamais donné la même réponse.

Je peux essayer de répondre moi-même à cette question.

Voici les propriétés intéressantes de la « blockchain » Bitcoin telles que je les vois :

  • SCP Stellar: un algorithme de consensus distribué formellement modélisé, conçu pour fonctionner à l'échelle d'Internet, qui assure un accord global entre des « fragments de quorum » localisés. SCP fournit des registres de transactions distribués libellés dans la devise de votre choix. Stellar prévoit de lancer une Cryptomonnaie appelée « Lumen » utilisant ce protocole.

Dans mon article de blog précédent« La mort du Bitcoin»J'avais également mentionnéHyperledger,Menthe tendreet plusieurs autres. J'y reviendrai dans un BIT.

Bitcoin-NG

Diagramme 3 de Tony Arcieri
Diagramme 3 de Tony Arcieri

Mon article de blog sur la mort du Bitcoin a également évoqué l’idée que la blockchain pourrait être soumise à un raffinement progressif de la même manière que la machine à vapeur Watt a considérablement amélioré la précédente machine à vapeur Newcomen.

Quelques mois plus tard, nous avons vu exactement cela avecBitcoin-NG (papier), un protocole qui inverse l'ordre du consensus Bitcoin , dans lequel un mineur est d'abord élu leader en remportant la « loterie » de preuve de travail en extrayant un « bloc clé », puis une fois élu leader devient un courtier de transactions qui peut frapper des « micro-blocs » via une signature numérique jusqu'à ce que le prochain leader soit élu.

Le découplage de l’élection du leader de la publication des transactions permet au système global d’avoir un débit beaucoup plus élevé, car le taux de publication des nouvelles transactions n’est plus couplé au taux auquel le problème de preuve de travail est résolu.

Cothorité

Image également ci-dessus référencée 32C3 Cothity talk
Image également ci-dessus référencée 32C3 Cothity talk

J'ai fait référence à la transparence des certificats à plusieurs reprises dans cet article, mais elle présente quelques inconvénients : il s'agit d'une solution ponctuelle spécifiquement destinée aux certificats X.509, et en tant que système qui se contente d'enregistrer et d'auditer les certificats que les autorités de certification lui fournissent, elle n'a pas de protocole de consensus et ne peut donc pas être utilisée pour des choses comme trouver les certificats canoniques pour un nom de domaine donné.

Compte tenu de l'objectif visé par Certificate Transparency, c'est parfaitement acceptable. Cependant, compte tenu des nombreuses années de travail sur ce projet, il est un BIT dommage qu'il ne serve qu'à authentifier les certificats X.509, alors que son principe général semble bien plus puissant. C'est peut-être ce que les gens ressentent à propos de la « blockchain » lorsqu'ils la voient appliquée uniquement au Bitcoin.

Cothorité

est un cadre pour la construction de systèmes d'autorité collective utilisant un journal Merkeliséà laCT, un algorithme de consensus et des signatures de seuil (en utilisant Ed25519 pour les signatures de seuil Schnorr).

En combinant les idées des systèmes de consensus avec un protocole témoin de type CT, il fournit un cadre généralisé pour une confiance et un consensus décentralisés vérifiables qui peuvent être utilisés pour bon nombre des mêmes choses pour lesquelles les gens proposent la « Technologies blockchain » sans avoir besoin d'un coûteux « consensus par loterie » basé sur la preuve de travail.

Ces deux images sont tirées de la conférence 32C3 de Philipp Jovanovic sur Cothority, où elles ont été comparées comme deux solutions potentielles au même problème. Bien que je pense que Bitcoin-NG constitue une brillante optimisation de la conception originale de Bitcoin (et que je recommande vivement à Bitcoin d'adopter une variante de celle-ci), Cothority offre bon nombre des mêmes propriétés sans fonction de preuve de travail.

Blockchain ! Blockchain ! Blockchain !

Dernièrement, j'ai vu beaucoup de systèmes du type que je n'aurais T classé auparavant comme des « blockchains » (parce qu'ils n'utilisent pas de chaîne de preuve de travail) qui semblaient auparavant se distancier du Bitcoin et de l'approche de preuve de travail.BLOCKCHAIN COMPLÈTE :

Tony Arcieri photo 1
Tony Arcieri photo 1

Avez-vous accepté LA BLOCKCHAIN dans votre cœur ?

C'est Menthe tendre, un protocole que j'ai mis en évidence dansmon dernier article de blogcomme étant basé sur un système de preuve d'enjeu et un protocole de consensus distribué, par opposition à un système de preuve de travail comme Bitcoin. Or, la preuve d'enjeu n'est mentionnée nulle part sur leur site web.

Tendermint est-elle une blockchain ? Il n'y a plus aucun doute à ce sujet ! Quoi qu'il en soit, ses créateurs ne laissent planer aucun doute quant à sa nature même.

Hyperledger

, un autre protocole que j'ai mis en avant dans mon dernier article de blog, a également subi une refonte de la blockchain. Leurancien site Webredirige maintenantici(comme rapporté par LWN), où l'on ne voit plus aucune mention de "Hyperledger", juste la Technologies Enterprise Blockchain 2.0 !

Avec autant d'ambiguïté quant à la définition réelle, couplée à une hyper-répétition, la « blockchain » est en passe de devenir le nouveau « cloud » – un de ces mots dont le sens réel est nébuleux et imprécis, mais quel qu'il soit, il doit être si important que les gens ne peuvent T se taire à ce sujet !

Ne vous méprenez T : j'aime Hyperledger et Tendermint, ou du moins, c'est ce que je pensais. Cependant, comme je l'ai dit plus haut, aucun de ces systèmes n'est une « blockchain », car ils n'utilisent pas de protocole de consensus basé sur la preuve de travail.

La grande base de données dans le ciel

L’avantage d’un terme nébuleux est qu’il ne connaît aucune limite.

Qu'est-ce qu'on ne peut T mettre dans la blockchain ? On pourrait peut-être y encoder Wikipédia, ou y stocker l'intégralité des archives de vidéos Netflix. Archive.org pourrait être intégré à la blockchain. On pourrait migrer l'intégralité du Web vers la blockchain, afin que toutes les pages web soient permanentes et vivables à jamais.

La seule vraie question est : que ne peut-on T mettre dans la blockchain ?

Eh bien, la réponse est : pas grand-chose. La capacité de la blockchain Bitcoin à stocker des données est fortement limitée par sa nature « publier tout, à tous, partout ». 80 octets par transaction constituent quasiment la limite, et le système rencontre déjà des goulots d'étranglement en termes d'évolutivité à une échelle relativement modeste.

Pour aller plus loin, nous avons besoin d'un protocole différent. Nous ne pouvons T simplement utiliser la « Technologies blockchain » pour résoudre le problème. Les algorithmes pertinents n'existent pas dans le code source de Bitcoin . Nous avons besoin d'un protocole différent.

C’est un problème sur lequel de nombreuses personnes tentent de travailler depuis très longtemps.J'ai déjà blogué à ce sujetDe nombreux prétendants au trône ont existé : Xanadu, FreeNet, GNUnet, MojoNation/MNet, Tahoe-LAFS, OneSwarm, BitSpray, MaidSafe, IPFS. Je citerai notamment MojoNation comme un système qui a tenté de lier un service de stockage à une Cryptomonnaie.

Jusqu'à présent, la Technologies phare pour les bases de données décentralisées semble être BitTorrent, qui domine le trafic Internet. Mais ce n'est T vraiment une base de données, juste un espace de stockage de données. Vous vous dites peut-être : TorrentChain ! Oui, ça a été essayé. Mais je ne pense T que la grande base de données céleste sera débloquée en assemblant des éléments disparates dans un appareil à la Rube Goldberg.

Croyez-moi, j'aimerais voir se réaliser les rêves les plus fous des gens concernant les systèmes décentralisés. Mais la blockchain n'est probablement pas la Technologies qui y parviendra.

Conclusion

J'ai l'impression que la « Technologies blockchain » n'a pas apporté beaucoup de valeur pratique : comparé à la plupart des systèmes de paiement, la valeur transférée par le Bitcoin et le taux de transaction sont tous deux plutôt insignifiants (et le Bitcoin est tout ce qui compte - tous les autres systèmes basés sur la blockchain se déplacentpratiquement rienpar comparaison).

Bitcoin atteint ses limites d’évolutivité avec un volume de paiement relativement modeste.

La seule chose que la « Technologies blockchain » a réellement apportée, à mon avis, c'est le battage médiatique : un communiqué de presse dont le titre contient « blockchain » attire l'attention des médias. (Je vous renvoie au paragraphe d'introduction de cet article si vous en doutez).

Les institutions financières traditionnelles qui recrutent pour des postes liés à la blockchain ont beaucoup plus de chances de trouver des ingénieurs talentueux que celles qui ont pour mission de maintenir des systèmes hérités vieux de plusieurs décennies. Je ne conteste T que la blockchain suscitera assurément beaucoup plus d'enthousiasme chez l'ingénieur moyen que les termes « grand livre », « rapprochement », « règlement » ou « notarisation ».

En attendant, les défenseurs de la « Technologies blockchain » ont besoin d’une litanie de soutiens positifs de grands noms de la « blockchain » pour donner de la crédibilité à l’idée, même s’il ne s’agit guère plus que d’exprimer un intérêt pour le concept.

Nous nous retrouvons ainsi avec une boucle de rétroaction positive de battage médiatique sans que personne ne fournisse réellement quoi que ce soit de valable.

Cela ne veut pas dire que l'idée de registres de transactions décentralisés et de systèmes d'horodatage manque de mérite, mais je ne pense T que copier et coller la base de code de Satoshi et ses amis partout soit la meilleure façon de résoudre le problème.

Si vous faites cela, s'il vous plaît au moinsjetez un œil à Bitcoin-NG et réparer les arbres Merkle cassés.

En termes blockchainistes, je ne veux T de « on-chain » et de « off-chain ». Je veux des « sidechains » sur toute la chaîne. Je veux des systèmes conçus de A à Z pour soutenir ce modèle. Bitcoin n'est T évolutif. Décentralisons la blockchain !

Je veux des protocoles dont il est formellement prouvé qu’ils parviennent à un consensus correctement, et non des protocoles dont il est formellement prouvé qu’ils sont rompus.

Je souhaite que chaque transaction consomme moins d'électricité que ma consommation quotidienne. Beaucoup moins. Je souhaite que l'ensemble du système consomme beaucoup moins d'électricité que l'ensemble de l'Irlande.

Je veux plus de 3 transactions par seconde.

Je veux un consensus plus rapidement que toutes les 10 minutes. Dix secondes, c'est bien mieux.

Le les idées les plus intéressantes que je voisproviennent de personnes qui décrivent leurs protocoles comme ne nécessitant aucune blockchain.

Je crains que les médias n’accordent une attention excessive à des idées douteuses simplement parce qu’il y a beaucoup de « buzz autour de la blockchain ».

Je crains que le battage médiatique autour de la « blockchain » puisse conduire ceux qui attribuent les budgets de recherche à privilégier les solutions basées sur la blockchain par rapport à celles qui n’en utilisent pas.

Je crains que les institutions financières ne choisissent une solution basée sur la « blockchain » alors qu’une solution sans blockchain pourrait être, selon tous les critères quantitatifs, meilleure à tous égards, simplement parce qu’elles ont entendu à quel point la « blockchain » est importante.

Mais peut-être mes inquiétudes sont-elles exagérées et il ne s'agit-il que d'un argument sémantique colossal. Peut-être que la « Technologies blockchain » devient un terme générique et dénué de sens pour désigner des protocoles décentralisés.

Peut-il gérer des registres ? Bien sûr ! Des données ? Pourquoi pas ? Des calculs ? Des contrats intelligents, bébé !

Peut-être que les protocoles « post-blockchain » commenceront à se présenter comme « Technologies blockchain » juste pour rester pertinents.

Le terme « cyber » commence à me plaire, alors pourquoi pas « blockchain » ? Qui a besoin d'un métavers ? On se retrouve sur la blockchain.

Cet article a été initialement publié surTonyArcieri.comet a été republié ici avec la permission de l'auteur.

Vous pouvez Réseaux sociaux Tony Arcieri sur Gazouillement

Image de conformitévia Shutterstock

Remarque : Les opinions exprimées dans cette colonne sont celles de l'auteur et ne reflètent pas nécessairement celles de CoinDesk, Inc. ou de ses propriétaires et affiliés.

Tony Arcieri

Tony Arcieri est ingénieur logiciel et expert en cybersécurité au sein de l'équipe Sécurité des plateformes chez Square. Auparavant, il a développé le framework d'acteurs Celluloid pour Ruby et créé le langage de programmation Reia. Il s'intéresse également à la cryptographie depuis sa ville natale de San Francisco.

Picture of CoinDesk author Tony Arcieri