Sui.

Publication

Partagez vos connaissances.

article banner.
MiniBob.
Apr 30, 2025
Article

Le langage de programmation Move : son histoire

Dans le paysage en constante évolution de la technologie blockchain, les langages de programmation de contrats intelligents sont devenus l'épine dorsale des applications décentralisées (DApps). Parmi ceux-ci, Move s'est imposé comme une innovation révolutionnaire, offrant des fonctionnalités uniques qui le distinguent des langages traditionnels tels que Solidity ou Vyper. Conçu dans un souci de sécurité et d'évolutivité, Move a été créé pour remédier à de nombreuses vulnérabilités et inefficacités inhérentes aux anciens écosystèmes de blockchain. Cet article explore les origines, les fonctionnalités et l'impact du langage de programmation Move, en explorant son parcours depuis sa création jusqu'à devenir l'un des outils les plus prometteurs pour créer des systèmes décentralisés robustes.

Les origines de Move : une solution aux défis de la blockchain

Le langage de programmation Move a été introduit pour la première fois par Meta (anciennement Facebook) dans le cadre de son ambitieux projet Diem (initialement appelé Libra). Diem visait à créer une monnaie numérique mondiale et une infrastructure financière alimentées par la technologie blockchain. Cependant, l'équipe s'est vite rendu compte que les langages de contrats intelligents existants ne correspondaient pas à leur vision. Les langages traditionnels ne disposaient souvent pas de mécanismes permettant de prévenir les vulnérabilités courantes telles que les attaques par réentrance, les dépassements d'entiers et la duplication non autorisée de ressources. Ces problèmes avaient déjà causé des dommages importants dans d'autres écosystèmes, notamment le tristement célèbre piratage DAO sur Ethereum.

Pour surmonter ces défis, l'équipe d'ingénierie de Meta a développé Move, un nouveau langage spécialement conçu pour la programmation axée sur les ressources. Contrairement aux langages de programmation classiques, Move traite les actifs numériques comme des ressources de première classe, garantissant qu'ils ne peuvent pas être dupliqués, supprimés involontairement ou utilisés à mauvais escient. Cette approche a été inspirée par la logique linéaire, un cadre mathématique qui impose des règles de propriété strictes pour les ressources. En intégrant ces principes au cœur du langage, Move a introduit un changement de paradigme dans la façon dont les développeurs interagissent avec les actifs numériques sur la blockchain.

Bien que le projet Diem ait finalement été abandonné en raison d'un examen réglementaire, Move a trouvé une nouvelle vie dans des projets de blockchain indépendants tels qu'Aptos et Sui. Ces plateformes ont adopté Move comme principal langage de contrats intelligents, reconnaissant ainsi son potentiel à révolutionner la façon dont les applications décentralisées sont créées et sécurisées.

Principales caractéristiques de Move : pourquoi il se démarque

1. Programmation axée sur les ressources

L'une des caractéristiques déterminantes de Move est sa focalisation sur la programmation axée sur les ressources. Dans Move, les actifs numériques tels que les jetons, les NFT ou même les objets personnalisés sont traités comme des ressources qui suivent des règles de propriété strictes. Une fois créée, une ressource ne peut pas être copiée ou détruite sauf autorisation explicite de son module. Cela garantit que les opérations critiques impliquant des actifs, telles que les transferts ou les mises à jour d'état, sont effectuées en toute sécurité.

Par exemple, considérez une simple fonction de transfert de jetons écrite dans Move : exemples de modules : :token { utilisez sui : :object : : {Self, UID} ; utilisez sui : :transfer ;

struct Le jeton a une clé, store { identifiant : UID, valeur : u64, }

public fun mint (ctx : &mut TxContext, valeur : u64) : Token { Jeton { identifiant : object : :new (ctx), valeur, } }

public fun transfer_token (jeton : jeton, destinataire : adresse) { transfer : :public_transfer (jeton, destinataire) ; } }

Ici, la Token structure représente une ressource qui ne peut être transférée qu'à l'aide de la fonction public_transfer. Toute tentative de duplication ou de manipulation du jeton en dehors de cette fonction entraînerait une erreur de compilation. Cette conception élimine des classes entières de bogues et d'exploits couramment observés dans d'autres langues.

###2. Modularité et encapsulation Move favorise la conception modulaire, permettant aux développeurs d'encapsuler des fonctionnalités dans des modules autonomes. Chaque module définit ses propres types, fonctions et contrôles d'accès, garantissant ainsi une séparation claire entre les différents composants d'un contrat intelligent. Par exemple, un développeur peut créer des modules distincts pour la création de jetons, les paires de trading et la logique de gouvernance. Cette modularité améliore la lisibilité, la maintenabilité et la réutilisabilité du code.

3. Assistance à la vérification formelle

