Qu'est-ce que MOVE ?

Avancé11/30/2022, 9:36:44 AM
Move est un langage fonctionnel bytecode développé par Libra (maintenant Diem) pour résoudre les problèmes affectant les blockchains. Move met en œuvre des contrats intelligents et permet la personnalisation des transactions.

Introduction

Blockchain et l'industrie cryptographique ont révolutionné le secteur financier et le monde. Plusieurs start-ups ont vu le jour pour contribuer à la croissance de l'industrie et créer une utilisation généralisée des crypto-monnaies. De nombreux projets ont donné naissance à de nouvelles plates-formes qui s'adressent aux utilisateurs ordinaires pour attirer un public plus large.

Ces projets sont alimentés par plusieurs mécanismes qui assurent le bon déroulement des opérations, garantissant une plateforme sûre, sécurisée et efficace. Les contrats intelligents, qui sont des programmes informatiques, sont un élément clé puisqu'ils contrôlent les activités et les événements d'un contrat. Pour s'en assurer, le contrat intelligent Move a été créé pour aider les développeurs à créer des logiciels adaptables qui facilitent le développement de programmes.

Cet article examine les caractéristiques, les utilisations et les composants de Move, ainsi que le secret de sa récente popularité.

Qu'est-ce que Move ?

Move est un langage bytecode exploitable qui met en œuvre des contrats intelligents et des transactions personnalisables. Il a été développé pour s'attaquer aux problèmes généraux qui affectaient les langages de programmation de blockchain. Avec l'avantage supplémentaire de la sécurité et de la protection, Move crée une avenue pour les développeurs afin de construire des programmes flexibles qui gèrent et transfèrent facilement les actifs numériques.

Bien qu'il ait d'autres utilisations, l'objectif principal de l'équipe de développement de Move était d'établir un langage garantissant qu'un actif numérique donné ne peut être dépensé qu'une seule fois et ne peut être détenu que par une seule personne à la fois.

Historique du langage de programmation Move

Move a été développé comme un langage de programmation simple et sécurisé pour la blockchain Diem développée par Facebook. Libra a été développée pour être une blockchain facile, bon marché et utilisée dans le monde entier. Il a été développé comme un actif numérique basé sur la blockchain, flexible et peu coûteux. Ainsi, Move a été conçu pour effectuer des transactions blockchain et permettre aux développeurs de créer des applications compatibles avec Libra.

Avant la fin de l'année 2020, la Balance a été confrontée à des problèmes et à des réactions négatives de la part de membres économiques de différents pays, ainsi qu'à des problèmes liés à son nom et à son logo, ce qui l'a amenée à changer son nom en Diem. Le lancement de la blockchain a échoué en janvier 2022 en raison des inquiétudes des puissances mondiales quant aux problèmes de sécurité et de blanchiment d'argent que le lancement de Libra créerait.

Move a été écrit à l'aide du langage RUST; un langage de programmation multi-paradigme populaire très recherché par les programmeurs du monde entier en 2018. Le langage de programmation de Rust a donné la priorité à la sécurité de la mémoire et à la prévention des courses de données concurrentes. Il a été développé par Graydon Hoare en 2006 alors qu'il travaillait pour Mozilla Research.

Objectifs de conception du mouvement

La conception de Move pour la blockchain Diem était largement axée sur la mise à disposition d'une plateforme sûre et facilement programmable. Pour le démontrer, Move devait présenter les lois de la blockchain Diem et sa monnaie de manière simple, précise et vérifiable.

Dans cette optique, les concepteurs de Move ont sélectionné des objectifs de conception spécifiques pour soutenir la croissance du programme et rester pertinents à l'avenir. Voici quelques-uns des objectifs de la conception :

Des ressources de premier ordre

Move permet aux utilisateurs de déclarer un actif personnalisé comme type de ressource. Ces biens sont appelés ressources de première classe et bénéficient de privilèges spéciaux et d'une sécurité accrue. Les ressources de première classe feront également l'objet d'un contrôle d'accès automatique, de sorte que seuls les utilisateurs possédant le bon code de sécurité pourront franchir le point d'accès. Move dispose également de modules comme le populaire contrat intelligent Ethereum (Solidity). Ces modules sont des blocs de code qui contiennent des ressources et différents types et procédures.

