Vitalik propose RISC-V au lieu de l'EVM comme un futur $ETH d'exécution L1 et je vais expliquer ce que sont les VMs blockchain et comment elles diffèrent.

Les machines virtuelles (VMs) sont fondamentales pour de nombreuses technologies, allant des tests logiciels courants à l'alimentation de centres de données entiers. Cependant, le but d'une VM varie considérablement. Les VMs traditionnelles, illustrées par l'exécution d'Ubuntu sur VirtualBox, visent principalement à simuler des environnements de systèmes d'exploitation complets, offrant flexibilité et isolement sur une seule machine physique. En revanche, les VMs blockchain - telles que la Machine Virtuelle Ethereum (EVM), WebAssembly (WASM), la Machine Virtuelle Sealevel de Solana (SVM) et Nervos CKB-VM (RISC-V) - sont conçues pour une exécution déterministe, sécurisée et décentralisée des contrats intelligents. Bien que les deux types partagent le concept central de "un ordinateur dans un ordinateur", leurs priorités de conception et exigences techniques divergent considérablement. Reconnaître ces différences est crucial pour les développeurs, les entreprises et les passionnés afin de sélectionner l'outil approprié, que ce soit pour un développement et des tests simples ou pour construire des applications décentralisées complexes.

Machines Virtuelles Traditionnelles (Ubuntu, Linux, et Plus)

Les VMs traditionnelles offrent un environnement virtualisé qui émule un système d'exploitation complet, comme Ubuntu, sur un OS hôte tel que Windows ou macOS. Un hyperviseur gère cette configuration, allouant les ressources matérielles - temps CPU, RAM et stockage - entre les systèmes d'exploitation hôte et invité. L'isolement inhérent à chaque VM signifie que des problèmes comme les pannes ou les malwares dans une VM n'affectent généralement pas l'OS hôte ou les autres VMs.

Dans les environnements d'entreprise et de développement, les VMs traditionnelles offrent plusieurs avantages clés. Tout d'abord, elles permettent aux développeurs de tester des logiciels sur divers systèmes d'exploitation sans nécessiter du matériel physique séparé. Deuxièmement, elles améliorent la sécurité en contenant chaque environnement, limitant ainsi l'impact des pannes ou des attaques. Troisièmement, les VMs traditionnelles améliorent l'utilisation des ressources matérielles, permettant aux organisations de consolider des serveurs et de réduire les coûts en exécutant plusieurs machines virtuelles sur moins de dispositifs physiques. Malgré ces avantages, le surcoût en ressources de l'exécution d'un système d'exploitation complet dans chaque VM est substantiel, consommant des ressources qui pourraient autrement être utilisées par les applications elles-mêmes.

Le besoin de VMs spécialisées dans la blockchain

Alors que les VMs traditionnelles se concentrent sur la réplication de systèmes d'exploitation entiers, les VMs blockchain répondent à un besoin critique différent : garantir que chaque nœud d'un réseau décentralisé exécute le même code et parvienne à des résultats identiques pour maintenir le consensus. En pratique, cela nécessite que les VMs blockchain appliquent des règles strictes concernant les opérations arithmétiques, l'allocation de mémoire et l'utilisation des ressources pour garantir le déterminisme. Si différents nœuds produisent des résultats variés à partir de la même transaction, la blockchain échouerait à atteindre le consensus, pouvant entraîner des divisions du réseau et une perte de confiance dans le grand livre.

De plus, les blockchains fonctionnent dans des environnements potentiellement hostiles, exigeant une sécurité robuste. Des acteurs malveillants pourraient essayer d'exploiter des vulnérabilités dans des contrats intelligents ou dans la VM elle-même pour voler des fonds ou corrompre l'état du réseau. Par conséquent, les VMs blockchain isolent l'exécution des contrats et suivent minutieusement la consommation des ressources - généralement à travers des mécanismes comme "gaz", "cycles" ou des frais similaires - pour prévenir les attaques par déni de service ou les boucles infinies. Ces considérations donnent aux VMs blockchain un caractère unique : elles sont plus ciblées et spécialisées que les systèmes d'exploitation à usage général, mais elles doivent être suffisamment robustes pour gérer une logique complexe et Turing-complete de manière déterministe.

Machine Virtuelle Ethereum (EVM)

