⛓Étrange comportement chez Chainlink | 📍Truebit, le layer 2 invisible | ⛽Frais de gas sur ETH.
Chainlink agit bizarrement
Le 24 septembre, sous un post concernant le protocole CCIP de Chainlink, un utilisateur de X (@StefanPatatu), a posté un tweet qui a éveillé mon instinct de suspicion :
Ce qui est dit ici, c’est que le wallet Multisig du projet Chainlink, est un portefeuille à multiple signatures avec un seuil de 4 signatures sur 9.
Il faut comprendre ici, comme le dit ce tweet de @ChrisBlec, que ce wallet à une fonction très importante :
Avec ce wallet si 4 des détenteurs de clés décident de s’allier, ils peuvent modifier n’importe quel flux de prix, donc donner le prix qu’ils veulent à n’importe quel smart-contract.
C’est effectivement effrayant. Ce qui est le plus effrayant, c’est de voir que la team de Chainlink n’a absolument rien communiqué. Que ce soit pour enlever l’adresse : 0xCDf00F2194F166851E51ab45D1BeD160FAB02B5A du multisig :
Ou alors pour en rajouter une comme le dit Chris Blec ici :
Ce qui se confirme on-chain avec cette transaction “addOwner“ :
D’après @StefanPatatu encore, en recherchant sur X, l’adresse qui a été enlevée, aucune publication de la part de Chainlink :
Les réponses de certains membres important de Chainlink ont été très évasives pour le moment, aucun réel détail n’a été transmis à part dire que c’est une rotation très classique des signataires du multisig :
Certains membres de la communauté n’acceptent pas du tout le fait qu’un projet aussi important, soit aussi flou lorsqu’on lui demande des explications concernant un sujet aussi important :
On peut légitimement se poser des questions sur la facilité avec laquelle le multisig peut-être modifié par seulement 4 détenteurs de clé.
Et encore, qu’est-ce qui nous garanti qu’ils sont 4 ? Ou que ces 4 n’ont aucun intérêt à joindre leur force.
L’idée ici, ce n’est pas de descendre Chainlink, mais comme d’habitude, de mettre sur la table les problèmes de transparence de notre industrie.
Et lorsque ces problèmes de transparences touchent des sujets aussi sensibles que le wallet multisig qui contrôle les flux de prix de l'Oracle le plus important du secteur, c’est tout simplement alarmant. Et il nous faut nous questionner sur le fond de cette histoire et la suivre, car ça peut complétement modifier la thèse d’investissement concernant le projet.
Non seulement, cela pourrait mettre à mal la réputation de l'entièreté de la finance (pseudo) décentralisée, mais aussi celle du projet. Évidemment, ça serrait dommage de profiter de cette situation de pouvoir et tout démolir.
Ceci dit, qu’ils puissent virer ou ajouter, à leur guise, sans aucune communication, des propriétaires du multisig, c’est un énorme point de risque.
J’insiste sur le mot “énorme“ ici.
Impossible pour moi de ne pas parler de cette histoire. Vous devez comprendre que je ne suis ni perma-bull ou perma-bear. Mon but, c’est d’être le plus objectif possible sur ce marché, sur ses tenants et aboutissants, et modifier mes thèses d’investissement en fonction des données que je récolte.
Si vous êtes ici, à me lire depuis tout ce temps, vous méritez aussi d’être au courant et de pouvoir réagir quand un événement comme celui-ci se produit sous nos yeux. Quand je vois un risque aussi important pointer le bout de son nez, c’est mon devoir de venir vers vous et vous le communiquer.
J’aimerais (comme nous tous, j’imagine), que ce marché soit propre, sans bavures et que tout se passe pour le mieux, éthiquement. Sauf que c’est plus qu’une utopie à ce niveau-là. Notre arme la plus importante pour nous en sortir, c’est de garder la tête froide et réagir correctement aux événements importants qui surviennent sur notre chemin dans le “Paysage Cryptomonétaire Mondial”. Et en voilà justement un.
Varier les Oracles va devenir un défi très important pour la suite de notre industrie. Non pas que Chainlink soit définitivement plus digne de confiance, mais dans l’état actuel des choses, je ne suis pas satisfait des réponses de l’équipe du projet. Tant que ce point d’ombre ne sera pas correctement éclairci, je vais chercher d’autres alternatives à Chainlink et je pense que tout le marché devrait en faire autant.
Avoir une diversité des Oracles, c’est aussi un facteur qui rend l’ensemble de ce nouveau monde financier plus anti-fragile.
Truebit, un Layer 2 unique en son genre
Cette semaine, je vais vous parler d’un projet qui est clairement sous les radars.
J’ai entendu que très peu de personne en parler. C’est un peu normal, leur communication n’est clairement pas bruyante. Pourtant, le usecase est évident et ça me paraissant intéressant de vous en parler.
Le projet s’appelle Truebit :
https://truebit.io/
Plaçons un petit peu de contexte.
Sur ETH, il y a les smart contracts, et un langage de programmation, le Solidity.
Ce langage est Turing-complet.
Qu’est-ce que c’est que ce mot des enfers ?
Un programme qui est codé avec un langage turing-complet, en théorie, s’il reçoit le temps et les ressources suffisantes, il peut calculer absolument toutes les opérations mathématiques possibles et imaginables.
C’est ça qui permet aux smart-contracts sur Ethereum d’être aussi diversifiés et de pouvoir créer autant d’applications différentes.
En regardant bien, on ne peut attribuer aucun “cas d’utilisation” précis à Ethereum et ses smart-contracts. Il y a eu :
Le début des plateformes de crowdfunding et la folie des ICO
Les NFTs
La DeFi
Les tokens de gouvernance moisis.
On voit de plus en plus de DAO intéressantes aussi
L’identité décentralisée va être un gros narratif.
En fait, Ethereum évolue en permanence. Et la meilleure manière de lui attribuer un cas d’utilisation, c’est juste de regarder en ce moment ce qui est le plus utilisé sur la plateforme, c’est-à-dire, ce qui consomme le plus de gas.
Vitalik a ciblé quelques cas d’utilisation sur lesquels il allait personnellement être plus attentif. Mais ça n’empêche rien, Ethereum est un électron libre et les cas d’utilisation plus complexes vont arriver au fur et à mesure de l’adoption.
Sauf que c’est là qu’on arrive à une des limites d’Ethereum.
Comme je le disais avant, on peut coder à peu près, ce que l’on veut avec Solidity. Donc typiquement, un gars, s’il a envie, il peut lancer une ce qu’on appelle une ‘Boucle infinie’.
Une boucle infinie, c’est un programme qui ne s’arrête jamais. La condition d’arrêt a été volontairement oubliée, ou alors, elle est juste irréalisable.
Si par exemple, je demande à mon programme de s’arrêter quand 0=10.
Je peux continuer longtemps à essayer de remplir la condition, il n’y a aucun monde ou 0 sera égale à 10.
Et ça, ce fut un énorme problème au début de la vie d’ETH.
Plein de mecs se sont mis à spammer le réseau de contracts inutiles et qui demandait beaucoup de ressources pour rien.
Pour corriger ce problème, le système de Gas a été introduit.
Tiens, je me demande bien de quoi on va parler dans la leçon de la semaine ?
Le gas, ça permet de demander des frais pour chaque calcul qui doit être validé par le réseau. Ça permet de fixer une limite finie par bloc, au bout de laquelle, le calcul s'arrête automatiquement.
Avec le gas, les boucles infinies n’existent pas sur le réseau.
Avec cette limite, on empêche les attaques qui viendraient congestionner le réseau inutilement. Sauf qu’en même temps, on limite la complexité des applications qui peuvent être développées sur le réseau ETH.
Truebit vient justement résoudre ça avec une solution simple.
Certains contrats complexes demandent une quantité de gas excessive qui dépasse la limite maximale de gas par bloc imposée par le réseau.
Ce n’est pas parce qu’ils demandent beaucoup de gas qu’ils sont forcément créés pour flinguer le réseau.
En partant de ce principe, l’équipe de truebit, c'est dit :
“Et si on demandait à un réseau d’opérateurs récompensés pour, d’exécuter ces giga smart-contracts, mais en dehors de la chaîne. Puis de publier le résultat et la preuve que l’exécution a été faite correctement, dans les règles du consensus sur le réseau principal ? ”
En gros, Truebit, c’est le premier réseau de Layer 2 qui propose une Blockchain de L2 spécialisée dans le decentralized computing off-chain.
(exécution/calculs informatiques décentralisés). Le fait que ce soit off-chain, veut dire que ça pourrait en effet servir pour les dapps. Mais pas seulement.
Les modèles d’IA seront de plus en plus demandeurs en ressources. C’est un fait puisque la charge de responsabilité qui leur sera donnée va croître avec le temps. Avoir des réseaux qui répartissent le travail informatique nécessaire au calcul des résultats de ces supposés nouveaux modèles performants est donc vital.
Les réseaux distribués de cloud computing sont un nouveau secteur qui va nécessairement prendre de l’ampleur. Des projets que je vous ai déjà présentés rentrent dans ce narratif.
Bittensor dont je vous ai parlé dans cette newsletter :
Render, que je vous ai présenté dans cette vidéo :
Truebit est encore un autre acteur que très peu de personne connaissent dans ce secteur. L’équipe est proche de Vitalik et elle taff dans l’ombre depuis pas mal de temps. Le whitepaper date de 2017 et il est vraiment hyper intéressant, par contre, c’est dense : Whitepaper de Trubit
L’équipe est vraiment dans l’ombre, elle ne poste sur les réseaux que des informations nécessaires, rien de superflu, pas de shitpost. J’aime bien cette mentalité : “Pas le temps de shitpost, on a une vision à matérialiser“.
Pouvoir déplacer l’effort de calcul du réseau en dehors de la chaine a énormément de cas d’utilisation possibles.
Je ne les liste pas tous ici, allez faire un tour du côté de leur site :
Truebit :
Bon, le projet avait quelques points noirs, la communauté avait relevé que :
Le protocole allait avoir du mal à gérer une grande quantité de données
Il allait devoir trouver un réseau de participants pour exécuter ces tâches que le réseau ne peut pas encaisser.
Sauf que si le but est de faire tourner des smart contracts qui demande trop de ressources, forcément, il y aura beaucoup de données. Mais maintenant, on sait que Celestia et Eigen DA arrivent pour régler le problème de la gestion des données.
Et un autre projet qu’il faut que je vous présente, Eigen Layer autoriserait le projet à utiliser les validateurs déjà présents sur Ethereum.
Pas besoin de créer son propre réseau distribué d’acteurs.
Le projet va avoir tout ce dont il a besoin pour se développer, il n'y a plus qu’à regarder si vraiment le projet va trouver sa place sur le marché et être utilisé à terme.
Il faut juste aller étudier un peu plus en détails comment le token TRU viendrait se glisser là-dedans pour capturer de la valeur.
On va surveiller ça de près, bien évidemment.
Les frais gas sur ETH, comment ça marche ?
Le gas, probablement le plus gros cancer pour les utilisateurs sur le réseau ETH.
C’est une grosse barrière à l’entrée et à l’utilisation pour plein de petits portefeuilles.
Ceci dit, en vérité, le gas est absolument vital pour le réseau.
Déjà, on va rappeler les bases, Ethereum, c’est un réseau open-source qui permet à n'importe qui de créer et de faire tourner des programmes informatiques autonomes, appelés smart-contracts. C’est l’assemblement d’un ou plusieurs smart-contracts avec des logiques précises qui forment les Dapps.
Évidemment, cela a permis de développer des business modèles plus complexes grâce aux propriétés des registres distribués. Mais comme je le disais plus haut, avec la programmabilité infinie du Solidity, nous pouvons aussi créer des programmes coûteux ou bloquer le réseau avec des transactions ou des Smart-contrats hyper gourmands en ressources.
C'est là que le "gas" entre en jeu.
Le gas, c’est une unité de mesure du coût d’exécution d’un smart-contract.
Le gas va permettre de mesure ce que coûte, en termes de ressource informatique, la création, le calcul, la vérification et l’inclusion des transactions des utilisateurs dans l’espace de bloc du réseau.
Le gas est facturé en fraction d’ETH qu’on appelle le Gwei, et c’est ça qui permet de rémunérer le validateur qui lui va consommer des ressources :
Énergie
Bande passante
Temps
En facturant l’exécution, le validateur a une raison de procéder à la vérification et à l’exécution des transactions. Sinon il ne le ferait sûrement pas.
Plus la tâche est complexe et longue, donc coûteuse à exécuter, plus il faut payer de gas au validateur qui va s’en charger.
Si nous voulons rouler plus vite en voiture, il va falloir consommer plus d’essence. C’est le même principe.
Mais le gas est surtout utilisé pour une autre raison.
Rappelez-vous, quand je parlais de Truebit avant, on a rapidement vu qu’on pouvait faire des programmes qui “tournent à l’infini”. C’est un vrai problème, parce que l’état, le fameux “State” de l’Ethereum Virtual Machine, n’est pas encore optimisé.
Aujourd’hui, le State stock tout, des transactions qui viennent d’avoir lieu, à un vieux compte qui a été ouvert pendant la première semaine d’ETH, mais n’a jamais plus servi ensuite.
Le state est très lourd, plus lourd même que la Blockchain de Bitcoin, alors qu’Ethereum existe depuis clairement moins longtemps.
En même temps, c’est logique, ce ne sont pas que des transactions simples, les smart-contracts vont forcément être plus lourds et en plus, le State n’est jamais nettoyé.
Si je ne range pas ma chambre pendant 6 ans, je suis sûre que ça finit en mode décharge.
Mais là où je veux en venir, c’est qu’un programme qui tourne à l’infini, demande de plus en plus d’espace. Et s’il ne s’arrête pas, il finit par complétement submerger tout l’espace disponible sur l’Ethereum Virtual Machine. Et boom, c’est la coupure.
C’est ce qu’on appelle une attaque DDoS (Distributed Denial of Service). Le but est de spammer un réseau avec de la charge d’exécution inutile pour le congestionner jusqu’à l’arrêt total.
En facturant l’exécution, tout de suite, faire ce genre de boucles infinies risque de coûter méga cher à force. C’est dissuasif, mais pas suffisant.
Imaginons qu’un gars hyper pété de thunes, décide de casser le réseau, il s’en fiche de ce que ça va lui coûter, juste, il veut casser Ethereum.
Qu’on lui facture ou pas, ça ne change rien.
Pour détruire littéralement cette menace, l’équipe à penser à une limite.
Sur ETH, les blocs ont une taille limitée. Pas avec un espace de stockage limité en Mégabites, comme sur Bitcoin, mais avec une quantité de gas.
Le gas est une unité.
Par exemple :
Un transfert d’ETH d’un compte à un autre = 21000 unités de gas.
Une addition sur l’EVM = 3 unités de gas.
Une multiplication sur l’EVM = 5 unités de gas.
La limite de gas par Blocs, est d’environ 30 M d’unités en général et peut être augmentée si le réseau est très sollicité.
Grâce à cette limite, le risque de DDoS attaque est supprimé.
Imaginons que cette même personne, très riche, décide quand même de déployer un smart-contract qui tourne à l’infini. Chaque opération qu’il va faire va coûter du gas.
Le validateur qui doit exécuter le contrat va lancer le programme, et dès que le gas qu’il aura placé dans la transaction arrivera à la limite.
La transaction aura consommé tout le gas avant d’avoir fini son exécution, elle sera rangée dans la case “failed”. Le gas consommé sera retiré de son compte, en partie brûlé, en partit donné au validateur et lui, il aura payé cher pour pas-grand-chose.
Une dernière raison qui a poussé à la création du gas, c’est pour décorréler le prix du coût d’exécution sur le réseau de la volatilité du prix de l’ETH lui-même.
En gros, c’est comme la consommation électrique chez vous, elle est mesurée en kWh d’abord, et ensuite, on fixe un prix par kWh en argent FIAT.
Le gas mesure le coût de l’exécution des transactions sur le réseau en unités de gas et ensuite, on fixe un prix par unité de gas en ETH.
Mais pourquoi ça permet de le décorréler ?
Si 1 ETH vaut 1 $ et que les frais sont fixés à 0.1 ETH par transaction, pour un transfert, on payerait 10 centimes, c’est acceptable.
Par contre, si jamais, 1 ETH monte à 2000$, on va payer 200 balles alors qu’avant, on payait 10 centimes pour le même service ?
Perso, jamais j’accepte un deal aussi mauvais.
Heureusement pour vous et moi, le gas nous évite tout ça.
Après, c’est loin d’être parfait, et ça reste encore trop cher et assez complexe pour les nouveaux utilisateurs.
Un petit résumé, le gas, c’est :
Une mesure du coût de l’exécution des transactions sur le réseau
Un moyen de supprimer le risque de DDoS attaques
Une rémunération pour les Validateurs qui exécutent nos transactions
Une méthode pour décorréler le coût d’exécution des transactions et la volatilité du prix de l’ETH
Un indicateur hyper efficace pour surveiller quelle activité est la plus populaire sur le réseau. (Si les transactions de NFT consomment le plus de gas, alors le réseau est utilisé majoritairement pour ça)
C’est tout pour aujourd’hui, vous pouvez retourner vivre dans le monde réel.
Merci beaucoup pour la lecture.
N’hésitez pas à commenter tes opinions sur les sujets qu’on a vus, ou même faire des remarques pour qu’on améliore le contenu au fur et à mesure.
À mercredi prochain !
Yrile.
Vraiment excellent tes newsletters, comme d'habitude ! 💙