La construction spéciale de Move fait en sorte que les ressources peuvent être complètement transparentes dans les modules tout en étant opaques aux invocations externes du module. Une autre caractéristique importante du langage Move est que les ressources ne peuvent jamais être copiées ou complètement effacées. Ils ne peuvent être déplacés que d'un lieu de stockage à l'autre.

Flexibilité

Des scripts de transaction seront inclus dans chaque transaction Diem (Balance). Ces scripts de transaction sont utilisés dans un module pour effectuer des appels et des procédures de rappel. La procédure principale unique peut être constituée de code personnalisable et arbitraire. Un seul script de transaction peut faire appel à diverses procédures.

Les modules de déplacement offrent aux programmeurs une certaine flexibilité tout en leur permettant de construire des codes sûrs. Move peut être assimilé au langage de programmation orienté objet en raison de sa relation identique entre "classes, méthodes, objets" et "modules, procédures et ressources".

Vérifiabilité

Les outils de vérification hors chaîne sont également autorisés sur MOVE, même s'il détient déjà un système permettant la vérification sur chaîne. Cela est dû au fait qu'une vérification sur la chaîne n'est pas appropriée pour une blockchain de haut niveau. L'introduction de la vérification hors chaîne permettra de réduire le processus complexe de la vérification sur chaîne. Pour y parvenir, le langage de programmation move se concentrerait sur trois conceptions distinctes :

Pas de répartition dynamique

Cela permet d'éviter la construction complexe du graphe d'appel et de déterminer statiquement les sites d'appel.

Modularité

MOVE, à l'aide de la modularité, est capable d'isoler les modules pour la vérification fonctionnelle. Les modules de déplacement aideraient à l'abstraction des données et à la localisation des opérations importantes sur les ressources.

Mutabilité limitée

Cette conception est décente pour les cas qui sont orientés vers l'utilisation de types de référence similaires à ceux du C++. Il autorise un maximum d'une référence mutable à un point.

Sécurité

Trois propriétés de sécurité sont essentielles dans le langage de programmation Move : la sécurité des types, la sécurité des ressources et la sécurité de la mémoire. Il existe différentes approches possibles que Move pourrait utiliser pour s'assurer que les programmes qui n'adhèrent pas à ces propriétés de sécurité ne sont pas acceptés.

La première approche consisterait pour Move à utiliser un langage de programmation de haut niveau équipé d'un compilateur chargé de parcourir les propriétés.

La deuxième approche consisterait à utiliser un assemblage non typé de bas niveau ainsi que des contrôles de sécurité. Move élimine les deux approches et s'appuie sur son exécution, qui est un bytecode typé, avancé par rapport au bytecode et pas aussi avancé que le langage source.

Comment fonctionne Move ?

Le langage particulier de Move a été développé en utilisant la logique linéaire, qui limite l'utilisation des ressources à une seule fois et fait en sorte que les actifs numériques ne puissent être ni supprimés ni dupliqués. Cela permet aux développeurs d'encoder des types de ressources personnalisés qui ne peuvent pas être implicitement effacés ou copiés, car les types de ressources sont traités comme étant de première classe.

Move utilise un système de type statique qui définit les variables d'un langage de programmation comme un certain type (c'est-à-dire un nombre ou un mot). Move maintient toujours la sécurité des ressources mais laisse suffisamment de place pour les utiliser comme toute autre ressource non de première classe. Ils peuvent facilement être stockés dans des structures de données ou transmis comme valeurs dans des calculs.

Cela signifie que les ressources dans Move sont hautement sécurisées et, en même temps, capables de fonctionner sans restrictions. Le code fournit un niveau de sécurité mais peut aussi être utilisé pour toutes les autres opérations facilement. C'est un mélange parfait pour les programmes de blockchain car il résout les problèmes de sécurité et d'évolutivité auxquels sont confrontés la plupart des blockchains.

Qu'est-ce qui rend Move unique ?

