Moxie Marlinspike : Voici ce qui ne va pas avec Web3

Voir Cacher le sommaire

Dans un billet de blog publié le 7 janvier, Moxie Marlinspike, créateur et mainteneur de l’application de messagerie Signal, a exprimé ses inquiétudes concernant le Web3 et en particulier sa prétention à être une nouvelle alternative future et décentralisée aux mastodontes des plateformes du Web 2.0.

Marlinspike commence son billet en admettant que, bien qu’il se considère comme un cryptographe, il n’a pas été particulièrement attiré par la « crypto » [citations de Marlinspike] et qu’il n’a pas encore réussi à devenir un croyant.

« De plus, je ne partage pas l’enthousiasme de la même génération pour le passage de tous les aspects de la vie à une économie instrumentée », écrit M. Marlinspike.

Bien que sceptique, Moxie Marlinspike a décidé d’essayer Web3 en créant deux applications Web3 (dApps) appelées Autonomous Art, qui permet à quiconque de monnayer un jeton pour un NFT en y apportant une contribution visuelle, et First Derivative qui permet aux utilisateurs de créer, découvrir et échanger des dérivés de NFT qui suivent un NFT sous-jacent.

Les gens ne veulent pas gérer leurs propres serveurs.

Bien que Web3 soit un terme quelque peu ambigu, il devrait, selon Marlinspike, se résumer à donner à ses utilisateurs la « richesse » de Web2, mais de manière décentralisée. La principale raison pour laquelle le Web1 décentralisé à l’origine est devenu le Web2 centralisé est que « les gens ne veulent pas gérer leurs propres serveurs, et ne le feront jamais » et qu’ »un protocole évolue beaucoup plus lentement qu’une plate-forme ». Pour illustrer ce dernier point, Marlinspike cite le courrier électronique.

« Après plus de 30 ans, le courrier électronique n’est toujours pas crypté ; pendant ce temps, WhatsApp est passé du non crypté au full e2ee en un an », e2ee signifiant cryptage de bout en bout.

Une chose que Marlinspike trouve étrange dans « le monde des crypto-monnaies est le manque d’attention portée à l’interface client/serveur », et que « les blockchains sont conçues pour être un réseau de pairs, mais pas conçues de telle sorte qu’il est vraiment possible pour votre appareil mobile ou votre navigateur d’être l’un de ces pairs ». L’argument de Marlinspike est que, normalement, les portefeuilles ne se connectent pas directement à la blockchain, mais le font via des API fournies par les opérateurs de nœuds.

A lire  Prédiction du prix du bitcoin : Le BTC/USD tombe en dessous de 42 000 $.

Cependant, il s’agit d’un point d’étranglement centralisé car, dans la pratique, il n’existe que deux de ces fournisseurs d’API : Infura et Alchemy, et presque toutes les dApps utilisent l’un ou l’autre pour interagir avec la blockchain. La raison en est que ces API facilitent la vie des développeurs de dApps.

« En fait, même lorsque vous connectez un portefeuille comme MetaMask à un dApp, et que le dApp interagit avec la blockchain via votre portefeuille, MetaMask ne fait qu’appeler Infura », écrit Marlinspike, faisant écho à une critique maintes fois entendue dans l’histoire d’Ethereum.

« Cela m’a surpris. Tant de travail, d’énergie et de temps ont été consacrés à la création d’un mécanisme de consensus distribué sans confiance, mais pratiquement tous les clients qui souhaitent y accéder le font en faisant simplement confiance aux résultats de ces deux sociétés sans autre vérification », écrit Marlinspike.

Les NFT sont centralisés dans l’API OpenSea

Pour Moxie Marlinspike, la situation est encore pire avec NFT, en partie à cause de la façon dont la norme NFT (EIP-721) est conçue, et en partie à cause du pouvoir centralisateur de la place de marché OpenSea et de son API.

Au lieu de stocker les données sur la chaîne, dans la plupart des cas, les NFT contiennent un pointeur vers les données. Selon l’endroit où ces données sont stockées, toute personne ayant accès à ce système de stockage peut modifier les données, qu’elle possède ou non le jeton réel.

De plus, avec les mots de Marlinspike, il n’y a rien dans la spécification NFT qui indique au propriétaire ce que les données, comme une image, devraient être, ou même qui permette au propriétaire de confirmer si quelque chose est la bonne donnée.

Il s’agit d’une différence par rapport au malentendu qui entoure le mème du clic droit sur l’enregistrement, où certaines personnes semblent penser que le NFT est l’image réelle, alors qu’en fait le NFT est une sorte de certificat, prouvant l’authenticité et la propriété de cette image. Mais rien dans la NFT ne dit ce que doivent être ces données ; rien ne dit si une NFT est pour un Bored Ape Yacht Club ou un Pudgy Penguin.