Une autre caractéristique remarquable de Move est sa prise en charge de la vérification formelle, un processus utilisé pour prouver mathématiquement l'exactitude d'un programme. La vérification formelle permet d'identifier les bugs subtils et les cas limites qui peuvent ne pas être détectés par les méthodes de test traditionnelles. Bien que tous les projets basés sur MOVE ne nécessitent pas de vérification formelle, la structure du langage facilite l'application de cette technique en cas de besoin.

##4. Conception centrée sur l'objet (améliorations spécifiques à Sui) Sur la blockchain Sui, Move a été encore amélioré avec un modèle centré sur l'objet. Chaque ressource de Sui Move possède un identifiant unique au monde (UID), permettant un référencement direct et une interaction avec les objets. Cette conception simplifie les flux de travail complexes, tels que la gestion des NFT ou le suivi des données spécifiques aux utilisateurs, tout en maintenant des performances et une évolutivité élevées.

Applications réelles de Move

Depuis son adoption par Aptos et Sui, Move a été utilisé pour créer un large éventail d'applications décentralisées. Parmi les exemples notables, citons :

1. Protocoles de finance décentralisée (DeFi)

L'accent mis par Move sur la sécurité le rend idéal pour les applications DeFi, où des milliards de dollars d'actifs sont en jeu. Des projets tels que Cetus, une bourse décentralisée (DEX) basée sur SUI, tirent parti de la programmation axée sur les ressources de Move pour implémenter des fonctionnalités de trading avancées tout en minimisant les risques associés à la manipulation des actifs.

###2. Jetons non fongibles (NFT) Les places de marché NFT bénéficient grandement de la capacité de Move à définir et à gérer des actifs numériques uniques. Les développeurs peuvent créer des normes NFT sophistiquées avec un contrôle granulaire de la propriété, des redevances et des métadonnées. De plus, les améliorations centrées sur les objets de Sui permettent une intégration fluide des NFT dynamiques, qui peuvent évoluer en fonction de conditions prédéfinies.

3. Plateformes de jeux et de métavers

Le jeu blockchain nécessite une gestion efficace des actifs du jeu, des interactions avec les joueurs et des mises à jour en temps réel. L'architecture modulaire et l'exécution à faible latence de Move en font un outil idéal pour créer des expériences de jeu immersives. Des plateformes comme Blockus, un écosystème de jeu Web3, utilisent Move pour alimenter leurs jeux et leurs économies décentralisés.

Comparaison de Move avec d'autres langages de contrats intelligents

Bien que Move présente certaines similitudes avec d'autres langages de contrats intelligents, ses fonctionnalités uniques lui confèrent un avantage concurrentiel :

  • Solidité : en tant que langage principal d'Ethereum, Solidity est largement adopté mais souffre de problèmes hérités tels que la vulnérabilité aux attaques de réentrée. Move remédie à ces faiblesses grâce à son modèle axé sur les ressources et à une sécurité de type plus stricte.
  • Rust (utilisé dans Solana) : Rust offre d'excellentes performances et une sécurité de la mémoire, mais ne prend pas en charge nativement Move pour la gestion des ressources et la vérification formelle. De plus, la courbe d'apprentissage abrupte de Rust peut dissuader les nouveaux arrivants par rapport à la syntaxe plus intuitive de Move.
  • Clarity (utilisé dans Stacks) : Clarity met l'accent sur la transparence et la prévisibilité, mais fonctionne dans un périmètre limité lié à l'écosystème de Bitcoin. Move, quant à lui, prend en charge des cas d'utilisation plus larges sur plusieurs blockchains.

L'avenir de Move : adoption et évolution

Alors que la technologie blockchain continue de mûrir, la demande de langages de contrats intelligents sécurisés et évolutifs ne fera que croître. Move est sur le point de jouer un rôle central dans la conception de la prochaine génération d'applications décentralisées, grâce à sa conception innovante et au soutien croissant de la communauté.

Des projets tels qu'Aptos et Sui investissent activement dans la formation des développeurs, l'outillage et l'infrastructure afin d'accélérer l'adoption de Move. Des initiatives telles que la plateforme d'apprentissage en ligne Move fournissent des didacticiels et des ressources complets aux développeurs en herbe, réduisant ainsi les obstacles à l'entrée. En outre, les collaborations avec des institutions universitaires et des leaders du secteur stimulent la recherche sur des sujets avancés tels que la vérification formelle et l'interopérabilité inter-chaînes.

À l'avenir, nous pouvons nous attendre à ce que Move aille au-delà de ses cas d'utilisation actuels, en proposant des solutions de chaîne d'approvisionnement de niveau entreprise aux réseaux sociaux décentralisés. Son adaptabilité et sa robustesse lui permettent de rester pertinent dans un écosystème blockchain de plus en plus diversifié et interconnecté.

  • Move
3
Partager
Commentaires
.

Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

291Publications418Réponses
Sui.X.Peera.

Gagne ta part de 1000 Sui

Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.

Campagne de RécompensesMai
Nous utilisons des cookies pour vous assurer la meilleure expérience sur notre site Web.
Plus d'infos