La plupart des projets de crypto-monnaies ont, outre leur nom, une certaine caractéristique ou un certain attribut qui les distingue de toutes les autres plateformes et de tous les concurrents. Move n'est pas différent à cet égard. Il s'est doté de certaines caractéristiques qui en font un meilleur choix pour les projets existants. Voici quelques caractéristiques qui distinguent Move des autres.

  • Le langage mobile implique des politiques de contrôle d'accès intégrées dans la sémantique du langage.
  • Move n'applique pas de système de type par défaut pour les actifs numériques comme Ether ou Bitcoin.
  • Dans toute la langue, vous pourriez trouver une seule représentation de localisation de biens. Tout type d'actif personnalisé, comme les jetons ERC20 , doit être examiné pour les caractéristiques de sécurité spécifiées par le programmeur qui a créé les jetons.
  • Move est libre des problèmes de limitations

Composants de MOVE

Les caractéristiques uniques de Move ne sont pas les seules à faire fonctionner le langage de programmation. Il comprend également plusieurs composantes adaptées aux processus du programme. Voici quelques composants que les utilisateurs peuvent trouver dans MOVE.

Types

Dans MOVE, cela fait référence aux types de données primitives pris en charge. Les booléens, les entiers non signés de 64 bits, les tableaux d'octets de taille fixe et les adresses de 256 bits en sont autant d'exemples.

Structure

Il existe deux types de structures. La première est appelée Kind, qui fait référence aux structures de ressources. La seconde, appelée "non restreinte", fait référence à la structure générale.

Procédures

Sous cette composante, nous avons deux méthodes principales, à savoir, publique et interne. La dépendance acyclique des modules permet d'éviter les attaques récurrentes.

Vérificateur de bytecode

Cette composante est chargée de vérifier les traits de sécurité avant la publication des modules. Les programmes en mouvement doivent passer par le vérificateur avant d'être publiés. La vérification est décomposée en différentes étapes.

  • Vérification que la taille de la pile n'a pas encore été modifiée à l'issue de toutes les opérations.
  • Vérification du type
  • Développement du graphique de contrôle
  • Vérification des références
  • Liaison des références à l'état global pour vérifier la conformité de la déclaration et de l'utilisation
  • Vérification des ressources

Interprète de bytecode

Une fois le processus de vérification terminé, tous les programmes doivent passer par l'interprète. L'exécution des programmes peut être assimilée à celle d'Ethereum puisque les deux plateformes utilisent des paramètres gazeux, assurant des exécutions en boucle infinie.

Déplacer la machine virtuelle

La machine virtuelle de Move ne fonctionne pas différemment de votre blockchain moyenne. Il comprend plusieurs blocs contenant plusieurs transactions, et chaque transaction, une fois exécutée, crée un effet de transaction. Les effets créent l'état global actualisé de la blockchain, en séparant les effets des transitions d'état.

Le secret derrière la récente popularité de Move

On aurait pu s'attendre à ce que Move soit devenu un langage de programmation populaire à l'heure actuelle, mais en raison des problèmes auxquels Diem (anciennement Libra) a été confronté, sa croissance a été interrompue. Elle a récemment goûté aux feux de la rampe grâce à Aptos.

Aptos est une blockchain de niveau 1 créée à l'aide du langage de programmation Move. Elle a été développée par les développeurs de Meta qui ont décidé de développer leur propre blockchain après que Meta ait abandonné le projet de blockchain Diem (anciennement Libra). Il combine des transactions parallèles et le langage de programmation Move pour produire une vitesse de transaction théorique de 100 000 transactions par seconde.

La décision d'Aptos d'utiliser le langage de programmation Move a créé une plateforme qui peut théoriquement atteindre des vitesses de transaction et une évolutivité élevées sans renoncer à la sécurité de la blockchain. Aptos s'est doté de composants qui aideraient la blockchain à se démarquer des autres.

Move et autres langages de programmation

