Vers le déblocage d'une nouvelle classe d'applications. Non pas l'ordinateur dont nous avons besoin, mais l'ordinateur que nous méritons.
Les applications décentralisées sont limitées dans l'exécution de calculs complexes sur la chaîne en raison des capacités de traitement restreintes d'Ethereum. En conséquence, nous avons vu de nombreux protocoles DeFi déplacer des composants tels que les carnets d'ordres et les systèmes de risque hors de la chaîne. Il est donc nécessaire de disposer d'environnements informatiques personnalisés, adaptés à des tâches spécifiques.
Nous avons assisté à une évolution lente mais progressive de nombreuses applications defi déployées sur la chaîne et gérant des parties de leur système hors chaîne. Le Dydx V4 va conserver son carnet d'ordres hors chaîne et peut-être aussi son système de marge. Blur maintient certaines parties de son échange hors chaîne pour une interface utilisateur fluide. Aevo, une bourse d'options, conserve son carnet d'ordres et son moteur de risque en dehors de la chaîne. La raison la plus simple est la difficulté de maintenir ces systèmes centrés sur la performance dans la chaîne de manière efficace et évolutive.
La migration des composants hors chaîne met en évidence un besoin plus large : des environnements informatiques personnalisés (et performants) adaptés à des tâches spécifiques. Mais ce n'est pas tout. Dans ce régime, le statu quo fonctionne bien. Lorsqu'un protocole utilise un système hors chaîne, vous, l'utilisateur, n'êtes pas en mesure de savoir si le système hors chaîne fonctionne comme il l'a annoncé. Le calcul vérifiable supprime les hypothèses de confiance, ce qui permet aux protocoles d'effectuer des calculs hors chaîne sans introduire de facteurs de confiance. C'est la promesse des coprocesseurs pour Ethereum. Avant d'aborder le modèle de coprocesseur dans Ethereum, rappelons brièvement d'où vient cette idée.
Le concept de coprocesseur a vu le jour dans l'architecture des ordinateurs comme technique d'amélioration des performances. Les ordinateurs traditionnels s'appuient sur une seule unité centrale de traitement (CPU) pour effectuer tous les calculs. Cependant, l'unité centrale a été surchargée au fur et à mesure que les charges de travail devenaient plus complexes.
Les coprocesseurs, processeurs spécialisés dédiés à des tâches particulières, ont été introduits pour aider. Par exemple, les unités de traitement graphique (GPU) gèrent les immenses calculs parallèles nécessaires au rendu 3D. Cela permet à l'unité centrale de se concentrer sur le traitement général. Parmi les autres coprocesseurs courants, citons les accélérateurs cryptographiques pour le cryptage/décryptage, les processeurs de signaux pour le multimédia et les coprocesseurs mathématiques pour les calculs scientifiques. Chaque coprocesseur est doté d'une architecture rationalisée qui lui permet d'exécuter efficacement sa charge de travail spécifique. (Bien que l'on puisse dire que la plupart de ces éléments ont été remplacés par la programmation parallèle, à l'instar des GPU).
Cette division du travail entre l'unité centrale et les coprocesseurs a permis d'améliorer les performances de plusieurs ordres de grandeur. Le modèle du coprocesseur a permis aux ordinateurs de prendre en charge des charges de travail de plus en plus sophistiquées qui n'étaient pas réalisables avec un seul processeur généraliste.
Ethereum peut également être considéré comme une VM CPU généraliste et n'est pas équipé pour effectuer des calculs lourds simplement en raison des coûts de blocage qu'il faudrait payer pour qu'il fonctionne sur la chaîne, ce qui a limité le déploiement d'une variété de protocoles, obligeant même les concepteurs à proposer quelque chose de nouveau dans le cadre des contraintes de l'EVM. En d'autres termes, les coûts sont trop restrictifs pour les applications complexes. Cela a également conduit divers protocoles à conserver des parties de leur protocole en dehors de la chaîne, et chaque modèle hors chaîne ainsi déployé a apporté avec lui une certaine notion de risque. Vous faites confiance au protocole pour qu'il ne soit pas malveillant, ce qui va à l'encontre de l'éthique des applications décentralisées.
Dans cet article, j'essaie d'examiner quelques-unes de ces solutions et de donner un aperçu du type d'applications qui pourraient être débloquées grâce à cette infrastructure. J'essaierai également de trouver d'autres moyens de décharger les calculs, ce qui deviendra certainement une pierre angulaire des applications dans l'espace cryptographique.
Les coprocesseurs tels que ceux proposés par Axiom et RiscZero ont récemment ouvert une nouvelle dimension d'applications possibles sur la chaîne en permettant aux contrats intelligents de se décharger de calculs lourds. Les systèmes offrent la preuve que le code a été exécuté d'une manière que tout le monde peut vérifier.
Bonsai et Axiom sont des solutions similaires en ce sens qu'elles permettent à un calcul arbitraire ayant accès à l'état de la chaîne d'être exécuté hors chaîne et de fournir des "reçus" attestant que le calcul a été effectué.
Axiom permet aux contrats intelligents Ethereum d'accéder à davantage de données historiques sur la chaîne et d'effectuer des calculs complexes tout en maintenant la décentralisation et la sécurité du réseau. Actuellement, les contrats n'ont accès qu'à des données très limitées du bloc actuel, ce qui restreint les types d'applications qui peuvent être créées. Dans le même temps, permettre aux contrats d'accéder à l'intégralité des données d'archives historiques nécessiterait que tous les nœuds du réseau stockent l'intégralité des archives, ce qui est irréalisable en raison des coûts de stockage et aurait un impact négatif sur la décentralisation.
Pour résoudre ce problème, Axiom développe un système de "coprocesseur ZK". Il permet aux contrats d'interroger les données historiques de la blockchain et d'effectuer des calculs hors chaîne via le réseau Axiom. Les nœuds Axiom accèdent aux données demandées sur la chaîne et effectuent le calcul spécifié. La clé consiste à générer une preuve à connaissance nulle que le résultat a été calculé correctement à partir de données valides de la chaîne. Cette preuve est vérifiée sur la chaîne, ce qui garantit que les contrats peuvent se fier au résultat.
Cette approche permet aux contrats d'accéder à beaucoup plus de données de l'historique de la chaîne et d'effectuer des calculs complexes sur ces données sans surcharger les nœuds de la couche de base. Axiom pense que cela permettra de nouvelles catégories d'applications qui reposent sur une analyse objective et prouvable de l'activité historique de la blockchain. Ils ont déjà lancé la fonctionnalité mainnet pour la lecture des données de base et prévoient d'étendre l'accès aux données d'archives complètes et la vérification ZK des fonctions de visualisation des contrats dans un avenir proche. Leur vision à plus long terme est de réaliser des calculs ZK encore plus avancés, au-delà des capacités de l'EVM.
En générant des preuves d'exécution correcte hors chaîne, Axiom débloque de nouvelles catégories d'applications blockchain.
Risc Zero a développé une machine virtuelle polyvalente à connaissance nulle (zkVM) qui permet de prouver des programmes arbitraires écrits dans des langages tels que Rust, C/C++ et Go en connaissance nulle.
La zkVM permet aux développeurs de prouver un code Rust arbitraire en zéro connaissance sans avoir besoin de concevoir des circuits personnalisés. L'objectif est de rendre plus accessible le développement d'applications sans connaissances. La zkVM génère un justificatif qui atteste que le programme a été exécuté correctement sans révéler les entrées ou la logique privées. Cela permet d'effectuer des calculs intensifs en dehors de la chaîne, les justificatifs validant l'exécution correcte sur la chaîne. Les crates Rust fonctionnent dans cette zkVM, mais il y a quelques limitations concernant les appels système. Une fonction appelée "continuations" permet de diviser les calculs importants en segments qui peuvent être prouvés indépendamment les uns des autres. Cela permet de faire des preuves en parallèle, ce qui supprime les limites de la taille des calculs, et permet de mettre en pause ou de reprendre les programmes zkVM. Les continuations ont permis de nouveaux cas d'utilisation tels que le chiffrement entièrement homomorphe, EVM et WASM dans le zkVM.
Bonsai est un service de preuve de zéro connaissance hors chaîne développé par Risc Zero pour permettre l'utilisation de leur zkVM à usage général pour les applications Ethereum et blockchain. Il fournit un pont entre les contrats intelligents sur la chaîne et les calculs hors chaîne dans zkVM.
Le flux de travail permis par Bonsai est le suivant :
Le développeur rédige un contrat intelligent qui fait appel au contrat relais de Bonsai pour demander un calcul hors chaîne.
Bonsai surveille ces demandes sur la chaîne et exécute le programme zkVM correspondant écrit en Rust
Le programme zkVM s'exécute dans l'infrastructure de Bonsai, effectue le calcul intensif ou privé hors chaîne, puis génère la preuve qu'il a été exécuté correctement.
Les résultats de la preuve, appelés "reçus", sont renvoyés sur la chaîne par Bonsai via le contrat de relais.
Le contrat intelligent du développeur reçoit les résultats dans une fonction de rappel
Cela permet à la logique à forte intensité de calcul ou sensible de se dérouler hors chaîne tout en validant l'exécution correcte par des preuves zk sur la chaîne. Le contrat intelligent n'a besoin que de gérer la demande de calculs et la consommation des résultats.
Bonsai fait abstraction de la complexité de la compilation du code Rust en bytecode zkVM, du téléchargement des programmes, de l'exécution dans la VM et du retour des preuves. Les développeurs peuvent se concentrer sur l'écriture de la logique de leur programme. Cette infrastructure permet donc d'exécuter des calculs à usage général en dehors de la chaîne tout en préservant la confidentialité des données et de la logique sensibles.
Bonsai permet aux développeurs de créer des applications blockchain avec un calcul hors chaîne de manière directe, sans avoir besoin d'expertise dans la cryptographie et l'infrastructure zkVM sous-jacente. En d'autres termes, Bonsai permet aux développeurs d'intégrer facilement des calculs hors chaîne sans avoir besoin d'expertise.
Unoprocesseur ZK est-il le seul moyen de réaliser un calcul hors chaîne vérifiable ? Quelles sont les autres applications permettant de décharger les calculs d'une manière sûre et sans confiance ? Bien que les avis sur les propriétés de sécurité, l'efficacité et la mise en œuvre divergent, ces technologies sont étudiées dans divers domaines de la cryptographie et vont progressivement s'imposer.
Des alternatives telles que MPC et TEEs offrent d'autres approches pour un calcul vérifiable en dehors de la chaîne. Le MPC permet le calcul conjoint de données sensibles, tandis que les TEE offrent des enclaves sécurisées basées sur le matériel. Les deux présentent des inconvénients mais peuvent constituer des alternatives pour les processeurs ZK.
Le calcul multipartite sécurisé (MPC) permet à plusieurs parties de calculer conjointement une fonction sur leurs entrées tout en gardant ces entrées privées. Il permet de collaborer sur des données sensibles, tout en préservant la vie privée de tous les participants. Toutefois, il est impossible de parvenir à l'équité dans le cadre de la CPM, où soit toutes les parties connaissent le résultat, soit aucune ne le connaît, si la plupart des parties sont malhonnêtes. En d'autres termes, les garanties de confidentialité et d'intégrité disparaissent lorsque tous les nœuds sont corrompus. La technologie blockchain peut contribuer à rendre les protocoles de PPM plus équitables.
Imaginez trois amis qui souhaitent connaître la moyenne de leurs salaires sans se les révéler. Pour ce faire, ils pourraient utiliser Secure MPC.
Supposons que les amis sont Alice, Bob et Eve :
Alice prend son salaire, y ajoute un nombre aléatoire et communique le résultat à Bob.
Bob ajoute son salaire et un autre nombre aléatoire au nombre qu'il a reçu d'Alice, puis communique le résultat à Eve.
Eve ajoute son salaire au nombre de Bob, puis soustrait tous les nombres aléatoires ajoutés précédemment et divise le résultat par trois pour obtenir la moyenne.
Le chiffre final est la moyenne de leurs salaires ; personne n'a appris quoi que ce soit sur les salaires des autres. Une nuance à apporter ici est que, bien que personne ne connaisse le salaire exact des autres, si la moyenne est inférieure au salaire d'Eve, celle-ci peut en déduire que le salaire de l'un des deux autres est inférieur au sien.
La blockchain fournit un registre public inviolable qui permet aux parties de publier des informations. En utilisant le cryptage des témoins, les parties peuvent crypter la sortie d'un protocole MPC inéquitable. Ils affichent des jetons dans le grand livre qui permettent d'extraire une clé de décryptage. Le grand livre étant public, toutes les parties peuvent accéder à la clé de décryptage en même temps. Cela permet de mettre en place un protocole de décryptage équitable dans lequel soit toutes les parties décryptent le résultat, soit aucune ne le fait.
Dans "MPC as a Blockchain Confidentiality layer", Andrew Miller explique comment MPC pourrait faciliter les calculs sur des données privées. Le MPC contrôlable publiquement utilise des preuves à connaissance nulle pour conserver l'intégrité malgré la corruption totale des nœuds. Les clients engageraient des intrants pour en prouver la validité. Les nœuds MPC génèrent des preuves de calcul correct. En fin de compte, les vérificateurs s'assureront que les entrées, les sorties et les preuves correspondent. Cet audit n'entraîne que des frais généraux minimes par rapport aux coûts standard des PPM. Les preuves sont succinctes et utilisent les SNARKs avec une configuration universelle. Toutefois, des questions subsistent quant à l'optimisation des performances, aux modèles de programmation et au déploiement dans le monde réel.
Les données sensibles telles que les informations personnelles, les données financières, etc., doivent être protégées lorsqu'elles sont stockées ou en transit et lorsqu'elles sont utilisées et calculées. Les méthodes de cryptage traditionnelles protègent les données au repos et en transit, mais pas lorsqu'elles sont activement utilisées. C'est un problème car lorsque les données sont traitées, elles le sont souvent sous une forme non cryptée, ce qui les rend vulnérables aux attaques.
Les environnements d'exécution de confiance (ou enclaves sécurisées) sont des environnements isolés où les données peuvent être cryptées, mais où les calculs peuvent toujours être effectués. L'idée principale est d'isoler les données et les calculs afin que même les processus privilégiés du système ne puissent pas y accéder. Les environnements d'exécution de confiance (TEE) sont des zones sécurisées à l'intérieur d'un processeur qui fournissent des fonctions de sécurité matérielles pour protéger les données et le code sensibles. Ils isolent un logiciel spécifique du reste du système, ce qui garantit que les données contenues dans le TEE ne peuvent pas être altérées, même par le système d'exploitation ou d'autres logiciels fonctionnant sur l'appareil.
Les TEE permettent de protéger les données sensibles même lorsqu'elles sont utilisées. Cela permet des applications telles que les réseaux sociaux préservant la vie privée, les services financiers, les soins de santé, etc. Il existe certaines limites concernant l'efficacité et les hypothèses de confiance, mais les enclaves sont une technologie puissante avec de nombreuses utilisations potentielles, en particulier lorsqu'elles sont combinées avec des réseaux de blockchain pour construire des systèmes robustes et non censurables. Les compromis en matière de confiance peuvent être acceptables pour de nombreuses applications commerciales et non lucratives nécessitant une grande confidentialité des données.
Les environnements d'exécution de confiance (TEE) vous permettent d'externaliser des calculs auprès d'un fournisseur de services en nuage tiers non fiable, tout en préservant la confidentialité de vos données et l'inviolabilité de vos opérations. Cela est extrêmement utile pour les applications décentralisées et les organisations qui veulent profiter de la commodité et des économies du nuage sans sacrifier la confidentialité ou le contrôle. Mais les TEE ne résolvent pas tous les problèmes comme par magie - il reste encore quelques défis pratiques à relever avant que la plupart des développeurs puissent les utiliser facilement.
Ils constituent un élément de base puissant, mais il faut encore mener des recherches approfondies sur les systèmes pour remédier à leurs limites concernant celles mentionnées ci-dessus et la centralisation des vendeurs, la mise à l'échelle et la tolérance aux pannes.
Les environnements d'exécution de confiance (TEE) tels que Intel SGX et AWS Nitro Enclaves fournissent des environnements isolés pour l'exécution de calculs sensibles et le stockage de données confidentielles. Les TEE garantissent que même les processus système privilégiés ne peuvent pas accéder au code et aux données à l'intérieur du TEE ou les altérer. Cela permet aux applications et aux organisations décentralisées d'externaliser les calculs vers des hébergeurs tiers non fiables sans se soucier de la confidentialité ou de l'intégrité.
La résolution de ces problèmes élargira considérablement l'applicabilité des TEE pour les applications décentralisées nécessitant une forte intégrité, confidentialité et résistance à la censure tout en externalisant le calcul et le stockage vers des nuages non fiables. Les TEE sont un outil puissant, mais une co-conception réfléchie du système reste nécessaire pour remédier à leurs limites.
Lors de l'évaluation des coprocesseurs, il est important de prendre en compte le modèle de sécurité et le niveau d'assurance requis pour les différents types de calculs. Certains calculs sensibles, comme l'appariement des ordres, nécessitent une sécurité maximale et des hypothèses de confiance minimales. Pour ces derniers, les coprocesseurs utilisant des preuves à connaissance nulle, tels que les coprocesseurs zk, fournissent des garanties solides, car les résultats peuvent être vérifiés sans faire confiance à l'opérateur.
Cependant, les zk-coprocesseurs peuvent présenter des inconvénients en termes d'efficacité et de flexibilité. D'autres approches, comme le MPC ou le matériel de confiance, peuvent constituer des compromis acceptables pour des calculs moins sensibles, comme l'analyse ou la modélisation des risques. Tout en offrant des garanties plus faibles, ils permettent d'effectuer un plus grand nombre de calculs de manière plus efficace. Le niveau de sécurité requis dépend de la tolérance au risque des applications. Les équipes doivent analyser la valeur en jeu et évaluer si des coprocesseurs non vérifiés mais efficaces constituent un compromis technique raisonnable pour certains calculs non critiques.
Dans l'ensemble, les coprocesseurs couvrent un spectre de modèles de sécurité, et les équipes doivent adapter les solutions aux exigences de sécurité des tâches spécifiques. L'écosystème est encore naissant, de sorte que de nouvelles avancées dans le domaine de l'informatique vérifiable et évolutive élargiront les possibilités.
Dans le blog "Feedback Control as a new primitive for Defi", les auteurs mentionnent que les mécanismes de contrôle pour les mécanismes Defi pourraient évoluer lentement d'un bout à l'autre, en utilisant l'apprentissage par renforcement (RL) et DRL au fur et à mesure que le calcul et le stockage deviennent abondants. Alors que le RL pourrait encore être difficile, les applications d'apprentissage automatique pourraient encore être possibles grâce à des calculs vérifiables.
L'année dernière, les protocoles de prêt ont fait l'objet d'un examen minutieux en raison de la possibilité de créances irrécouvrables dues à des paramètres agressifs pour le jeton prêté dans un marché baissier par ailleurs dépourvu de liquidités. Les modèles qui peuvent accéder à la liquidité de la chaîne et créer un profil de liquidité pour les actifs pourraient éventuellement modifier dynamiquement les paramètres.
Par exemple, les protocoles de prêt pourraient bénéficier d'un contrôle dynamique des taux d'intérêt basé sur des données en temps réel de la chaîne. Plutôt que de s'appuyer sur des modèles de taux d'intérêt prédéfinis, un système de contrôle à rétroaction pourrait ajuster les taux de manière algorithmique en fonction de l'utilisation actuelle et des facteurs de liquidité.
Par exemple, lorsque la demande d'emprunt d'un actif est élevée, poussant les taux d'utilisation à la hausse, le contrôleur pourrait augmenter rapidement les taux d'intérêt afin d'encourager l'offre et de stabiliser l'utilisation. Inversement, lorsque l'utilisation est faible, les taux pourraient être réduits pour encourager l'emprunt. Les paramètres du contrôleur peuvent être réglés pour optimiser des objectifs tels que la maximisation des revenus du protocole ou la minimisation de la volatilité.
Pour ce faire, le protocole devrait avoir accès à des données en temps réel sur la chaîne, telles que le montant total des emprunts, les liquidités disponibles et d'autres paramètres d'utilisation. La logique du contrôleur traite ensuite ces données pour calculer les ajustements optimaux du taux d'intérêt. Les mises à jour de taux pourraient être régies sur la chaîne par une DAO ou en dehors de la chaîne avec une vérification de la preuve.
Pour ce faire, le protocole devrait avoir accès à des données en temps réel sur la chaîne, telles que le montant total des emprunts, les liquidités disponibles et d'autres paramètres d'utilisation. La logique du contrôleur traite ensuite ces données pour calculer les ajustements optimaux du taux d'intérêt. Les mises à jour de taux pourraient être régies sur la chaîne par une DAO ou en dehors de la chaîne avec une vérification de la preuve. Bien qu'un travail récent, "Attacks on Dynamic Defi Interest rate curves" par Chitra et al. ait montré que les modèles de prêt dynamiques donnent lieu à plus de VME. La conception de ces protocoles doit donc faire l'objet d'une attention particulière.
L'abondance de l'accès aux données de la blockchain nous amène à la conclusion naturelle d'utiliser les applications d'apprentissage automatique de cette manière. Bien qu'il soit un peu plus difficile de prouver le calcul pour les applications d'apprentissage automatique, le calcul automatique vérifiable est un marché énorme en soi. Ils pourraient également être utilisés pour des applications sur la chaîne, en particulier dans certaines applications de sécurité.
Les données de la blockchain contiennent des signaux précieux que les modèles d'apprentissage automatique pourraient utiliser pour détecter les activités suspectes ou alimenter les systèmes de gestion des risques. Cependant, l'exécution de ML sur la chaîne est actuellement irréalisable en raison des coûts du gaz et des préoccupations en matière de protection de la vie privée. Cela pourrait ressembler à des systèmes de surveillance sur la chaîne pour les contrats intelligents, les portefeuilles ou les gestionnaires de portefeuille pour détecter les retraits ou les transferts suspects. Il existe une grande quantité de données de profilage disponibles pour différents types de signaux à obtenir dans le cas de la sécurité, il s'agirait de "Ruggers", de "Hacks" et d'autres attaques malveillantes. Il peut également être utilisé pour définir des applications de solvabilité et de profilage des risques pour les prêteurs et les emprunteurs en fonction de leur historique onchain.
Les défis à relever comprennent la qualité des données, la dérive des concepts et les limites de performance des systèmes de preuve. Mais en combinant la ML avec un calcul vérifiable hors chaîne, les coprocesseurs ouvrent de nombreuses nouvelles opportunités pour l'analyse de la blockchain et la gestion des risques.
Les systèmes de marge pour les swaps perpétuels ont toujours été cachés aux utilisateurs dans les échanges centralisés et même décentralisés. Les systèmes de marge pour les produits dérivés tels que les swaps perpétuels et les options sont traditionnellement des boîtes noires opaques contrôlées par des bourses centralisées.
Les coprocesseurs offrent la possibilité de mettre en œuvre une logique de marge transparente et vérifiable pour le commerce décentralisé. La promesse de mettre en œuvre des systèmes d'auto-effacement de manière vérifiée offre un facteur de confiance plus élevé pour les utilisateurs et les différencie immédiatement de leurs homologues centralisés.
Le système de marge pourrait surveiller les flux de prix indexés et les valeurs de position pour les swaps perpétuels, en liquidant les positions avant que leur solde de marge ne devienne négatif. Tous les paramètres de risque, tels que les ratios de marge de maintien, les taux de financement et les pénalités de liquidation, pourraient être régis au niveau de la chaîne.
Toutefois, les calculs intensifs permettant de calculer les soldes de marge, les PnL non réalisés, les montants de liquidation, etc. peuvent être transférés à un coprocesseur. Il exécuterait la logique du moteur de marge dans un environnement confidentiel et produirait des preuves attestant d'un calcul correct.
Les avantages de l'approche du coprocesseur sont la transparence, la vérifiabilité et la protection de la vie privée. La logique du moteur de marge n'est plus une boîte noire propriétaire. Les calculs sont effectués en dehors de la chaîne, mais les utilisateurs peuvent se fier aux preuves d'une exécution correcte. Il en va de même pour les options.
Parmi les défis à relever, citons la production efficace de preuves pour les calculs intensifs de marge. Mais dans l'ensemble, les coprocesseurs ouvrent de nouvelles perspectives pour les plateformes de produits dérivés décentralisés en combinant confidentialité et vérifiabilité.
Les coprocesseurs élargissent considérablement les possibilités d'application de la blockchain sans compromettre la décentralisation. Comme les projets de pointe continuent d'innover dans ce domaine, l'avenir est prometteur pour les calculs vérifiables hors chaîne sur Ethereum et au-delà.
Dans un prochain article, je me pencherai sur les considérations de sécurité de ces solutions, les comparaisons avec les rollups, la façon dont elles s'intègrent dans le paysage plus large des applications ethereum, et si elles sont une panacée pour les problèmes de mise à l'échelle.
Vers le déblocage d'une nouvelle classe d'applications. Non pas l'ordinateur dont nous avons besoin, mais l'ordinateur que nous méritons.
Les applications décentralisées sont limitées dans l'exécution de calculs complexes sur la chaîne en raison des capacités de traitement restreintes d'Ethereum. En conséquence, nous avons vu de nombreux protocoles DeFi déplacer des composants tels que les carnets d'ordres et les systèmes de risque hors de la chaîne. Il est donc nécessaire de disposer d'environnements informatiques personnalisés, adaptés à des tâches spécifiques.
Nous avons assisté à une évolution lente mais progressive de nombreuses applications defi déployées sur la chaîne et gérant des parties de leur système hors chaîne. Le Dydx V4 va conserver son carnet d'ordres hors chaîne et peut-être aussi son système de marge. Blur maintient certaines parties de son échange hors chaîne pour une interface utilisateur fluide. Aevo, une bourse d'options, conserve son carnet d'ordres et son moteur de risque en dehors de la chaîne. La raison la plus simple est la difficulté de maintenir ces systèmes centrés sur la performance dans la chaîne de manière efficace et évolutive.
La migration des composants hors chaîne met en évidence un besoin plus large : des environnements informatiques personnalisés (et performants) adaptés à des tâches spécifiques. Mais ce n'est pas tout. Dans ce régime, le statu quo fonctionne bien. Lorsqu'un protocole utilise un système hors chaîne, vous, l'utilisateur, n'êtes pas en mesure de savoir si le système hors chaîne fonctionne comme il l'a annoncé. Le calcul vérifiable supprime les hypothèses de confiance, ce qui permet aux protocoles d'effectuer des calculs hors chaîne sans introduire de facteurs de confiance. C'est la promesse des coprocesseurs pour Ethereum. Avant d'aborder le modèle de coprocesseur dans Ethereum, rappelons brièvement d'où vient cette idée.
Le concept de coprocesseur a vu le jour dans l'architecture des ordinateurs comme technique d'amélioration des performances. Les ordinateurs traditionnels s'appuient sur une seule unité centrale de traitement (CPU) pour effectuer tous les calculs. Cependant, l'unité centrale a été surchargée au fur et à mesure que les charges de travail devenaient plus complexes.
Les coprocesseurs, processeurs spécialisés dédiés à des tâches particulières, ont été introduits pour aider. Par exemple, les unités de traitement graphique (GPU) gèrent les immenses calculs parallèles nécessaires au rendu 3D. Cela permet à l'unité centrale de se concentrer sur le traitement général. Parmi les autres coprocesseurs courants, citons les accélérateurs cryptographiques pour le cryptage/décryptage, les processeurs de signaux pour le multimédia et les coprocesseurs mathématiques pour les calculs scientifiques. Chaque coprocesseur est doté d'une architecture rationalisée qui lui permet d'exécuter efficacement sa charge de travail spécifique. (Bien que l'on puisse dire que la plupart de ces éléments ont été remplacés par la programmation parallèle, à l'instar des GPU).
Cette division du travail entre l'unité centrale et les coprocesseurs a permis d'améliorer les performances de plusieurs ordres de grandeur. Le modèle du coprocesseur a permis aux ordinateurs de prendre en charge des charges de travail de plus en plus sophistiquées qui n'étaient pas réalisables avec un seul processeur généraliste.
Ethereum peut également être considéré comme une VM CPU généraliste et n'est pas équipé pour effectuer des calculs lourds simplement en raison des coûts de blocage qu'il faudrait payer pour qu'il fonctionne sur la chaîne, ce qui a limité le déploiement d'une variété de protocoles, obligeant même les concepteurs à proposer quelque chose de nouveau dans le cadre des contraintes de l'EVM. En d'autres termes, les coûts sont trop restrictifs pour les applications complexes. Cela a également conduit divers protocoles à conserver des parties de leur protocole en dehors de la chaîne, et chaque modèle hors chaîne ainsi déployé a apporté avec lui une certaine notion de risque. Vous faites confiance au protocole pour qu'il ne soit pas malveillant, ce qui va à l'encontre de l'éthique des applications décentralisées.
Dans cet article, j'essaie d'examiner quelques-unes de ces solutions et de donner un aperçu du type d'applications qui pourraient être débloquées grâce à cette infrastructure. J'essaierai également de trouver d'autres moyens de décharger les calculs, ce qui deviendra certainement une pierre angulaire des applications dans l'espace cryptographique.
Les coprocesseurs tels que ceux proposés par Axiom et RiscZero ont récemment ouvert une nouvelle dimension d'applications possibles sur la chaîne en permettant aux contrats intelligents de se décharger de calculs lourds. Les systèmes offrent la preuve que le code a été exécuté d'une manière que tout le monde peut vérifier.
Bonsai et Axiom sont des solutions similaires en ce sens qu'elles permettent à un calcul arbitraire ayant accès à l'état de la chaîne d'être exécuté hors chaîne et de fournir des "reçus" attestant que le calcul a été effectué.
Axiom permet aux contrats intelligents Ethereum d'accéder à davantage de données historiques sur la chaîne et d'effectuer des calculs complexes tout en maintenant la décentralisation et la sécurité du réseau. Actuellement, les contrats n'ont accès qu'à des données très limitées du bloc actuel, ce qui restreint les types d'applications qui peuvent être créées. Dans le même temps, permettre aux contrats d'accéder à l'intégralité des données d'archives historiques nécessiterait que tous les nœuds du réseau stockent l'intégralité des archives, ce qui est irréalisable en raison des coûts de stockage et aurait un impact négatif sur la décentralisation.
Pour résoudre ce problème, Axiom développe un système de "coprocesseur ZK". Il permet aux contrats d'interroger les données historiques de la blockchain et d'effectuer des calculs hors chaîne via le réseau Axiom. Les nœuds Axiom accèdent aux données demandées sur la chaîne et effectuent le calcul spécifié. La clé consiste à générer une preuve à connaissance nulle que le résultat a été calculé correctement à partir de données valides de la chaîne. Cette preuve est vérifiée sur la chaîne, ce qui garantit que les contrats peuvent se fier au résultat.
Cette approche permet aux contrats d'accéder à beaucoup plus de données de l'historique de la chaîne et d'effectuer des calculs complexes sur ces données sans surcharger les nœuds de la couche de base. Axiom pense que cela permettra de nouvelles catégories d'applications qui reposent sur une analyse objective et prouvable de l'activité historique de la blockchain. Ils ont déjà lancé la fonctionnalité mainnet pour la lecture des données de base et prévoient d'étendre l'accès aux données d'archives complètes et la vérification ZK des fonctions de visualisation des contrats dans un avenir proche. Leur vision à plus long terme est de réaliser des calculs ZK encore plus avancés, au-delà des capacités de l'EVM.
En générant des preuves d'exécution correcte hors chaîne, Axiom débloque de nouvelles catégories d'applications blockchain.
Risc Zero a développé une machine virtuelle polyvalente à connaissance nulle (zkVM) qui permet de prouver des programmes arbitraires écrits dans des langages tels que Rust, C/C++ et Go en connaissance nulle.
La zkVM permet aux développeurs de prouver un code Rust arbitraire en zéro connaissance sans avoir besoin de concevoir des circuits personnalisés. L'objectif est de rendre plus accessible le développement d'applications sans connaissances. La zkVM génère un justificatif qui atteste que le programme a été exécuté correctement sans révéler les entrées ou la logique privées. Cela permet d'effectuer des calculs intensifs en dehors de la chaîne, les justificatifs validant l'exécution correcte sur la chaîne. Les crates Rust fonctionnent dans cette zkVM, mais il y a quelques limitations concernant les appels système. Une fonction appelée "continuations" permet de diviser les calculs importants en segments qui peuvent être prouvés indépendamment les uns des autres. Cela permet de faire des preuves en parallèle, ce qui supprime les limites de la taille des calculs, et permet de mettre en pause ou de reprendre les programmes zkVM. Les continuations ont permis de nouveaux cas d'utilisation tels que le chiffrement entièrement homomorphe, EVM et WASM dans le zkVM.
Bonsai est un service de preuve de zéro connaissance hors chaîne développé par Risc Zero pour permettre l'utilisation de leur zkVM à usage général pour les applications Ethereum et blockchain. Il fournit un pont entre les contrats intelligents sur la chaîne et les calculs hors chaîne dans zkVM.
Le flux de travail permis par Bonsai est le suivant :
Le développeur rédige un contrat intelligent qui fait appel au contrat relais de Bonsai pour demander un calcul hors chaîne.
Bonsai surveille ces demandes sur la chaîne et exécute le programme zkVM correspondant écrit en Rust
Le programme zkVM s'exécute dans l'infrastructure de Bonsai, effectue le calcul intensif ou privé hors chaîne, puis génère la preuve qu'il a été exécuté correctement.
Les résultats de la preuve, appelés "reçus", sont renvoyés sur la chaîne par Bonsai via le contrat de relais.
Le contrat intelligent du développeur reçoit les résultats dans une fonction de rappel
Cela permet à la logique à forte intensité de calcul ou sensible de se dérouler hors chaîne tout en validant l'exécution correcte par des preuves zk sur la chaîne. Le contrat intelligent n'a besoin que de gérer la demande de calculs et la consommation des résultats.
Bonsai fait abstraction de la complexité de la compilation du code Rust en bytecode zkVM, du téléchargement des programmes, de l'exécution dans la VM et du retour des preuves. Les développeurs peuvent se concentrer sur l'écriture de la logique de leur programme. Cette infrastructure permet donc d'exécuter des calculs à usage général en dehors de la chaîne tout en préservant la confidentialité des données et de la logique sensibles.
Bonsai permet aux développeurs de créer des applications blockchain avec un calcul hors chaîne de manière directe, sans avoir besoin d'expertise dans la cryptographie et l'infrastructure zkVM sous-jacente. En d'autres termes, Bonsai permet aux développeurs d'intégrer facilement des calculs hors chaîne sans avoir besoin d'expertise.
Unoprocesseur ZK est-il le seul moyen de réaliser un calcul hors chaîne vérifiable ? Quelles sont les autres applications permettant de décharger les calculs d'une manière sûre et sans confiance ? Bien que les avis sur les propriétés de sécurité, l'efficacité et la mise en œuvre divergent, ces technologies sont étudiées dans divers domaines de la cryptographie et vont progressivement s'imposer.
Des alternatives telles que MPC et TEEs offrent d'autres approches pour un calcul vérifiable en dehors de la chaîne. Le MPC permet le calcul conjoint de données sensibles, tandis que les TEE offrent des enclaves sécurisées basées sur le matériel. Les deux présentent des inconvénients mais peuvent constituer des alternatives pour les processeurs ZK.
Le calcul multipartite sécurisé (MPC) permet à plusieurs parties de calculer conjointement une fonction sur leurs entrées tout en gardant ces entrées privées. Il permet de collaborer sur des données sensibles, tout en préservant la vie privée de tous les participants. Toutefois, il est impossible de parvenir à l'équité dans le cadre de la CPM, où soit toutes les parties connaissent le résultat, soit aucune ne le connaît, si la plupart des parties sont malhonnêtes. En d'autres termes, les garanties de confidentialité et d'intégrité disparaissent lorsque tous les nœuds sont corrompus. La technologie blockchain peut contribuer à rendre les protocoles de PPM plus équitables.
Imaginez trois amis qui souhaitent connaître la moyenne de leurs salaires sans se les révéler. Pour ce faire, ils pourraient utiliser Secure MPC.
Supposons que les amis sont Alice, Bob et Eve :
Alice prend son salaire, y ajoute un nombre aléatoire et communique le résultat à Bob.
Bob ajoute son salaire et un autre nombre aléatoire au nombre qu'il a reçu d'Alice, puis communique le résultat à Eve.
Eve ajoute son salaire au nombre de Bob, puis soustrait tous les nombres aléatoires ajoutés précédemment et divise le résultat par trois pour obtenir la moyenne.
Le chiffre final est la moyenne de leurs salaires ; personne n'a appris quoi que ce soit sur les salaires des autres. Une nuance à apporter ici est que, bien que personne ne connaisse le salaire exact des autres, si la moyenne est inférieure au salaire d'Eve, celle-ci peut en déduire que le salaire de l'un des deux autres est inférieur au sien.
La blockchain fournit un registre public inviolable qui permet aux parties de publier des informations. En utilisant le cryptage des témoins, les parties peuvent crypter la sortie d'un protocole MPC inéquitable. Ils affichent des jetons dans le grand livre qui permettent d'extraire une clé de décryptage. Le grand livre étant public, toutes les parties peuvent accéder à la clé de décryptage en même temps. Cela permet de mettre en place un protocole de décryptage équitable dans lequel soit toutes les parties décryptent le résultat, soit aucune ne le fait.
Dans "MPC as a Blockchain Confidentiality layer", Andrew Miller explique comment MPC pourrait faciliter les calculs sur des données privées. Le MPC contrôlable publiquement utilise des preuves à connaissance nulle pour conserver l'intégrité malgré la corruption totale des nœuds. Les clients engageraient des intrants pour en prouver la validité. Les nœuds MPC génèrent des preuves de calcul correct. En fin de compte, les vérificateurs s'assureront que les entrées, les sorties et les preuves correspondent. Cet audit n'entraîne que des frais généraux minimes par rapport aux coûts standard des PPM. Les preuves sont succinctes et utilisent les SNARKs avec une configuration universelle. Toutefois, des questions subsistent quant à l'optimisation des performances, aux modèles de programmation et au déploiement dans le monde réel.
Les données sensibles telles que les informations personnelles, les données financières, etc., doivent être protégées lorsqu'elles sont stockées ou en transit et lorsqu'elles sont utilisées et calculées. Les méthodes de cryptage traditionnelles protègent les données au repos et en transit, mais pas lorsqu'elles sont activement utilisées. C'est un problème car lorsque les données sont traitées, elles le sont souvent sous une forme non cryptée, ce qui les rend vulnérables aux attaques.
Les environnements d'exécution de confiance (ou enclaves sécurisées) sont des environnements isolés où les données peuvent être cryptées, mais où les calculs peuvent toujours être effectués. L'idée principale est d'isoler les données et les calculs afin que même les processus privilégiés du système ne puissent pas y accéder. Les environnements d'exécution de confiance (TEE) sont des zones sécurisées à l'intérieur d'un processeur qui fournissent des fonctions de sécurité matérielles pour protéger les données et le code sensibles. Ils isolent un logiciel spécifique du reste du système, ce qui garantit que les données contenues dans le TEE ne peuvent pas être altérées, même par le système d'exploitation ou d'autres logiciels fonctionnant sur l'appareil.
Les TEE permettent de protéger les données sensibles même lorsqu'elles sont utilisées. Cela permet des applications telles que les réseaux sociaux préservant la vie privée, les services financiers, les soins de santé, etc. Il existe certaines limites concernant l'efficacité et les hypothèses de confiance, mais les enclaves sont une technologie puissante avec de nombreuses utilisations potentielles, en particulier lorsqu'elles sont combinées avec des réseaux de blockchain pour construire des systèmes robustes et non censurables. Les compromis en matière de confiance peuvent être acceptables pour de nombreuses applications commerciales et non lucratives nécessitant une grande confidentialité des données.
Les environnements d'exécution de confiance (TEE) vous permettent d'externaliser des calculs auprès d'un fournisseur de services en nuage tiers non fiable, tout en préservant la confidentialité de vos données et l'inviolabilité de vos opérations. Cela est extrêmement utile pour les applications décentralisées et les organisations qui veulent profiter de la commodité et des économies du nuage sans sacrifier la confidentialité ou le contrôle. Mais les TEE ne résolvent pas tous les problèmes comme par magie - il reste encore quelques défis pratiques à relever avant que la plupart des développeurs puissent les utiliser facilement.
Ils constituent un élément de base puissant, mais il faut encore mener des recherches approfondies sur les systèmes pour remédier à leurs limites concernant celles mentionnées ci-dessus et la centralisation des vendeurs, la mise à l'échelle et la tolérance aux pannes.
Les environnements d'exécution de confiance (TEE) tels que Intel SGX et AWS Nitro Enclaves fournissent des environnements isolés pour l'exécution de calculs sensibles et le stockage de données confidentielles. Les TEE garantissent que même les processus système privilégiés ne peuvent pas accéder au code et aux données à l'intérieur du TEE ou les altérer. Cela permet aux applications et aux organisations décentralisées d'externaliser les calculs vers des hébergeurs tiers non fiables sans se soucier de la confidentialité ou de l'intégrité.
La résolution de ces problèmes élargira considérablement l'applicabilité des TEE pour les applications décentralisées nécessitant une forte intégrité, confidentialité et résistance à la censure tout en externalisant le calcul et le stockage vers des nuages non fiables. Les TEE sont un outil puissant, mais une co-conception réfléchie du système reste nécessaire pour remédier à leurs limites.
Lors de l'évaluation des coprocesseurs, il est important de prendre en compte le modèle de sécurité et le niveau d'assurance requis pour les différents types de calculs. Certains calculs sensibles, comme l'appariement des ordres, nécessitent une sécurité maximale et des hypothèses de confiance minimales. Pour ces derniers, les coprocesseurs utilisant des preuves à connaissance nulle, tels que les coprocesseurs zk, fournissent des garanties solides, car les résultats peuvent être vérifiés sans faire confiance à l'opérateur.
Cependant, les zk-coprocesseurs peuvent présenter des inconvénients en termes d'efficacité et de flexibilité. D'autres approches, comme le MPC ou le matériel de confiance, peuvent constituer des compromis acceptables pour des calculs moins sensibles, comme l'analyse ou la modélisation des risques. Tout en offrant des garanties plus faibles, ils permettent d'effectuer un plus grand nombre de calculs de manière plus efficace. Le niveau de sécurité requis dépend de la tolérance au risque des applications. Les équipes doivent analyser la valeur en jeu et évaluer si des coprocesseurs non vérifiés mais efficaces constituent un compromis technique raisonnable pour certains calculs non critiques.
Dans l'ensemble, les coprocesseurs couvrent un spectre de modèles de sécurité, et les équipes doivent adapter les solutions aux exigences de sécurité des tâches spécifiques. L'écosystème est encore naissant, de sorte que de nouvelles avancées dans le domaine de l'informatique vérifiable et évolutive élargiront les possibilités.
Dans le blog "Feedback Control as a new primitive for Defi", les auteurs mentionnent que les mécanismes de contrôle pour les mécanismes Defi pourraient évoluer lentement d'un bout à l'autre, en utilisant l'apprentissage par renforcement (RL) et DRL au fur et à mesure que le calcul et le stockage deviennent abondants. Alors que le RL pourrait encore être difficile, les applications d'apprentissage automatique pourraient encore être possibles grâce à des calculs vérifiables.
L'année dernière, les protocoles de prêt ont fait l'objet d'un examen minutieux en raison de la possibilité de créances irrécouvrables dues à des paramètres agressifs pour le jeton prêté dans un marché baissier par ailleurs dépourvu de liquidités. Les modèles qui peuvent accéder à la liquidité de la chaîne et créer un profil de liquidité pour les actifs pourraient éventuellement modifier dynamiquement les paramètres.
Par exemple, les protocoles de prêt pourraient bénéficier d'un contrôle dynamique des taux d'intérêt basé sur des données en temps réel de la chaîne. Plutôt que de s'appuyer sur des modèles de taux d'intérêt prédéfinis, un système de contrôle à rétroaction pourrait ajuster les taux de manière algorithmique en fonction de l'utilisation actuelle et des facteurs de liquidité.
Par exemple, lorsque la demande d'emprunt d'un actif est élevée, poussant les taux d'utilisation à la hausse, le contrôleur pourrait augmenter rapidement les taux d'intérêt afin d'encourager l'offre et de stabiliser l'utilisation. Inversement, lorsque l'utilisation est faible, les taux pourraient être réduits pour encourager l'emprunt. Les paramètres du contrôleur peuvent être réglés pour optimiser des objectifs tels que la maximisation des revenus du protocole ou la minimisation de la volatilité.
Pour ce faire, le protocole devrait avoir accès à des données en temps réel sur la chaîne, telles que le montant total des emprunts, les liquidités disponibles et d'autres paramètres d'utilisation. La logique du contrôleur traite ensuite ces données pour calculer les ajustements optimaux du taux d'intérêt. Les mises à jour de taux pourraient être régies sur la chaîne par une DAO ou en dehors de la chaîne avec une vérification de la preuve.
Pour ce faire, le protocole devrait avoir accès à des données en temps réel sur la chaîne, telles que le montant total des emprunts, les liquidités disponibles et d'autres paramètres d'utilisation. La logique du contrôleur traite ensuite ces données pour calculer les ajustements optimaux du taux d'intérêt. Les mises à jour de taux pourraient être régies sur la chaîne par une DAO ou en dehors de la chaîne avec une vérification de la preuve. Bien qu'un travail récent, "Attacks on Dynamic Defi Interest rate curves" par Chitra et al. ait montré que les modèles de prêt dynamiques donnent lieu à plus de VME. La conception de ces protocoles doit donc faire l'objet d'une attention particulière.
L'abondance de l'accès aux données de la blockchain nous amène à la conclusion naturelle d'utiliser les applications d'apprentissage automatique de cette manière. Bien qu'il soit un peu plus difficile de prouver le calcul pour les applications d'apprentissage automatique, le calcul automatique vérifiable est un marché énorme en soi. Ils pourraient également être utilisés pour des applications sur la chaîne, en particulier dans certaines applications de sécurité.
Les données de la blockchain contiennent des signaux précieux que les modèles d'apprentissage automatique pourraient utiliser pour détecter les activités suspectes ou alimenter les systèmes de gestion des risques. Cependant, l'exécution de ML sur la chaîne est actuellement irréalisable en raison des coûts du gaz et des préoccupations en matière de protection de la vie privée. Cela pourrait ressembler à des systèmes de surveillance sur la chaîne pour les contrats intelligents, les portefeuilles ou les gestionnaires de portefeuille pour détecter les retraits ou les transferts suspects. Il existe une grande quantité de données de profilage disponibles pour différents types de signaux à obtenir dans le cas de la sécurité, il s'agirait de "Ruggers", de "Hacks" et d'autres attaques malveillantes. Il peut également être utilisé pour définir des applications de solvabilité et de profilage des risques pour les prêteurs et les emprunteurs en fonction de leur historique onchain.
Les défis à relever comprennent la qualité des données, la dérive des concepts et les limites de performance des systèmes de preuve. Mais en combinant la ML avec un calcul vérifiable hors chaîne, les coprocesseurs ouvrent de nombreuses nouvelles opportunités pour l'analyse de la blockchain et la gestion des risques.
Les systèmes de marge pour les swaps perpétuels ont toujours été cachés aux utilisateurs dans les échanges centralisés et même décentralisés. Les systèmes de marge pour les produits dérivés tels que les swaps perpétuels et les options sont traditionnellement des boîtes noires opaques contrôlées par des bourses centralisées.
Les coprocesseurs offrent la possibilité de mettre en œuvre une logique de marge transparente et vérifiable pour le commerce décentralisé. La promesse de mettre en œuvre des systèmes d'auto-effacement de manière vérifiée offre un facteur de confiance plus élevé pour les utilisateurs et les différencie immédiatement de leurs homologues centralisés.
Le système de marge pourrait surveiller les flux de prix indexés et les valeurs de position pour les swaps perpétuels, en liquidant les positions avant que leur solde de marge ne devienne négatif. Tous les paramètres de risque, tels que les ratios de marge de maintien, les taux de financement et les pénalités de liquidation, pourraient être régis au niveau de la chaîne.
Toutefois, les calculs intensifs permettant de calculer les soldes de marge, les PnL non réalisés, les montants de liquidation, etc. peuvent être transférés à un coprocesseur. Il exécuterait la logique du moteur de marge dans un environnement confidentiel et produirait des preuves attestant d'un calcul correct.
Les avantages de l'approche du coprocesseur sont la transparence, la vérifiabilité et la protection de la vie privée. La logique du moteur de marge n'est plus une boîte noire propriétaire. Les calculs sont effectués en dehors de la chaîne, mais les utilisateurs peuvent se fier aux preuves d'une exécution correcte. Il en va de même pour les options.
Parmi les défis à relever, citons la production efficace de preuves pour les calculs intensifs de marge. Mais dans l'ensemble, les coprocesseurs ouvrent de nouvelles perspectives pour les plateformes de produits dérivés décentralisés en combinant confidentialité et vérifiabilité.
Les coprocesseurs élargissent considérablement les possibilités d'application de la blockchain sans compromettre la décentralisation. Comme les projets de pointe continuent d'innover dans ce domaine, l'avenir est prometteur pour les calculs vérifiables hors chaîne sur Ethereum et au-delà.
Dans un prochain article, je me pencherai sur les considérations de sécurité de ces solutions, les comparaisons avec les rollups, la façon dont elles s'intègrent dans le paysage plus large des applications ethereum, et si elles sont une panacée pour les problèmes de mise à l'échelle.