Le langage de programmation Move a été initialement utilisé pour construire la blockchain Diem. Il a été créé par la Diem Association, un consortium technologique soutenu par Meta. Bien que la blockchain ait finalement été abandonnée, Move est toujours utilisée aujourd’hui.

Le langage de programmation Move est un langage de bytecode exécutable. Il met en œuvre des contrats intelligents et des transactions personnalisées. Move vise à remédier aux problèmes découlant d’autres langages de programmation blockchain, comme Solidity. Cependant, les objectifs fondamentaux visant à parvenir à la rareté numérique et au contrôle des actifs numériques restent les mêmes. En particulier, il vise également à éviter les doubles dépenses et permet aux détenteurs d’actifs numériques de conserver les informations de propriété.

Ce faisant, Move maximise la sécurité tout en conservant une conception simplifiée et des coûts de gaz nettement inférieurs à ceux des blockchains non construites sur Move.

Comment fonctionne le langage de programmation Move ?

Move utilise une logique linéaire, ce qui signifie que les ressources ne peuvent être utilisées qu'une seule fois et ne sont jamais copiées ou implicitement supprimées. Cela permet aux développeurs d'encoder des types de ressources personnalisés qui ne peuvent pas être effacés ou dupliqués et qui sont mieux traités que les autres.

Le système de types statiques de Move est l'endroit où les variables doivent être définies comme un type (un nombre/un mot). Il protège les ressources prioritaires. Néanmoins, ils peuvent être utilisés comme des éléments normaux et stockés dans des structures de données ou fournis comme valeurs dans les calculs. Les ressources sont également transparentes dans les modules et ne peuvent pas être appelées par des sources externes.

De plus, les modules de Move sont flexibles et sûrs puisque la relation entre les modules, les ressources et les procédures est similaire à la relation entre les classes, les objets et les méthodes dans la programmation orientée objet.

Move peut également vérifier tous les traits de sécurité en chaîne et prendre en charge les outils de vérification statique hors chaîne. Cela réduit considérablement les complexités liées à la vérification en chaîne. Sa conception repose sur trois décisions fondamentales :

—> L'absence de répartition dynamique évite la construction de graphiques d'appels et permet une détermination statique du site d'appel. Cela permet à Move d'identifier les effets d'un appel de procédure plus facilement et sans complexités supplémentaires.

—> Grâce à sa modularité, les modules peuvent être isolés pour une vérification fonctionnelle, et ils aident à extraire les données et à localiser les opérations critiques sur les ressources. La sécurité est garantie en encapsulant le module aux côtés du système de types du langage, ce qui signifie que le code en dehors d'un module ne peut pas violer ses types. De plus, en examinant les modules isolés, il fournira une vérification fonctionnelle approfondie des invariants significatifs des modules.

—> Enfin, sa mutabilité limitée permet d'utiliser des types référence similaires au C++. Les références sont essentielles pour muter chaque valeur de déplacement, et généralement les valeurs temporaires sont créées et détruites dans un script de transcription. Semblable à Rust, le vérificateur de bytecode de Move « emprunte des contrôles » pour confirmer au moins une référence mutable.

-> Enfin, Move rejette les programmes ne respectant pas la sécurité des types, la sécurité de la mémoire et la sécurité des ressources. Au lieu de cela, un langage de programmation de haut niveau avec un compilateur, chargé de vérifier les propriétés, peut être utilisé. L'alternative est un assemblage non typé de bas niveau avec des contrôles de sécurité.

#Write2Earn #TrendingTopic #