[Move n'est pas le seul langage de programmation disponible ; il est fréquemment comparé à Solidity et Clarity. Ces trois langages de programmation sont les plus utilisés sur les différentes plateformes de l'espace blockchain. Vous trouverez ci-dessous une analyse de la comparaison entre Move et les deux autres.

Mouvement vs. Solidité

Solidity est un langage de programmation conçu uniquement pour la création de contrats intelligents sur le réseau Ethereum. Ainsi, les membres à l'origine de la blockchain Ethereum ont fait de Solidity le premier choix pour la mise en œuvre de contrats intelligents pour les machines virtuelles Ethereum ainsi que pour les plateformes de développement de blockchain compatibles EVM. Le langage de haut niveau à accolades s'inspire d'autres langages de programmation comme Javascript, C++ et Python.

La conception de solidity permet aux développeurs d'écrire des applications qui utilisent une logique d'auto-application. De plus, le fait que Solidity s'inspire de la syntaxe javascript a permis aux développeurs de comprendre et de mettre en œuvre facilement le javascript.

Comme Solidity, Move a été créé en pensant à différents réseaux. Le premier réseau pour la mise en œuvre de la langue Move était Diem, qui a finalement été dissous. Solidity, quant à lui, a été développé pour la populaire blockchain Ethereum, qui fonctionne encore aujourd'hui.

Le niveau de sécurité face aux attaques de rentrée est une grande différence entre Move et Solidity. Solidity est communément connu pour être vulnérable aux attaques par ré-entrée si le code construit avec le langage est faible. Move, en revanche, ne souffre pas des attaques de réentrée grâce à ses caractéristiques de sécurité des actifs (définition des ressources et séparation des autorités de contrôle, typage statique, génériques, système de modules et vérification formelle).

Enfin, un facteur clé pour les développeurs dans le choix d'un langage de programmation est la facilité d'utilisation. Solidity est connu comme l'un des langages les plus flexibles qui soient, et c'est pourquoi il est encore populairement utilisé aujourd'hui. Move, malheureusement, n'est pas aussi flexible, mais il reste facile à utiliser.

Mouvement vs. clarté

Blockstack est une plateforme qui vise à développer son propre Internet et à fournir des services et des facilités en matière de contrats intelligents. Pour faciliter cela, Blockstack a introduit Clarity comme langage de programmation de contrats intelligents pour leur propre Blockchain Stacks. Clarity est un langage de programmation qui permet aux utilisateurs de développer leurs propres conditions spéciales pour le contrat plutôt que des conditions préprogrammées.

Clarity élimine également les risques de transactions inattendues, ce qui lui confère un niveau de sécurité supplémentaire. L'une des principales caractéristiques de la clarté est un aspect de certitude qui fournit un langage de programmation "décidable" qui indique ce que l'ordinateur fera avec le code.

Move est basé sur Diem, une blockchain hautement évolutive, sûre et flexible, tandis que Clarity est basé sur Stack 2.0, un réseau open-source pour différentes dApps qui utilisent le réseau Ethereum pour en créer de nouvelles.

La compilation de Move le distingue également de Clarity. Move fait appel à un compilateur pour l'exécution de ses codes. Contrairement à Move, Clarity n'utilise pas de compilateur lors de l'exécution d'un code.

Conclusion

Move s'est révélé être un type particulier de langage de programmation qui va révolutionner l'industrie de la blockchain dans son ensemble. Jusqu'à présent, elle a attiré l'attention de la nouvelle blockchain Aptos, et seul le temps dira dans quelle mesure cette combinaison sera fructueuse.

Tác giả: Tamilore
Thông dịch viên: piper
(Những) người đánh giá: Hugo、Edward、Ashely、Joyce
* Đầu tư có rủi ro, phải thận trọng khi tham gia thị trường. Thông tin không nhằm mục đích và không cấu thành lời khuyên tài chính hay bất kỳ đề xuất nào khác thuộc bất kỳ hình thức nào được cung cấp hoặc xác nhận bởi Gate.io.
* Không được phép sao chép, truyền tải hoặc đạo nhái bài viết này mà không có sự cho phép của Gate.io. Vi phạm là hành vi vi phạm Luật Bản quyền và có thể phải chịu sự xử lý theo pháp luật.

Qu'est-ce que MOVE ?

Avancé11/30/2022, 9:36:44 AM
Move est un langage fonctionnel bytecode développé par Libra (maintenant Diem) pour résoudre les problèmes affectant les blockchains. Move met en œuvre des contrats intelligents et permet la personnalisation des transactions.

Introduction

Blockchain et l'industrie cryptographique ont révolutionné le secteur financier et le monde. Plusieurs start-ups ont vu le jour pour contribuer à la croissance de l'industrie et créer une utilisation généralisée des crypto-monnaies. De nombreux projets ont donné naissance à de nouvelles plates-formes qui s'adressent aux utilisateurs ordinaires pour attirer un public plus large.

Ces projets sont alimentés par plusieurs mécanismes qui assurent le bon déroulement des opérations, garantissant une plateforme sûre, sécurisée et efficace. Les contrats intelligents, qui sont des programmes informatiques, sont un élément clé puisqu'ils contrôlent les activités et les événements d'un contrat. Pour s'en assurer, le contrat intelligent Move a été créé pour aider les développeurs à créer des logiciels adaptables qui facilitent le développement de programmes.

Cet article examine les caractéristiques, les utilisations et les composants de Move, ainsi que le secret de sa récente popularité.

Qu'est-ce que Move ?

Move est un langage bytecode exploitable qui met en œuvre des contrats intelligents et des transactions personnalisables. Il a été développé pour s'attaquer aux problèmes généraux qui affectaient les langages de programmation de blockchain. Avec l'avantage supplémentaire de la sécurité et de la protection, Move crée une avenue pour les développeurs afin de construire des programmes flexibles qui gèrent et transfèrent facilement les actifs numériques.

Bien qu'il ait d'autres utilisations, l'objectif principal de l'équipe de développement de Move était d'établir un langage garantissant qu'un actif numérique donné ne peut être dépensé qu'une seule fois et ne peut être détenu que par une seule personne à la fois.

Historique du langage de programmation Move

Move a été développé comme un langage de programmation simple et sécurisé pour la blockchain Diem développée par Facebook. Libra a été développée pour être une blockchain facile, bon marché et utilisée dans le monde entier. Il a été développé comme un actif numérique basé sur la blockchain, flexible et peu coûteux. Ainsi, Move a été conçu pour effectuer des transactions blockchain et permettre aux développeurs de créer des applications compatibles avec Libra.

Avant la fin de l'année 2020, la Balance a été confrontée à des problèmes et à des réactions négatives de la part de membres économiques de différents pays, ainsi qu'à des problèmes liés à son nom et à son logo, ce qui l'a amenée à changer son nom en Diem. Le lancement de la blockchain a échoué en janvier 2022 en raison des inquiétudes des puissances mondiales quant aux problèmes de sécurité et de blanchiment d'argent que le lancement de Libra créerait.

Move a été écrit à l'aide du langage RUST; un langage de programmation multi-paradigme populaire très recherché par les programmeurs du monde entier en 2018. Le langage de programmation de Rust a donné la priorité à la sécurité de la mémoire et à la prévention des courses de données concurrentes. Il a été développé par Graydon Hoare en 2006 alors qu'il travaillait pour Mozilla Research.

Objectifs de conception du mouvement

La conception de Move pour la blockchain Diem était largement axée sur la mise à disposition d'une plateforme sûre et facilement programmable. Pour le démontrer, Move devait présenter les lois de la blockchain Diem et sa monnaie de manière simple, précise et vérifiable.

Dans cette optique, les concepteurs de Move ont sélectionné des objectifs de conception spécifiques pour soutenir la croissance du programme et rester pertinents à l'avenir. Voici quelques-uns des objectifs de la conception :

Des ressources de premier ordre

Move permet aux utilisateurs de déclarer un actif personnalisé comme type de ressource. Ces biens sont appelés ressources de première classe et bénéficient de privilèges spéciaux et d'une sécurité accrue. Les ressources de première classe feront également l'objet d'un contrôle d'accès automatique, de sorte que seuls les utilisateurs possédant le bon code de sécurité pourront franchir le point d'accès. Move dispose également de modules comme le populaire contrat intelligent Ethereum (Solidity). Ces modules sont des blocs de code qui contiennent des ressources et différents types et procédures.

La construction spéciale de Move fait en sorte que les ressources peuvent être complètement transparentes dans les modules tout en étant opaques aux invocations externes du module. Une autre caractéristique importante du langage Move est que les ressources ne peuvent jamais être copiées ou complètement effacées. Ils ne peuvent être déplacés que d'un lieu de stockage à l'autre.

Flexibilité

Des scripts de transaction seront inclus dans chaque transaction Diem (Balance). Ces scripts de transaction sont utilisés dans un module pour effectuer des appels et des procédures de rappel. La procédure principale unique peut être constituée de code personnalisable et arbitraire. Un seul script de transaction peut faire appel à diverses procédures.

Les modules de déplacement offrent aux programmeurs une certaine flexibilité tout en leur permettant de construire des codes sûrs. Move peut être assimilé au langage de programmation orienté objet en raison de sa relation identique entre "classes, méthodes, objets" et "modules, procédures et ressources".

Vérifiabilité

Les outils de vérification hors chaîne sont également autorisés sur MOVE, même s'il détient déjà un système permettant la vérification sur chaîne. Cela est dû au fait qu'une vérification sur la chaîne n'est pas appropriée pour une blockchain de haut niveau. L'introduction de la vérification hors chaîne permettra de réduire le processus complexe de la vérification sur chaîne. Pour y parvenir, le langage de programmation move se concentrerait sur trois conceptions distinctes :

Pas de répartition dynamique

Cela permet d'éviter la construction complexe du graphe d'appel et de déterminer statiquement les sites d'appel.

Modularité

MOVE, à l'aide de la modularité, est capable d'isoler les modules pour la vérification fonctionnelle. Les modules de déplacement aideraient à l'abstraction des données et à la localisation des opérations importantes sur les ressources.

Mutabilité limitée

Cette conception est décente pour les cas qui sont orientés vers l'utilisation de types de référence similaires à ceux du C++. Il autorise un maximum d'une référence mutable à un point.

Sécurité

Trois propriétés de sécurité sont essentielles dans le langage de programmation Move : la sécurité des types, la sécurité des ressources et la sécurité de la mémoire. Il existe différentes approches possibles que Move pourrait utiliser pour s'assurer que les programmes qui n'adhèrent pas à ces propriétés de sécurité ne sont pas acceptés.

La première approche consisterait pour Move à utiliser un langage de programmation de haut niveau équipé d'un compilateur chargé de parcourir les propriétés.

La deuxième approche consisterait à utiliser un assemblage non typé de bas niveau ainsi que des contrôles de sécurité. Move élimine les deux approches et s'appuie sur son exécution, qui est un bytecode typé, avancé par rapport au bytecode et pas aussi avancé que le langage source.

Comment fonctionne Move ?

Le langage particulier de Move a été développé en utilisant la logique linéaire, qui limite l'utilisation des ressources à une seule fois et fait en sorte que les actifs numériques ne puissent être ni supprimés ni dupliqués. Cela permet aux développeurs d'encoder des types de ressources personnalisés qui ne peuvent pas être implicitement effacés ou copiés, car les types de ressources sont traités comme étant de première classe.

Move utilise un système de type statique qui définit les variables d'un langage de programmation comme un certain type (c'est-à-dire un nombre ou un mot). Move maintient toujours la sécurité des ressources mais laisse suffisamment de place pour les utiliser comme toute autre ressource non de première classe. Ils peuvent facilement être stockés dans des structures de données ou transmis comme valeurs dans des calculs.

