Ethereum est l'une des premières chaînes à prendre en charge les applications décentralisées (dApps), avec des backends d'application construits sur des « contrats intelligents » et avec des mécanismes de gestion des événements en chaîne. Afin de résoudre le trilemme de la blockchain – évolutivité, décentralisation et sécurité – diverses solutions de deuxième couche (couche 2, L2) et technologies d'agrégation ont vu le jour. Ces solutions L2 traitent les transactions hors chaîne et utilisent Ethereum comme couche de disponibilité des données. Cependant, bien que L2 vise à faire évoluer Ethereum, ils ne résolvent pas complètement le problème de mise à l’échelle informatique. La technologie d'agrégation, même lorsqu'elle fonctionne hors chaîne, s'appuie toujours sur la machine virtuelle Ethereum (EVM) pour traiter les transactions, ce qui entraîne des frais de gaz plus élevés. Certains défis rencontrés par la plupart des cadres d'agrégation comprennent :
Ressources informatiques : les techniques d'agrégation, en particulier l'agrégation optimiste, nécessitent des étapes de calcul supplémentaires pour générer et vérifier des preuves d'exactitude. Cela implique d'exécuter la même transaction hors chaîne, puis de soumettre une preuve à la chaîne principale, ce qui ajoute une charge de calcul.
Gestion de l'état : maintenir la cohérence entre l'état L2 et la chaîne principale Ethereum nécessite une grande quantité de ressources informatiques. Par exemple, les zk-rollups doivent générer des preuves sans connaissance, ce qui est très exigeant en ressources informatiques.
Engagement en matière de données : la technologie d'agrégation soumet fréquemment des données (mentionnées ci-dessus comme données d'appel) à Ethereum pour garantir la disponibilité et l'exactitude des données. Lorsque la chaîne principale est encombrée, ces validations peuvent devenir coûteuses et lentes, réduisant ainsi certains des avantages de l'utilisation de L2.
Cartesi est une solution de cumul spécifique aux applications avec son propre environnement d'exécution Linux qui fournit aux applications décentralisées toute la puissance de calcul d'une machine virtuelle dédiée et étend l'espace de conception au-delà d'Ethereum. Alors que de plus en plus de solutions et de dApps évoluent vers des approches modulaires, les Cartesi Rollups peuvent être déployés dans des environnements de configuration modulaires : en tant que solution de couche 2 au-dessus d'Ethereum, en tant que solution de couche 2 telle qu'Arbitrum, Optimism, Base ou ZK-EVM. solution à plusieurs niveaux au sommet de la chaîne, ou en tant que rollup souverain autonome. En tirant parti de Cartesi, les développeurs peuvent également utiliser des piles logicielles et des langages de programmation existants qui ne sont pas pris en charge par l'EVM, réduisant ainsi les frictions des développeurs et offrant une expérience utilisateur qui peut être prise en charge via des processus Web2 natifs.
Source : Blog Cartesi (https://cartesi.io/blog/application-special-rollups/)
La décentralisation des développeurs est réelle
Bien que l'écosystème Ethereum soit considéré comme assez vaste, selon un rapport de Statista, seulement 1,1 % des développeurs utilisent le langage Solidity pour écrire du code, tandis que 51 % des développeurs utilisent encore Python pour créer des applications. Sur la base de cette différence, on peut en déduire qu'il est non seulement difficile de faire démarrer de nouveaux développeurs, mais également difficile pour les développeurs avancés d'apprendre un nouveau langage de programmation uniquement pour les contrats intelligents. En d’autres termes, l’espace de conception de l’EVM est très limité lorsqu’il s’agit de développer réellement des contrats intelligents, en particulier lorsqu’il utilise des langages comme Solidity et Vyper, ce qui n’est peut-être pas une bonne incitation pour les développeurs à apprendre la blockchain. N'oubliez pas que les développeurs doivent maîtriser au moins un langage de programmation avant d'acquérir les compétences nécessaires pour en apprendre un autre, et le développement de dApp utilise toujours des bibliothèques et des frameworks comme React qui ont une logique similaire à celle des applications Web2.
La meilleure solution pour les développeurs n'est pas un nouveau langage mais le développement d'applications à l'aide d'une pile de programmation qu'ils connaissent déjà et dans laquelle ils sont bons. Nous parlons d'amener des millions de développeurs vers Web3, et cela ne devrait pas être le travail du développeur de passer du temps à comprendre les différents outils spécifiquement destinés aux applications EVM. Cartesi fournit une excellente solution en faisant abstraction de la barrière de la langue. En tant que développeur, vous pouvez toujours utiliser des langages comme Python, Rust, JavaScript, etc. et intégrer différentes bibliothèques open source pour créer des applications utilisateur.
Comprendre les cumuls cartésiens
Cartesi Rollups répond à un besoin clé dans l'espace blockchain en fournissant une couche d'exécution modulaire qui améliore considérablement l'évolutivité et les performances des applications décentralisées (dApps). Avec Cartesi Rollups, chaque dApp s'exécute sur sa propre chaîne d'applications de rollup hautes performances, équipée d'un processeur dédié, garantissant ainsi l'absence de concurrence pour les ressources au sein de l'écosystème Cartesi. La conception permet une évolutivité informatique significative tout en maintenant la forte sécurité de la blockchain sous-jacente.
Cartesi Rollups utilise un modèle de cumul optimiste qui utilise une preuve d'échec pour gérer et résoudre les litiges, garantissant ainsi un traitement fiable et efficace. Son cadre se compose de deux composants principaux : la couche de base sur la chaîne (comme Ethereum où les contrats dApp sont en direct) et la couche d'exécution (où Cartesi gère le calcul hors chaîne). Si vous souhaitez en savoir plus sur l'architecture de Cartesi et ces deux composants, vous pouvez consulter la documentation correspondante (https://docs.cartesi.io/cartesi-rollups/1.3/core-concepts/architecture/).
Apporter la puissance de l'open source aux dApps avec Cartesi
L'open source joue un rôle très important dans l'industrie technologique. Linux a été l'un des premiers systèmes d'exploitation véritablement open source à avoir apporté un changement de paradigme dans les logiciels commerciaux. Linux a commencé comme un projet personnel en 1991 et s'est progressivement transformé en une version open source d'UNIX librement distribuable. Il nécessite des ressources minimales et offre aux développeurs la liberté de créer différentes applications en fonction de leurs besoins. Linux est suffisamment « modulaire » pour être distribué dans tout l'écosystème. Par exemple, utiliser le noyau Linux et le combiner avec des packages, des frameworks et des configurations permet aux développeurs de générer de nouveaux logiciels. Ubuntu est l'un des célèbres systèmes d'exploitation sortis en 2004.
Actuellement, la plupart des bibliothèques existantes s'appuient sur un système d'exploitation spécifique, tel que MacOS ou Linux. Les banques et les institutions financières s'appuient depuis longtemps sur des systèmes d'exploitation et des langages personnalisés tels que Java, C, COBOL, FORTRAN et l'assembleur pour créer des logiciels critiques. L'intégration de Linux dans le développement de la blockchain est susceptible de stimuler l'innovation dans les outils DeFi, de jeux et de développement en raison de sa flexibilité et de sa sécurité. Il existe plus de 1 000 bibliothèques disponibles sur pypi.org, spécialement conçues pour les développeurs de blockchain utilisant le langage Python.
Voici quelques algorithmes et compilateurs intéressants que vous pouvez utiliser lorsque vous utilisez l'infrastructure Cartesi et créez des dApps :
rustc (compilateur Rust) : Rust devient de plus en plus populaire dans le développement de blockchain en raison de ses fonctionnalités de sécurité de la mémoire et de concurrence. rustc est essentiel pour compiler des contrats intelligents et d’autres composants blockchain axés sur la sécurité et les performances.
Glasgow Haskell Compiler (GHC) : Haskell est connu pour son système de types puissant et son paradigme de programmation fonctionnelle. GHC peut être utilisé pour le développement de blockchain afin de créer des contrats intelligents et des modèles financiers mathématiquement prouvés, tels que ceux de Cardano.
Utilisez des algorithmes de compression : les systèmes Blockchain traitent généralement de grandes quantités de données, des enregistrements de transactions au code de contrat intelligent. Une compression efficace des données est essentielle pour réduire les besoins de stockage et améliorer les performances du réseau. Des algorithmes de compression tels que gzip, bzip2, xz et lz4 peuvent être utilisés pour compresser les données de la blockchain avant de les stocker sur disque ou de les transmettre sur le réseau. Le choix d'un algorithme dépend des besoins spécifiques de votre système blockchain : la vitesse, la réduction de l'utilisation de la RAM ou la réduction de la charge du processeur sont une priorité.
Utilisation de moteurs : Linux prend également en charge une variété de moteurs, principalement utilisés dans l'industrie du jeu, tels que FlaxEngine et Panda3D. Cependant, le moteur Docker peut également être utilisé dans des applications pour exécuter des conteneurs afin de réaliser une expansion au niveau de l'application.
Contributions open source de Linux : Linux a également apporté d'importantes contributions en publiant davantage de bibliothèques open source, telles que Hyperledger Fabric (un logiciel de grand livre distribué) et Hyperledger IROHA (une plate-forme écrite en C++ permettant aux institutions financières de gérer les actifs numériques). (https://www.hyperledger.org/projects/fabric)
Abstractions de développeur et extensions modulaires à Cartesi
La fourniture de machines virtuelles (VM) dédiées à chaque application aide les développeurs à moins se soucier des outils et de la mise à l'échelle globale. La machine Cartesi est une machine virtuelle conçue pour gérer le calcul hors chaîne pour les applications blockchain. Les machines Cartesi utilisent l'architecture de jeu d'instructions RISC-V (ISA), un ensemble open source d'instructions de processeur. Il fonctionne de manière indépendante et peut être reproduit de manière cohérente. Les développeurs peuvent créer des processeurs personnalisés pour diverses applications, des conceptions embarquées aux supercalculateurs.
Exécution de code : les machines Cartesi exécutent du code basé sur des entrées spécifiques pour effectuer des calculs, traiter des données ou exécuter une logique personnalisée en fonction des exigences de la tâche.
Créez des applications du monde réel : grâce à la couche d'abstraction de l'infrastructure EVM, les développeurs peuvent se concentrer sur la création de dApps qui exploitent les ressources informatiques à la demande.
Élargissez l'espace de conception des développeurs : dans le monde de Cartesi, les développeurs peuvent utiliser des langages tels que C++, Rust, Go, TypeScript ou Python pour créer des applications en chaîne sans avoir à gérer la complexité de contrats spécifiques.
La meilleure façon de démarrer avec Cartesi est de consulter la CLI Cartesi (https://docs.cartesi.io/cartesi-rollups/1.3/quickstart/) ou d'essayer le cours Udemy de Cartesi (https://www.udemy.com /cours/ cartesi-masterclass/).
Comment les développeurs construisent-ils avec Cartesi ?
L'écosystème Cartesi est en constante croissance, les développeurs créant de manière agressive de puissantes dApps au-dessus de l'infrastructure Web2 existante. L'intégration de Cartesi Rollups peut améliorer leurs applications, les rendant plus centrées sur l'utilisateur tout en permettant également le développement à l'aide de différentes piles technologiques.
Nebula Duel (Rust) : Rust est connu pour ses performances et sa sécurité, ce qui le rend idéal pour les applications blockchain complexes. Avec Cartesi et Linux, Nebula Duel peut exploiter les fonctionnalités avancées de Rust dans un environnement Linux familier pour fournir le contrôle de bas niveau nécessaire aux dApps hautes performances. Sans Cartesi, intégrer la puissance de Rust dans les blockchains serait plus complexe et limité.
Turtlish (Python avec Matplotlib) : Matplotlib est une puissante bibliothèque de visualisation de données en Python. Cartesi et Linux permettent à Turtlish d'exécuter Matplotlib de manière native, permettant aux applications décentralisées d'effectuer des analyses graphiques complexes. Sans Cartesi, réaliser une visualisation aussi avancée directement sur la chaîne serait presque impossible.
Comet (JavaScript/TypeScript) : JavaScript est essentiel pour le développement et le déploiement rapides de la logique métier, et des bibliothèques comme Viem permettent une intégration transparente du Web3. Cartesi et Linux permettent à Comet d'utiliser ces outils dans un environnement puissant et évolutif, permettant aux développeurs de commercialiser plus rapidement les dApp. Sans Cartesi, les développeurs auraient du mal à atteindre la même efficacité et la même intégration dans l'espace blockchain.
OnChess (TypeScript) : TypeScript combine le typage statique avec la flexibilité de JavaScript. Cartesi et Linux permettent à OnChess de tirer pleinement parti de TypeScript dans un environnement décentralisé, garantissant la fiabilité et la maintenabilité des contrats intelligents. Sans Cartesi, exploiter efficacement TypeScript dans la blockchain serait beaucoup plus difficile.
DeVolt (Go) : Go est connu pour ses capacités de concurrence et son efficacité, ce qui le rend idéal pour les dApps qui nécessitent des performances élevées. Cartesi et Linux permettent à DeVolt d'exécuter des applications Go de manière native, tirant pleinement parti des capacités de Go dans un environnement sécurisé et évolutif. Sans Cartesi, les limitations des environnements blockchain existants entraveront la pleine utilisation de Go dans les applications décentralisées.
Si vous construisez avec Cartesi, vous pouvez postuler pour que votre projet soit présenté. (https://forms.gle/bAySRe16nQTXnnnW6)
en conclusion
Web3 vise à être une version décentralisée de la technologie Internet ou Web2 actuelle, donnant aux utilisateurs le contrôle et la propriété de leurs données dès le départ. Les développeurs font depuis longtemps confiance à la nature open source de Linux et apprécient la liberté et la flexibilité qu'il apporte. Linux fournit une multitude d'outils, de bibliothèques et un environnement de développement mature, améliorant les capacités des applications décentralisées.
Cartesi offre aux développeurs la possibilité d'exploiter ces fonctionnalités Linux directement dans un environnement blockchain, brisant ainsi les contraintes de l'espace de conception EVM. Grâce à des blocs de construction modulaires qui permettent aux développeurs de choisir leur langage de programmation et leur pile technologique préférés, Cartesi attire davantage de développeurs et accélère la croissance de l'innovation dans l'espace Web3.
À propos de Cartesi
Cartesi est un protocole de cumul spécifique aux applications avec des machines virtuelles exécutant des distributions Linux, créant un espace de conception plus riche et plus large pour les développeurs DApp.
Les rollups Cartesi fournissent des solutions d'évolutivité modulaires qui peuvent être déployées sous forme de rollups L2, L3 ou souverains tout en conservant de solides garanties de sécurité de couche de base.
Clause de non-responsabilité
Cet article est uniquement destiné à des fins de référence générale et de partage d’informations et ne constitue pas un conseil juridique, financier ou d’investissement. L'exactitude et l'exhaustivité de ces informations ne sont pas garanties et ne doivent pas être considérées comme des conseils pour une situation particulière. Les lecteurs doivent mener leurs propres recherches et consultations indépendantes avant de prendre une décision. L'auteur et les autorités compétentes n'acceptent aucune responsabilité pour toute perte ou dommage résultant de la confiance accordée à ces informations. Avant de prendre toute décision financière ou d’investissement, il est fortement recommandé de consulter un professionnel pour obtenir des conseils personnalisés.
La crypto-monnaie est un produit d'investissement à haut risque. Avant de prendre une décision d'investissement, veuillez consulter les agences de réglementation compétentes pour voir s'il existe un risque de perte d'investissement.