A lire  Elrond acquiert le fournisseur de services de paiement Utrust dans le but de mettre les crypto-monnaies à la portée de millions de commerçants

Il n’y a qu’un pointeur vers des données hors-chaîne ; si quelqu’un réussit à modifier ce vers quoi pointe ce pointeur, il pointera vers autre chose. L’exception à cette règle est le stockage des données sur la chaîne par les NFT, comme le font les CryptoPunks, mais ce n’est économiquement faisable que pour de petites quantités de données.

« Ce que vous offrez n’est pas ce que vous obtenez ».

Marlinspike illustre ce problème en créant un NFT expérimental dont l’apparence diffère selon la personne qui regarde l’image associée, en faisant en sorte que le serveur web serve des images différentes en fonction de l’IP ou de l’agent utilisateur du demandeur. Ainsi, le même NFT présente trois images différentes selon qu’il est consulté par OpenSea, Rarible ou un portefeuille.

« Ce que vous offrez n’est pas ce que vous obtenez. Il n’y a rien d’inhabituel dans ce NFT, c’est la façon dont les spécifications du NFT sont construites », écrit Marlinspike.

Après quelques jours, sans avertissement ni explication, selon Marlinspike, son NFT a été retiré d’OpenSea, probablement parce qu’il violait certaines conditions de service. En retirant le NFT de la place de marché, et donc en le retirant de son API, OpenSea a rendu impossible pour la plupart des portefeuilles d’afficher le NFT, même s’il est toujours présent sur la blockchain. En effet, les portefeuilles comme MetaMask utilisent des API, comme celle d’OpenSea dans le cas des NFT, pour accéder aux données de la blockchain et les afficher.

« MetaMask doit interagir avec la blockchain, mais la blockchain a été construite de telle sorte que les clients comme MetaMask ne peuvent pas interagir avec elle. Donc, comme mon dApp, MetaMask accomplit cela en faisant des appels API à trois sociétés qui se sont consolidées dans cet espace », écrit Marlinspike.

« Tout cela signifie que si votre NFT est supprimé d’OpenSea, il disparaît également de votre portefeuille. Il importe peu, d’un point de vue fonctionnel, que mon NFT soit indélébile sur la blockchain quelque part, parce que le portefeuille, et de plus en plus tout le reste de l’écosystème, utilise simplement l’API d’OpenSea pour afficher les NFT, qui a commencé à renvoyer « 304 No Content » pour la requête des NFT détenus par mon adresse. »

A lire  La Chine prépare son infrastructure pour les NFT soutenus par l'État

L’espace se consolide autour des plateformes. Encore une fois.

Dans l’esprit de Moxie Marlinspike, l’espace blockchain est, pour les mêmes raisons que Web1, en train de se consolider autour de plateformes centralisées afin de rendre les technologies blockchain utilisables par un public plus large. Encore une fois parce que ni les gens ni les organisations ne veulent faire tourner des serveurs.

« Compte tenu de cette dynamique, je ne pense pas qu’il faille s’étonner que nous soyons déjà arrivés à un point où la vue de votre portefeuille de crypto-monnaies sur vos NFT est la vue d’OpenSea sur vos NFT. Je ne pense pas que nous devrions être surpris qu’OpenSea ne soit pas une « vue » pure qui peut être remplacée, puisqu’il a été occupé à itérer la plate-forme au-delà de ce qui est possible strictement avec les normes impossibles ou difficiles à changer. Il ne s’agit pas d’une plainte contre OpenSea ou d’une condamnation de ce qu’ils ont construit. Au contraire, ils essaient de construire quelque chose qui fonctionne », écrit Marlinspike.

Si l’industrie de la blockchain veut changer la relation des gens à la technologie, M. Marlinspike pense que l’industrie doit le faire intentionnellement en acceptant le principe que les gens ne géreront pas leurs propres serveurs, et en concevant des systèmes qui peuvent distribuer la confiance sans avoir à distribuer l’infrastructure.

Deuxièmement, M. Marlinspike pense que l’industrie de la blockchain devrait essayer de réduire la charge liée à la création de logiciels.

« Je pense que pour changer notre relation à la technologie, il faudra probablement rendre les logiciels plus faciles à créer, mais au cours de ma vie, j’ai vu le contraire se produire. Malheureusement, je pense que les systèmes distribués ont tendance à exacerber cette tendance en rendant les choses plus compliquées et plus difficiles, et non pas moins compliquées et moins difficiles », écrit Marlinspike.