Les machines virtuelles (VM) permettent d'exécuter différents systèmes d'exploitation ou applications sur le même appareil sans matériel supplémentaire.
Les VM sont excellentes pour tester de nouveaux logiciels de manière sécurisée, expérimenter avec d'autres systèmes ou isoler des programmes qui pourraient être risqués.
VM comme la Machine Virtuelle de Gate (GVM) permettent aux contrats intelligents et aux applications décentralisées (dApps) de s'exécuter de manière fiable sur un réseau mondial d'ordinateurs.
Bien que les VM offrent flexibilité et contrôle, elles peuvent devoir compenser cela par des performances, une utilisation des ressources et une complexité.
Introduction
Avez-vous déjà voulu exécuter Windows sur votre MacBook ou essayer une application Linux sans changer votre système d'exploitation ou acheter un ordinateur séparé ? Les VM vous permettent de le faire en créant un environnement isolé où différents systèmes d'exploitation et applications peuvent s'exécuter en toute sécurité. Elles sont également largement utilisées dans les réseaux blockchain pour supporter les contrats intelligents et les applications décentralisées (dApps).
Qu'est-ce qu'une VM ?
Une VM est comme un ordinateur que vous pouvez configurer en quelques clics, sans avoir besoin de matériel supplémentaire. Vous pouvez installer un système d'exploitation, enregistrer des fichiers, exécuter des applications et vous connecter à Internet, mais vous le faites à l'intérieur de votre ordinateur existant, également connu sous le nom d'hôte.
Votre système hôte effectue le travail lourd en coulisses, prêtant sa mémoire, sa puissance de traitement et son stockage pour que la VM fonctionne sans problème. Cela est particulièrement utile si vous devez utiliser un logiciel qui n'est disponible que sur un autre système d'exploitation.
Comment fonctionnent réellement les VM ?
En arrière-plan, un logiciel appelé hyperviseur gère tout cela. L'hyperviseur prend les ressources physiques de votre ordinateur, comme le CPU, la mémoire vive (RAM) et le stockage, et les divise pour que plusieurs machines virtuelles (VM) puissent les utiliser simultanément.
Il existe deux types principaux d'hyperviseurs :
Type 1 (Bare-metal) : ceux-ci sont installés directement sur le matériel et sont souvent utilisés dans les centres de données ou les plateformes cloud. Ils sont conçus pour la performance et l'efficacité.
Type 2 (Hébergé): ceux-ci s'exécutent sur votre système d'exploitation régulier (comme des applications) et sont adaptés pour des tests et le développement.
Une fois qu'une VM est configurée, vous pouvez la démarrer comme s'il s'agissait d'un vrai ordinateur et installer des logiciels, naviguer sur le web ou créer des applications.
Pourquoi utiliser une VM ?
1. Pour tester de nouveaux systèmes d'exploitation
Avec une VM, vous pouvez tester différents systèmes d'exploitation sans apporter de modifications à votre ordinateur principal. C'est comme essayer un nouveau système dans un espace sûr et séparé.
2. Isoler les logiciels risqués
Avez-vous besoin d'ouvrir un fichier dont vous n'êtes pas sûr ou d'essayer une application inconnue ? L'exécuter dans une VM protège votre ordinateur, donc si vous trouvez un logiciel malveillant ou un plantage du système, votre ordinateur principal ne sera pas affecté.
3. Pour exécuter un logiciel hérité ou non disponible
Certains programmes ne fonctionnent que sur des systèmes plus anciens comme Windows XP. Une VM peut recréer cet environnement et vous permettre de continuer à utiliser des logiciels qui pourraient ne pas fonctionner sur les appareils actuels.
4. Pour développer et tester du code sur différentes plateformes
Les VM facilitent aux développeurs de tester du code sur différents systèmes d'exploitation et de simuler comment les nouvelles applications se comporteront dans différents environnements.
5. Pour stimuler le cloud
De nombreux services cloud ( comme Gate Cloud) sont construits sur des VM. Lorsque vous lancez une instance dans le cloud, vous démarrez une VM dans un centre de données distant prête à héberger des sites web, des applications ou des bases de données.
Comment les réseaux blockchain utilisent les VM
Alors que les VM traditionnelles sont des environnements isolés, les machines virtuelles de blockchain agissent comme le moteur qui exécute les contrats intelligents sur les réseaux blockchain. La Machine Virtuelle de Gate (GVM) permet aux développeurs d'écrire des contrats intelligents dans des langages tels que Solidity, Vyper et Yul, et de les déployer sur Gate et d'autres réseaux compatibles avec GVM. La GVM garantit que chaque nœud du réseau suit les mêmes règles lors de la création ou de l'interaction avec des contrats intelligents.
Les réseaux blockchain mettent en œuvre leurs propres types de VM en fonction des objectifs de conception. Certains se concentrent sur la vitesse et l'évolutivité, tandis que d'autres cherchent à être plus sûrs ou flexibles pour les développeurs. Des réseaux comme NEAR et Cosmos utilisent des VM basées sur WebAssembly (WASM), qui prennent en charge des contrats intelligents écrits dans plusieurs langages de programmation.
D'autres réseaux blockchain comme Sui utilisent MoveVM, qui exécute des contrats intelligents écrits dans le langage Move. La blockchain Solana utilise un environnement d'exécution personnalisé, souvent appelé Machine Virtuelle de Solana (SVM), qui est conçu pour traiter des transactions en parallèle et gérer de grandes quantités d'activité sur le réseau.
Machines virtuelles en action
Vous ne les remarquerez peut-être pas, mais les VM travaillent en coulisses chaque fois que vous interagissez avec des applications décentralisées (dApps).
Si vous utilisez une application de Finance Décentralisée (DeFi) comme Gate Swap pour échanger des tokens, vos transactions sont gérées par des contrats intelligents qui s'exécutent dans la GVM.
Si vous mint un NFT, la VM exécute le code qui garde une trace de qui possède chaque NFT. Lorsque vous effectuez un achat ou un transfert, la VM met à jour les enregistrements afin que la propriété du NFT reste précise.
Si vous utilisez un rollup de couche 2, vos transactions peuvent être effectuées par une VM spécialisée, comme une zkGVM. Les zkGVM rendent possible l'exécution de contrats intelligents tout en bénéficiant de preuves à connaissance nulle (ZKP).
Limitations des VM
1. Surcharge de performance : les VM ajoutent une couche supplémentaire entre le matériel et le code qui s'exécute. Cela peut ralentir les choses ou nécessiter plus de ressources informatiques par rapport à l'exécution d'applications directement sur une machine physique.
2. Complexité opérationnelle : maintenir les VM ( en particulier dans les infrastructures cloud ou les réseaux blockchain) nécessite un effort considérable en matière de configuration et de mise à jour. Cela prendra du temps et nécessite souvent des outils et des connaissances spécialisés.
3. Compatibilité : les contrats intelligents sont souvent conçus pour un environnement VM spécifique. Le code écrit pour les contrats intelligents sur Gate devra être réécrit ou adapté pour fonctionner sur d'autres blockchains non compatibles comme Solana. Cela signifie que les développeurs doivent consacrer du temps et des efforts supplémentaires s'ils souhaitent lancer la même application dans plusieurs environnements.
Conclusions
Les VM jouent un rôle important dans le fonctionnement des ordinateurs réguliers, ainsi que dans les systèmes blockchain. Elles vous permettent d'exécuter différents systèmes d'exploitation, de tester des logiciels en toute sécurité et d'utiliser le même matériel pour plusieurs tâches.
Les machines virtuelles sont également utilisées dans les réseaux blockchain pour alimenter des contrats intelligents et des applications décentralisées. Même si vous n'êtes pas un expert, savoir comment fonctionnent les VM peut vous donner une meilleure idée de ce qui se passe en coulisses dans de nombreux outils et plateformes DeFi que nous utilisons.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Qu'est-ce qu'une machine virtuelle (VM)?
Points clés
Les machines virtuelles (VM) permettent d'exécuter différents systèmes d'exploitation ou applications sur le même appareil sans matériel supplémentaire.
Les VM sont excellentes pour tester de nouveaux logiciels de manière sécurisée, expérimenter avec d'autres systèmes ou isoler des programmes qui pourraient être risqués.
VM comme la Machine Virtuelle de Gate (GVM) permettent aux contrats intelligents et aux applications décentralisées (dApps) de s'exécuter de manière fiable sur un réseau mondial d'ordinateurs.
Bien que les VM offrent flexibilité et contrôle, elles peuvent devoir compenser cela par des performances, une utilisation des ressources et une complexité.
Introduction
Avez-vous déjà voulu exécuter Windows sur votre MacBook ou essayer une application Linux sans changer votre système d'exploitation ou acheter un ordinateur séparé ? Les VM vous permettent de le faire en créant un environnement isolé où différents systèmes d'exploitation et applications peuvent s'exécuter en toute sécurité. Elles sont également largement utilisées dans les réseaux blockchain pour supporter les contrats intelligents et les applications décentralisées (dApps).
Qu'est-ce qu'une VM ?
Une VM est comme un ordinateur que vous pouvez configurer en quelques clics, sans avoir besoin de matériel supplémentaire. Vous pouvez installer un système d'exploitation, enregistrer des fichiers, exécuter des applications et vous connecter à Internet, mais vous le faites à l'intérieur de votre ordinateur existant, également connu sous le nom d'hôte.
Votre système hôte effectue le travail lourd en coulisses, prêtant sa mémoire, sa puissance de traitement et son stockage pour que la VM fonctionne sans problème. Cela est particulièrement utile si vous devez utiliser un logiciel qui n'est disponible que sur un autre système d'exploitation.
Comment fonctionnent réellement les VM ?
En arrière-plan, un logiciel appelé hyperviseur gère tout cela. L'hyperviseur prend les ressources physiques de votre ordinateur, comme le CPU, la mémoire vive (RAM) et le stockage, et les divise pour que plusieurs machines virtuelles (VM) puissent les utiliser simultanément.
Il existe deux types principaux d'hyperviseurs :
Type 1 (Bare-metal) : ceux-ci sont installés directement sur le matériel et sont souvent utilisés dans les centres de données ou les plateformes cloud. Ils sont conçus pour la performance et l'efficacité.
Type 2 (Hébergé): ceux-ci s'exécutent sur votre système d'exploitation régulier (comme des applications) et sont adaptés pour des tests et le développement.
Une fois qu'une VM est configurée, vous pouvez la démarrer comme s'il s'agissait d'un vrai ordinateur et installer des logiciels, naviguer sur le web ou créer des applications.
Pourquoi utiliser une VM ?
1. Pour tester de nouveaux systèmes d'exploitation
Avec une VM, vous pouvez tester différents systèmes d'exploitation sans apporter de modifications à votre ordinateur principal. C'est comme essayer un nouveau système dans un espace sûr et séparé.
2. Isoler les logiciels risqués
Avez-vous besoin d'ouvrir un fichier dont vous n'êtes pas sûr ou d'essayer une application inconnue ? L'exécuter dans une VM protège votre ordinateur, donc si vous trouvez un logiciel malveillant ou un plantage du système, votre ordinateur principal ne sera pas affecté.
3. Pour exécuter un logiciel hérité ou non disponible
Certains programmes ne fonctionnent que sur des systèmes plus anciens comme Windows XP. Une VM peut recréer cet environnement et vous permettre de continuer à utiliser des logiciels qui pourraient ne pas fonctionner sur les appareils actuels.
4. Pour développer et tester du code sur différentes plateformes
Les VM facilitent aux développeurs de tester du code sur différents systèmes d'exploitation et de simuler comment les nouvelles applications se comporteront dans différents environnements.
5. Pour stimuler le cloud
De nombreux services cloud ( comme Gate Cloud) sont construits sur des VM. Lorsque vous lancez une instance dans le cloud, vous démarrez une VM dans un centre de données distant prête à héberger des sites web, des applications ou des bases de données.
Comment les réseaux blockchain utilisent les VM
Alors que les VM traditionnelles sont des environnements isolés, les machines virtuelles de blockchain agissent comme le moteur qui exécute les contrats intelligents sur les réseaux blockchain. La Machine Virtuelle de Gate (GVM) permet aux développeurs d'écrire des contrats intelligents dans des langages tels que Solidity, Vyper et Yul, et de les déployer sur Gate et d'autres réseaux compatibles avec GVM. La GVM garantit que chaque nœud du réseau suit les mêmes règles lors de la création ou de l'interaction avec des contrats intelligents.
Les réseaux blockchain mettent en œuvre leurs propres types de VM en fonction des objectifs de conception. Certains se concentrent sur la vitesse et l'évolutivité, tandis que d'autres cherchent à être plus sûrs ou flexibles pour les développeurs. Des réseaux comme NEAR et Cosmos utilisent des VM basées sur WebAssembly (WASM), qui prennent en charge des contrats intelligents écrits dans plusieurs langages de programmation.
D'autres réseaux blockchain comme Sui utilisent MoveVM, qui exécute des contrats intelligents écrits dans le langage Move. La blockchain Solana utilise un environnement d'exécution personnalisé, souvent appelé Machine Virtuelle de Solana (SVM), qui est conçu pour traiter des transactions en parallèle et gérer de grandes quantités d'activité sur le réseau.
Machines virtuelles en action
Vous ne les remarquerez peut-être pas, mais les VM travaillent en coulisses chaque fois que vous interagissez avec des applications décentralisées (dApps).
Si vous utilisez une application de Finance Décentralisée (DeFi) comme Gate Swap pour échanger des tokens, vos transactions sont gérées par des contrats intelligents qui s'exécutent dans la GVM.
Si vous mint un NFT, la VM exécute le code qui garde une trace de qui possède chaque NFT. Lorsque vous effectuez un achat ou un transfert, la VM met à jour les enregistrements afin que la propriété du NFT reste précise.
Si vous utilisez un rollup de couche 2, vos transactions peuvent être effectuées par une VM spécialisée, comme une zkGVM. Les zkGVM rendent possible l'exécution de contrats intelligents tout en bénéficiant de preuves à connaissance nulle (ZKP).
Limitations des VM
1. Surcharge de performance : les VM ajoutent une couche supplémentaire entre le matériel et le code qui s'exécute. Cela peut ralentir les choses ou nécessiter plus de ressources informatiques par rapport à l'exécution d'applications directement sur une machine physique.
2. Complexité opérationnelle : maintenir les VM ( en particulier dans les infrastructures cloud ou les réseaux blockchain) nécessite un effort considérable en matière de configuration et de mise à jour. Cela prendra du temps et nécessite souvent des outils et des connaissances spécialisés.
3. Compatibilité : les contrats intelligents sont souvent conçus pour un environnement VM spécifique. Le code écrit pour les contrats intelligents sur Gate devra être réécrit ou adapté pour fonctionner sur d'autres blockchains non compatibles comme Solana. Cela signifie que les développeurs doivent consacrer du temps et des efforts supplémentaires s'ils souhaitent lancer la même application dans plusieurs environnements.
Conclusions
Les VM jouent un rôle important dans le fonctionnement des ordinateurs réguliers, ainsi que dans les systèmes blockchain. Elles vous permettent d'exécuter différents systèmes d'exploitation, de tester des logiciels en toute sécurité et d'utiliser le même matériel pour plusieurs tâches.
Les machines virtuelles sont également utilisées dans les réseaux blockchain pour alimenter des contrats intelligents et des applications décentralisées. Même si vous n'êtes pas un expert, savoir comment fonctionnent les VM peut vous donner une meilleure idée de ce qui se passe en coulisses dans de nombreux outils et plateformes DeFi que nous utilisons.