Cela signifie que les ressources dans Move sont hautement sécurisées et, en même temps, capables de fonctionner sans restrictions. Le code fournit un niveau de sécurité mais peut aussi être utilisé pour toutes les autres opérations facilement. C'est un mélange parfait pour les programmes de blockchain car il résout les problèmes de sécurité et d'évolutivité auxquels sont confrontés la plupart des blockchains.

Qu'est-ce qui rend Move unique ?

La plupart des projets de crypto-monnaies ont, outre leur nom, une certaine caractéristique ou un certain attribut qui les distingue de toutes les autres plateformes et de tous les concurrents. Move n'est pas différent à cet égard. Il s'est doté de certaines caractéristiques qui en font un meilleur choix pour les projets existants. Voici quelques caractéristiques qui distinguent Move des autres.

  • Le langage mobile implique des politiques de contrôle d'accès intégrées dans la sémantique du langage.
  • Move n'applique pas de système de type par défaut pour les actifs numériques comme Ether ou Bitcoin.
  • Dans toute la langue, vous pourriez trouver une seule représentation de localisation de biens. Tout type d'actif personnalisé, comme les jetons ERC20 , doit être examiné pour les caractéristiques de sécurité spécifiées par le programmeur qui a créé les jetons.
  • Move est libre des problèmes de limitations