Introduit par Ethereum en 2015, l'EVM a ouvert la voie au concept d'une VM blockchain largement adoptée, établissant un modèle pour le fonctionnement des applications décentralisées (dApps) sur une plateforme de calcul globale partagée. Elle emploie une architecture basée sur la pile et traite des mots de 256 bits, un choix de conception en partie destiné à simplifier les opérations cryptographiques et à garantir la cohérence à travers un matériel diversifié. Cependant, ce modèle 256 bits introduit un surcoût lors de l'exécution sur des CPU 64 bits typiques, car des opérations qui sont des étapes uniques dans un environnement 64 bits peuvent nécessiter plusieurs opérations sur l'EVM.

Les développeurs écrivent des contrats intelligents EVM dans des langages de haut niveau tels que Solidity ou Vyper, qui sont ensuite compilés en bytecode EVM. L'EVM interprète chaque opcode, facturant aux utilisateurs "gaz" pour chaque opération effectuée. Bien que ce mécanisme atténue efficacement les attaques par déni de service, il révèle également certaines inefficacités. L'exécution interprétative peut être plus lente que les approches compilées, et le prix du gaz peut être difficile à optimiser. La mise à niveau ou l'extension de l'EVM nécessite souvent un hard fork du réseau Ethereum, ce qui peut limiter la flexibilité dans l'implémentation de nouveaux outils cryptographiques ou optimisations de performance. Néanmoins, l'écosystème étendu d'outils de développement, de bibliothèques et de soutien communautaire de l'EVM en fait un choix répandu pour de nombreuses dApps.

WebAssembly (WASM)

WebAssembly (WASM) a vu le jour dans le contexte des navigateurs web, fournissant un format de bytecode indépendant de la plateforme que les navigateurs web pouvaient exécuter à des vitesses proches de celles du natif. Son succès dans les environnements web a rapidement attiré l'attention dans l'espace blockchain, où la performance, la modularité et la flexibilité des langages de programmation sont très appréciées. Contrairement à l'EVM, WASM utilise des tailles de mots standards de 32 bits ou 64 bits, l'alignant plus étroitement avec les architectures CPU modernes. Cet alignement réduit certains risques de débordement d'entier et diminue le surcoût par rapport aux mots de 256 bits d'Ethereum.

De plus, le WASM prend en charge la compilation Just-In-Time (JIT) ou Ahead-of-Time (AOT), permettant au code d'être traduit en instructions natives pour le matériel sous-jacent. Cette approche peut considérablement accélérer l'exécution par rapport aux modèles interprétatifs. Les développeurs peuvent également écrire des contrats intelligents dans divers langages tels que Rust, C, C++, AssemblyScript ou d'autres pouvant être compilés en WASM, le rendant plus accessible aux développeurs non familiers avec Solidity. Bien que les spécifications évolutives du WASM - en particulier des fonctionnalités comme les threads et SIMD - ne soient pas toujours directement applicables aux blockchains (qui nécessitent une exécution déterministe), il reste une option convaincante pour des plateformes comme Polkadot, $NEAR et Cosmos qui visent un soutien linguistique plus large et un débit de transactions plus élevé.

Machine Virtuelle Sealevel de Solana (SVM)

La machine virtuelle Sealevel de Solana (SVM) adopte une stratégie différente, priorisant le haut débit et le parallélisme. Elle compile les contrats intelligents en bytecode Berkeley Packet Filter (BPF), initialement conçu pour le filtrage efficace des paquets réseau dans les systèmes d'exploitation. En tirant parti du matériel multi-cœurs et en segmentant l'état du réseau, Solana peut traiter des milliers de transactions simultanément, à condition que ces transactions n'aient pas besoin de modifier les mêmes données. Cette approche contraste fortement avec de nombreux environnements à thread unique ou de concurrence limitée comme l'EVM, permettant $SOL d'atteindre des niveaux de débit de transactions que les blockchains traditionnelles ont du mal à égaler.

Cependant, cette vitesse s'accompagne de certains compromis. Les exigences matérielles pour faire fonctionner un validateur Solana sont relativement élevées, ce qui peut potentiellement affecter la décentralisation du réseau. La gestion des collisions d'état - où plusieurs transactions tentent de modifier les mêmes données on-chain - ajoute également de la complexité à la conception. Néanmoins, pour les applications de finance décentralisée (DeFi) à haute vitesse ou les plateformes NFT, le parallélisme de SVM offre la capacité de gérer des pics de trafic qui submergeraient des systèmes moins évolutifs.

CKB-VM (RISC-V)