Composants de MOVE

Les caractéristiques uniques de Move ne sont pas les seules à faire fonctionner le langage de programmation. Il comprend également plusieurs composantes adaptées aux processus du programme. Voici quelques composants que les utilisateurs peuvent trouver dans MOVE.

Types

Dans MOVE, cela fait référence aux types de données primitives pris en charge. Les booléens, les entiers non signés de 64 bits, les tableaux d'octets de taille fixe et les adresses de 256 bits en sont autant d'exemples.

Structure

Il existe deux types de structures. La première est appelée Kind, qui fait référence aux structures de ressources. La seconde, appelée "non restreinte", fait référence à la structure générale.

Procédures

Sous cette composante, nous avons deux méthodes principales, à savoir, publique et interne. La dépendance acyclique des modules permet d'éviter les attaques récurrentes.

Vérificateur de bytecode

Cette composante est chargée de vérifier les traits de sécurité avant la publication des modules. Les programmes en mouvement doivent passer par le vérificateur avant d'être publiés. La vérification est décomposée en différentes étapes.

  • Vérification que la taille de la pile n'a pas encore été modifiée à l'issue de toutes les opérations.
  • Vérification du type
  • Développement du graphique de contrôle
  • Vérification des références
  • Liaison des références à l'état global pour vérifier la conformité de la déclaration et de l'utilisation
  • Vérification des ressources

Interprète de bytecode

Une fois le processus de vérification terminé, tous les programmes doivent passer par l'interprète. L'exécution des programmes peut être assimilée à celle d'Ethereum puisque les deux plateformes utilisent des paramètres gazeux, assurant des exécutions en boucle infinie.

Déplacer la machine virtuelle

La machine virtuelle de Move ne fonctionne pas différemment de votre blockchain moyenne. Il comprend plusieurs blocs contenant plusieurs transactions, et chaque transaction, une fois exécutée, crée un effet de transaction. Les effets créent l'état global actualisé de la blockchain, en séparant les effets des transitions d'état.

Le secret derrière la récente popularité de Move

On aurait pu s'attendre à ce que Move soit devenu un langage de programmation populaire à l'heure actuelle, mais en raison des problèmes auxquels Diem (anciennement Libra) a été confronté, sa croissance a été interrompue. Elle a récemment goûté aux feux de la rampe grâce à Aptos.

Aptos est une blockchain de niveau 1 créée à l'aide du langage de programmation Move. Elle a été développée par les développeurs de Meta qui ont décidé de développer leur propre blockchain après que Meta ait abandonné le projet de blockchain Diem (anciennement Libra). Il combine des transactions parallèles et le langage de programmation Move pour produire une vitesse de transaction théorique de 100 000 transactions par seconde.

La décision d'Aptos d'utiliser le langage de programmation Move a créé une plateforme qui peut théoriquement atteindre des vitesses de transaction et une évolutivité élevées sans renoncer à la sécurité de la blockchain. Aptos s'est doté de composants qui aideraient la blockchain à se démarquer des autres.

Move et autres langages de programmation