La CKB-VM de Nervos Network utilise l'ensemble d'instructions RISC-V, noté pour sa nature open-source, sa simplicité et sa modularité. Contrairement à WASM, qui a été initialement conçu pour les navigateurs, RISC-V est une véritable architecture CPU qui peut être implémentée en matériel ou émulée en logiciel. En compilant le code des contrats intelligents en instructions RISC-V, la CKB-VM acquiert plusieurs avantages distincts. Premièrement, elle évite le surcoût de l'exécution interprétative si elle fonctionne sur du matériel RISC-V - atteignant potentiellement des vitesses proches du natif. Deuxièmement, elle permet aux développeurs d'introduire de nouveaux primitives cryptographiques ou structures de données directement comme scripts on-chain sans nécessiter une mise à niveau à l'échelle du réseau. Ce design favorise un haut degré de flexibilité et d'extensibilité tout en maintenant le déterminisme.

Parce que RISC-V est moins établi dans l'espace blockchain par rapport à l'EVM ou au WASM, les outils autour de CKB-VM ne sont pas aussi étendus. Cependant, des langages comme Rust, C et Go offrent déjà la compilation croisée vers RISC-V. Cette combinaison de flexibilité, de potentiel de performance et d'un design à l'épreuve du temps pourrait devenir de plus en plus précieuse à mesure que l'industrie cherche à intégrer une cryptographie avancée (comme les preuves à connaissance nulle) sans nécessiter de changements de protocole perturbateurs.

Comparaisons : Mesure des ressources, déterminisme et au-delà

Toutes les VMs blockchain partagent des caractéristiques fondamentales pour garantir la stabilité et la sécurité du consensus décentralisé. Tout d'abord, chaque VM met en œuvre la mesure des ressources - qu'elle soit appelée gaz, cycles ou unités de calcul - pour décourager les boucles infinies et l'exécution de code malveillant. Deuxièmement, le déterminisme est primordial : un contrat qui produit des résultats différents sur différentes machines compromettrait l'intégrité du grand livre. En appliquant des règles strictes sur la manière dont les données sont traitées (par exemple, arithmétique entière sans opérations à virgule flottante), les VMs blockchain garantissent des résultats cohérents sur tous les nœuds.

Malgré ces points communs, chaque conception implique des compromis uniques :

* EVM : Bénéficie d'un écosystème riche et d'un large soutien des développeurs, mais souffre d'une exécution plus lente et d'une architecture 256 bits qui peut être inefficace sur les CPU modernes.

* WASM : Offre des performances élevées, un large soutien linguistique et une compilation proche du natif, mais sa spécification et son écosystème d'outils sont encore en évolution.

* SVM : Fournit un parallélisme extrême pour un débit élevé, mais s'accompagne de demandes matérielles plus élevées et de préoccupations potentielles concernant la décentralisation.

* CKB-VM (RISC-V) : Dispose d'un ensemble d'instructions minimaliste pour la vitesse et l'extensibilité, bien que son adoption et ses outils soient moins répandus que ceux de l'EVM ou du WASM.

Conclusion

Bien que les VMs traditionnelles et les VMs blockchain soient fondamentalement "des ordinateurs dans des ordinateurs", leurs objectifs et contraintes diffèrent considérablement. Les VMs traditionnelles visent à répliquer des environnements d'exploitation complets - offrant la commodité de faire fonctionner Ubuntu sur un hôte Windows pour des tests ou une sécurité accrue grâce à l'isolement. Les VMs blockchain, en revanche, se spécialisent dans la synchronisation de la computation à travers potentiellement des milliers de nœuds, chacun devant interpréter et valider le même code de manière identique. Cela résulte en une gamme d'environnements d'exécution spécialisés - EVM, WASM, SVM et CKB-VM basé sur RISC-V - qui priorisent la sécurité, le déterminisme et la performance de manières distinctes. Comprendre ces nuances est essentiel pour les développeurs et les entreprises afin de choisir la VM appropriée pour leur cas d'utilisation spécifique, que cela implique de construire un protocole DeFi sur Ethereum, d'expérimenter avec l'exécution parallèle sur Solana, ou de tirer parti de l'extensibilité d'une blockchain basée sur RISC-V. Alors que la technologie décentralisée continue d'évoluer, le développement continu de ces VMs façonnera sans aucun doute la manière dont nous construisons et opérons la prochaine génération d'applications blockchain.

#VitalikButerin #ScalingETH

#ETH #RISC_V #explain

ETH
ETHUSDT
3,293.94
-2.30%
SOL
SOLUSDT
141.59
-3.48%
DOT
DOTUSDT
2.116
-5.45%