[Move n'est pas le seul langage de programmation disponible ; il est fréquemment comparé à Solidity et Clarity. Ces trois langages de programmation sont les plus utilisés sur les différentes plateformes de l'espace blockchain. Vous trouverez ci-dessous une analyse de la comparaison entre Move et les deux autres.

Mouvement vs. Solidité

Solidity est un langage de programmation conçu uniquement pour la création de contrats intelligents sur le réseau Ethereum. Ainsi, les membres à l'origine de la blockchain Ethereum ont fait de Solidity le premier choix pour la mise en œuvre de contrats intelligents pour les machines virtuelles Ethereum ainsi que pour les plateformes de développement de blockchain compatibles EVM. Le langage de haut niveau à accolades s'inspire d'autres langages de programmation comme Javascript, C++ et Python.

La conception de solidity permet aux développeurs d'écrire des applications qui utilisent une logique d'auto-application. De plus, le fait que Solidity s'inspire de la syntaxe javascript a permis aux développeurs de comprendre et de mettre en œuvre facilement le javascript.

Comme Solidity, Move a été créé en pensant à différents réseaux. Le premier réseau pour la mise en œuvre de la langue Move était Diem, qui a finalement été dissous. Solidity, quant à lui, a été développé pour la populaire blockchain Ethereum, qui fonctionne encore aujourd'hui.

Le niveau de sécurité face aux attaques de rentrée est une grande différence entre Move et Solidity. Solidity est communément connu pour être vulnérable aux attaques par ré-entrée si le code construit avec le langage est faible. Move, en revanche, ne souffre pas des attaques de réentrée grâce à ses caractéristiques de sécurité des actifs (définition des ressources et séparation des autorités de contrôle, typage statique, génériques, système de modules et vérification formelle).

Enfin, un facteur clé pour les développeurs dans le choix d'un langage de programmation est la facilité d'utilisation. Solidity est connu comme l'un des langages les plus flexibles qui soient, et c'est pourquoi il est encore populairement utilisé aujourd'hui. Move, malheureusement, n'est pas aussi flexible, mais il reste facile à utiliser.

Mouvement vs. clarté

Blockstack est une plateforme qui vise à développer son propre Internet et à fournir des services et des facilités en matière de contrats intelligents. Pour faciliter cela, Blockstack a introduit Clarity comme langage de programmation de contrats intelligents pour leur propre Blockchain Stacks. Clarity est un langage de programmation qui permet aux utilisateurs de développer leurs propres conditions spéciales pour le contrat plutôt que des conditions préprogrammées.

Clarity élimine également les risques de transactions inattendues, ce qui lui confère un niveau de sécurité supplémentaire. L'une des principales caractéristiques de la clarté est un aspect de certitude qui fournit un langage de programmation "décidable" qui indique ce que l'ordinateur fera avec le code.

Move est basé sur Diem, une blockchain hautement évolutive, sûre et flexible, tandis que Clarity est basé sur Stack 2.0, un réseau open-source pour différentes dApps qui utilisent le réseau Ethereum pour en créer de nouvelles.

La compilation de Move le distingue également de Clarity. Move fait appel à un compilateur pour l'exécution de ses codes. Contrairement à Move, Clarity n'utilise pas de compilateur lors de l'exécution d'un code.

Conclusion

Move s'est révélé être un type particulier de langage de programmation qui va révolutionner l'industrie de la blockchain dans son ensemble. Jusqu'à présent, elle a attiré l'attention de la nouvelle blockchain Aptos, et seul le temps dira dans quelle mesure cette combinaison sera fructueuse.

Tác giả: Tamilore
Thông dịch viên: piper
(Những) người đánh giá: Hugo、Edward、Ashely、Joyce
* Đầu tư có rủi ro, phải thận trọng khi tham gia thị trường. Thông tin không nhằm mục đích và không cấu thành lời khuyên tài chính hay bất kỳ đề xuất nào khác thuộc bất kỳ hình thức nào được cung cấp hoặc xác nhận bởi Gate.io.
* Không được phép sao chép, truyền tải hoặc đạo nhái bài viết này mà không có sự cho phép của Gate.io. Vi phạm là hành vi vi phạm Luật Bản quyền và có thể phải chịu sự xử lý theo pháp luật.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500