Exploration du modèle orienté objet de SUI et du langage de programmation Move

Intermédiaire10/23/2024, 5:02:57 PM
Cet article examine le modèle de stockage de données centré sur l'objet de Sui, ses implications pour le traitement des transactions et son potentiel.

La blockchain Sui a émergé en tant que protocole de couche 1 (L1) novateur, intégrant des technologies avancées pour résoudre les compromis courants de la couche 1. Cointelegraph Research décortique les détails de ce nouvel arrivant dans l'espace de la blockchain.

Sui utilise le Langage de programmation Move, qui a été conçu en mettant l'accent sur la représentation des actifs et le contrôle d'accès. Cet article examine le modèle de stockage des données centré sur les objets de Sui, ses implications pour le traitement des transactions et ses avantages potentiels par rapport aux paradigmes basés sur les comptes traditionnels.

Le paradigme orienté objet de SUI

Sui tire une inspiration significative de la blockchain Diem, en particulier dans son utilisation du langage de programmation Move pour les contrats intelligents. Move a été conçu avec un système de types spécifiquement adapté à la gestion des actifs et à l'application du contrôle d'accès. Sui Move s'appuie sur cette base avec un modèle de stockage de données centré sur l'objetqui utilise des objets plutôt que des comptes comme primitives.

Contrairement au modèle de compte traditionnel, où les transactions modifient les soldes, ou le modèle UTXO, où les transactions ont des entrées et des sorties simples, Le modèle d'objet SUItraite les actifs (ainsi que les contrats intelligents) comme des objets complexes. Les transactions en Sui prennent des objets en entrée et mutent ces entrées en objets de sortie. Chaque objet enregistre le hachage de la dernière transaction qui l'a produit. Cette approche est conceptuellement similaire au modèle UTXO mais plus général et puissant. Une comparaison des modèles peut être vue ci-dessous.

@ZeroAgeVentures/the-sui-thesis-3018e3b34e58">L'utilisation de la logique linéaire par Move est liée au modèle orienté objet et facilite le développement de logiciels sécurisés. La logique linéaire, parfois désigné sous le nom de logique des ressources, garantit que les ressources représentant des actifs numériques ne peuvent pas être dupliquées ou détruites accidentellement. Lorsque une transactionLorsqu'une transaction impliquant un actif est exécutée, la sémantique de Sui Move garantit que l'état de l'actif est mis à jour de manière à refléter le résultat de la transaction, consommant l'actif dans son état précédent et le produisant dans son nouvel état.

Les objets dans Sui peuvent aussi avoir contrôle d'accès défini et autorisations, ce qui renforce la sécurité et le contrôle de l'utilisation des actifs après une transaction.Cela mitigevulnérabilités courantes sur les chaînes basées sur les comptes, qui permettent des attaques de réentrance. Dans unattaque de réentrance, une fonction effectue un appel externe à un autre contrat avant de mettre à jour son propre état, ce qui permet aux attaquants d'exécuter à plusieurs reprises des actions qui ne devraient se produire qu'une seule fois.

Cela peut entraîner des modifications non autorisées dans l'état du contrat, telles que le retrait de fonds supérieur à ce qui est autorisé. Parce que transferts de propriétésont explicites et atomiques en Sui, ce type d'erreur ne peut pas se produire. Le système de types linéaires de Move garantit qu'une fois qu'une ressource est déplacée, elle ne peut pas être réutilisée à moins d'être explicitement réaffectée.

Le modèle traditionnel basé sur les comptes, tel qu'utilisé par Solidity, exige en revanche que les développeurs mettent en œuvre des vérifications supplémentaires pour éviter de tels bugs. Par exemple, les attaques de réentrance doivent être évitées en suivant un vérifications-effets-interactionsModèle. Toutes les opérations de modification de l'état (effets) doivent avoir lieu après toutes les vérifications mais avant toute interaction (appels externes). Ce modèle, souvent appelé comptabilité optimiste, garantit que les variables d'état sont mises à jour avant d'effectuer des interactions externes.

Bien que le modèle centré sur l'objet lui-même n'améliore pas intrinsèquement la sécurité, il peut simplifier le processus de développement et faciliter l'écriture de code sécurisé. Bien que les contrats intelligents sur Ethereum puissent être vérifié formellementpour atteindre des niveaux élevés de sécurité, ce processus peut être complexe et coûteux.

Solidity est connu pour sa sémantique notoirement peu intuitive, ce qui rend difficile pour les développeurs de raisonner sur le comportement du code. Cela augmente la probabilité d'introduire des bugs subtils et des vulnérabilités de sécurité.

SUI Move appartient à une famille de langages qui cherche à simplifier le développement sécurisé de contrats intelligents en intégrant des primitives financières sensées dans la sémantique du langage dès le départ. Un autre exemple est le langage d'approbation d'exécution de transaction (TEAL) de la blockchain Algorand, qui utilise un modèle d'exécution sans étatpour garantir que les transactions sont atomiques et sécurisées.

Le modèle centré sur l'objet de Sui est particulièrement avantageux pour la gestion d'actifs complexes tels que les jetons non fongibles (NFT). Dans Ethereum, les NFT sont liés aux adresses des contrats intelligents, et les interactions nécessitent souvent des appels de contrat complexes et des mises à jour d'état, ce qui entraîne des coûts plus élevés et des risques potentiels pour la sécurité. Par exemple, transférer un NFT sur Ethereumimplique l'invocation d'une fonction du contrat intelligent ERC-721, qui met à jour l'état et émet des événements.

Ce processus implique plusieurs étapes et frais de gaz pour chaque opération. En revanche, Le modèle d'objet de Sui permet à chaque NFTêtre traité comme un objet distinct avec des propriétés intrinsèques et des autorisations. Le comportement des NFT est étroitement aligné sur les primitives du langage Move, tandis que dans Ethereum, ce comportement doit être implémenté, ce qui augmente les frais généraux et crée des possibilités d'erreur.

Orientation objet et performance de la blockchain

Le modèle orienté objet facilite le sharding et la parallélisation sur la blockchain SUI. Associé à une récente mise à jour du mécanisme de consensus Sui, SUI atteint ainsi un temps de finalité d'environ390 millisecondes.

Cela pourrait permettre un débit dépassant 100 000 transactions par seconde. Une comparaison de SUI avec d'autres blockchains de premier plan peut être trouvée ci-dessous.

Sharding de base de données sur les chaînes basées sur les comptes par rapport à SUI

L'une des préoccupations les plus pressantes des blockchains est le fameux compromis entre la scalabilité, la sécurité et la décentralisation.Sharding, qui facilite le partitionnement de la base de données blockchain, est considéré comme une solution à ce problème.

Dans les architectures basées sur les comptes, le sharding consiste à partitionner l'état par adresses de compte. Chaque shard gère une plage distincte d'adresses, et les transactions sont traitées par le shard qui détient les données du compte concerné.

Cependant, cela fait face à un certain nombre de problèmes. Par exemple, Polkadotnécessite que le solde et l'état de chaque compte soient mis à jour et synchronisés sur l'ensemble des fragments (Parachains). Maintenir la cohérence sur plusieurs fragments est difficile car chaque fragment doit se synchroniser régulièrement avec l'état global, ce qui introduit de la latence et de la complexité.

Les transactions impliquant des comptes sur différents shards nécessitent une messagerie et une coordination entre les shards, ce qui ajoute une surcharge de calcul et retarde la finalité de la transaction. Dans le passé, cela a entraîné des temps d'arrêt sur de telles blockchains, comme ce fut le cas pour Zilliqa.

Le modèle centré sur l'objet de Sui évite bon nombre de ces problèmes en le traitantchaque objet comme une unité indépendante d'état. Les objets peuvent être traités et gérés séparément sans nécessiter de synchronisation de l'état global, et plusieurs transactions peuvent être traitées simultanément sans avoir besoin de synchronisation entre les shards. Cela réduit le besoin d'une communication complexe entre les shards et permet un traitement parallèle plus simple et plus efficace.

Traitement des transactions parallélisées sur SUI

La parallélisation fait référence à l'exécution simultanée de plusieurs opérations et à l'amélioration de la vitesse de traitement en exploitant des threads d'exécution concurrents.

Il existe deux méthodes principales de parallélisationméthode d'accès à l'état (ou exécution déterministe) et exécution optimiste. Dans le méthode d'accès à l'étatutilisé par SUI etSolana, les transactions déclarent les parties de l’État auxquelles elles accèdent, ce qui permet au système d’identifier les transactions indépendantes qui peuvent être exécutées simultanément.

Cette approche garantit des résultats prévisibles et évite la nécessité de réexécuter les transactions, ce qui permet des marchés de frais de gaz dynamiques qui gèrent les points chauds de l'état congestionné.

Exécution optimiste, d'autre part, comme il est utilisé par des réseaux comme Monad et Aptos, suppose initialement que toutes les transactions sont indépendantes et réexécute rétrospectivement les transactions conflictuelles. Bien que plus simple pour les développeurs, cela peut entraîner des inefficacités computationnelles.

SUI parvient à la parallélisation de l'accès à l'état grâce à son modèle centré sur l'objet. Les opérations sur un objet n'impactent pas ou ne retardent pas les opérations sur un autre, ce qui permet naturellement de les traiter de manière concurrente. Les mêmes caractéristiques structurelles simplifient la partition de la base de données des transactions, simplifiant ainsi également le traitement parallélisé sur un seul nœud.

Conclusion

En conclusion, le modèle centré sur l'objet de la blockchain Sui, combiné au langage de programmation Move, résout plusieurs limitations clés des blockchains traditionnelles de couche 1. La capacité de traiter les transactions en parallèle améliore considérablement la scalabilité et réduit la latence.

L'utilisation de la logique linéaire et de la sécurité basée sur les capacités garantit une gestion robuste des ressources et un contrôle d'accès, ce qui peut réduire le risque d'erreurs et de vulnérabilités de sécurité. De plus, l'approche de Sui pour la gestion des actifs complexes, tels que les NFT, simplifie les interactions et améliore l'efficacité par rapport aux modèles traditionnels basés sur les comptes. Ces fonctionnalités positionnent Sui comme une avancée remarquable dans la technologie blockchain.

Dans notre prochain article, nous examinerons le mécanisme de consensus de la blockchain Sui, en explorant son évolution et les avantages qu'elle offre. Sui utilise un protocole de consensus conçu pour fonctionner avec son modèle centré sur les objets.

Nous analyserons les spécificités du mécanisme de consensus de Sui, y compris sa tolérance aux erreurs et ses méthodes d'optimisation du débit, afin de comprendre comment ces éléments contribuent à son infrastructure.

De plus, nous comparerons l'approche de consensus de Sui avec celles d'autres blockchains de premier plan, telles qu'Ethereum, Polkadot et Solana, pour identifier ses caractéristiques uniques et les domaines dans lesquels il pourrait exceller ou faire face à des défis.

Avertissement :

  1. Cet article est repris de [ Gate.io ]cointelegraph], Tous les droits d’auteur appartiennent à l’auteur original [Nick M]. Si des objections sont soulevées à cette réimpression, veuillez contacter le Gate Learnl'équipe, et ils s'en occuperont rapidement.
  2. Clause de non-responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l’auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe Gate Learn. Sauf mention contraire, la copie, la distribution ou le plagiat des articles traduits est interdit.

Exploration du modèle orienté objet de SUI et du langage de programmation Move

Intermédiaire10/23/2024, 5:02:57 PM
Cet article examine le modèle de stockage de données centré sur l'objet de Sui, ses implications pour le traitement des transactions et son potentiel.

La blockchain Sui a émergé en tant que protocole de couche 1 (L1) novateur, intégrant des technologies avancées pour résoudre les compromis courants de la couche 1. Cointelegraph Research décortique les détails de ce nouvel arrivant dans l'espace de la blockchain.

Sui utilise le Langage de programmation Move, qui a été conçu en mettant l'accent sur la représentation des actifs et le contrôle d'accès. Cet article examine le modèle de stockage des données centré sur les objets de Sui, ses implications pour le traitement des transactions et ses avantages potentiels par rapport aux paradigmes basés sur les comptes traditionnels.

Le paradigme orienté objet de SUI

Sui tire une inspiration significative de la blockchain Diem, en particulier dans son utilisation du langage de programmation Move pour les contrats intelligents. Move a été conçu avec un système de types spécifiquement adapté à la gestion des actifs et à l'application du contrôle d'accès. Sui Move s'appuie sur cette base avec un modèle de stockage de données centré sur l'objetqui utilise des objets plutôt que des comptes comme primitives.

Contrairement au modèle de compte traditionnel, où les transactions modifient les soldes, ou le modèle UTXO, où les transactions ont des entrées et des sorties simples, Le modèle d'objet SUItraite les actifs (ainsi que les contrats intelligents) comme des objets complexes. Les transactions en Sui prennent des objets en entrée et mutent ces entrées en objets de sortie. Chaque objet enregistre le hachage de la dernière transaction qui l'a produit. Cette approche est conceptuellement similaire au modèle UTXO mais plus général et puissant. Une comparaison des modèles peut être vue ci-dessous.

@ZeroAgeVentures/the-sui-thesis-3018e3b34e58">L'utilisation de la logique linéaire par Move est liée au modèle orienté objet et facilite le développement de logiciels sécurisés. La logique linéaire, parfois désigné sous le nom de logique des ressources, garantit que les ressources représentant des actifs numériques ne peuvent pas être dupliquées ou détruites accidentellement. Lorsque une transactionLorsqu'une transaction impliquant un actif est exécutée, la sémantique de Sui Move garantit que l'état de l'actif est mis à jour de manière à refléter le résultat de la transaction, consommant l'actif dans son état précédent et le produisant dans son nouvel état.

Les objets dans Sui peuvent aussi avoir contrôle d'accès défini et autorisations, ce qui renforce la sécurité et le contrôle de l'utilisation des actifs après une transaction.Cela mitigevulnérabilités courantes sur les chaînes basées sur les comptes, qui permettent des attaques de réentrance. Dans unattaque de réentrance, une fonction effectue un appel externe à un autre contrat avant de mettre à jour son propre état, ce qui permet aux attaquants d'exécuter à plusieurs reprises des actions qui ne devraient se produire qu'une seule fois.

Cela peut entraîner des modifications non autorisées dans l'état du contrat, telles que le retrait de fonds supérieur à ce qui est autorisé. Parce que transferts de propriétésont explicites et atomiques en Sui, ce type d'erreur ne peut pas se produire. Le système de types linéaires de Move garantit qu'une fois qu'une ressource est déplacée, elle ne peut pas être réutilisée à moins d'être explicitement réaffectée.

Le modèle traditionnel basé sur les comptes, tel qu'utilisé par Solidity, exige en revanche que les développeurs mettent en œuvre des vérifications supplémentaires pour éviter de tels bugs. Par exemple, les attaques de réentrance doivent être évitées en suivant un vérifications-effets-interactionsModèle. Toutes les opérations de modification de l'état (effets) doivent avoir lieu après toutes les vérifications mais avant toute interaction (appels externes). Ce modèle, souvent appelé comptabilité optimiste, garantit que les variables d'état sont mises à jour avant d'effectuer des interactions externes.

Bien que le modèle centré sur l'objet lui-même n'améliore pas intrinsèquement la sécurité, il peut simplifier le processus de développement et faciliter l'écriture de code sécurisé. Bien que les contrats intelligents sur Ethereum puissent être vérifié formellementpour atteindre des niveaux élevés de sécurité, ce processus peut être complexe et coûteux.

Solidity est connu pour sa sémantique notoirement peu intuitive, ce qui rend difficile pour les développeurs de raisonner sur le comportement du code. Cela augmente la probabilité d'introduire des bugs subtils et des vulnérabilités de sécurité.

SUI Move appartient à une famille de langages qui cherche à simplifier le développement sécurisé de contrats intelligents en intégrant des primitives financières sensées dans la sémantique du langage dès le départ. Un autre exemple est le langage d'approbation d'exécution de transaction (TEAL) de la blockchain Algorand, qui utilise un modèle d'exécution sans étatpour garantir que les transactions sont atomiques et sécurisées.

Le modèle centré sur l'objet de Sui est particulièrement avantageux pour la gestion d'actifs complexes tels que les jetons non fongibles (NFT). Dans Ethereum, les NFT sont liés aux adresses des contrats intelligents, et les interactions nécessitent souvent des appels de contrat complexes et des mises à jour d'état, ce qui entraîne des coûts plus élevés et des risques potentiels pour la sécurité. Par exemple, transférer un NFT sur Ethereumimplique l'invocation d'une fonction du contrat intelligent ERC-721, qui met à jour l'état et émet des événements.

Ce processus implique plusieurs étapes et frais de gaz pour chaque opération. En revanche, Le modèle d'objet de Sui permet à chaque NFTêtre traité comme un objet distinct avec des propriétés intrinsèques et des autorisations. Le comportement des NFT est étroitement aligné sur les primitives du langage Move, tandis que dans Ethereum, ce comportement doit être implémenté, ce qui augmente les frais généraux et crée des possibilités d'erreur.

Orientation objet et performance de la blockchain

Le modèle orienté objet facilite le sharding et la parallélisation sur la blockchain SUI. Associé à une récente mise à jour du mécanisme de consensus Sui, SUI atteint ainsi un temps de finalité d'environ390 millisecondes.

Cela pourrait permettre un débit dépassant 100 000 transactions par seconde. Une comparaison de SUI avec d'autres blockchains de premier plan peut être trouvée ci-dessous.

Sharding de base de données sur les chaînes basées sur les comptes par rapport à SUI

L'une des préoccupations les plus pressantes des blockchains est le fameux compromis entre la scalabilité, la sécurité et la décentralisation.Sharding, qui facilite le partitionnement de la base de données blockchain, est considéré comme une solution à ce problème.

Dans les architectures basées sur les comptes, le sharding consiste à partitionner l'état par adresses de compte. Chaque shard gère une plage distincte d'adresses, et les transactions sont traitées par le shard qui détient les données du compte concerné.

Cependant, cela fait face à un certain nombre de problèmes. Par exemple, Polkadotnécessite que le solde et l'état de chaque compte soient mis à jour et synchronisés sur l'ensemble des fragments (Parachains). Maintenir la cohérence sur plusieurs fragments est difficile car chaque fragment doit se synchroniser régulièrement avec l'état global, ce qui introduit de la latence et de la complexité.

Les transactions impliquant des comptes sur différents shards nécessitent une messagerie et une coordination entre les shards, ce qui ajoute une surcharge de calcul et retarde la finalité de la transaction. Dans le passé, cela a entraîné des temps d'arrêt sur de telles blockchains, comme ce fut le cas pour Zilliqa.

Le modèle centré sur l'objet de Sui évite bon nombre de ces problèmes en le traitantchaque objet comme une unité indépendante d'état. Les objets peuvent être traités et gérés séparément sans nécessiter de synchronisation de l'état global, et plusieurs transactions peuvent être traitées simultanément sans avoir besoin de synchronisation entre les shards. Cela réduit le besoin d'une communication complexe entre les shards et permet un traitement parallèle plus simple et plus efficace.

Traitement des transactions parallélisées sur SUI

La parallélisation fait référence à l'exécution simultanée de plusieurs opérations et à l'amélioration de la vitesse de traitement en exploitant des threads d'exécution concurrents.

Il existe deux méthodes principales de parallélisationméthode d'accès à l'état (ou exécution déterministe) et exécution optimiste. Dans le méthode d'accès à l'étatutilisé par SUI etSolana, les transactions déclarent les parties de l’État auxquelles elles accèdent, ce qui permet au système d’identifier les transactions indépendantes qui peuvent être exécutées simultanément.

Cette approche garantit des résultats prévisibles et évite la nécessité de réexécuter les transactions, ce qui permet des marchés de frais de gaz dynamiques qui gèrent les points chauds de l'état congestionné.

Exécution optimiste, d'autre part, comme il est utilisé par des réseaux comme Monad et Aptos, suppose initialement que toutes les transactions sont indépendantes et réexécute rétrospectivement les transactions conflictuelles. Bien que plus simple pour les développeurs, cela peut entraîner des inefficacités computationnelles.

SUI parvient à la parallélisation de l'accès à l'état grâce à son modèle centré sur l'objet. Les opérations sur un objet n'impactent pas ou ne retardent pas les opérations sur un autre, ce qui permet naturellement de les traiter de manière concurrente. Les mêmes caractéristiques structurelles simplifient la partition de la base de données des transactions, simplifiant ainsi également le traitement parallélisé sur un seul nœud.

Conclusion

En conclusion, le modèle centré sur l'objet de la blockchain Sui, combiné au langage de programmation Move, résout plusieurs limitations clés des blockchains traditionnelles de couche 1. La capacité de traiter les transactions en parallèle améliore considérablement la scalabilité et réduit la latence.

L'utilisation de la logique linéaire et de la sécurité basée sur les capacités garantit une gestion robuste des ressources et un contrôle d'accès, ce qui peut réduire le risque d'erreurs et de vulnérabilités de sécurité. De plus, l'approche de Sui pour la gestion des actifs complexes, tels que les NFT, simplifie les interactions et améliore l'efficacité par rapport aux modèles traditionnels basés sur les comptes. Ces fonctionnalités positionnent Sui comme une avancée remarquable dans la technologie blockchain.

Dans notre prochain article, nous examinerons le mécanisme de consensus de la blockchain Sui, en explorant son évolution et les avantages qu'elle offre. Sui utilise un protocole de consensus conçu pour fonctionner avec son modèle centré sur les objets.

Nous analyserons les spécificités du mécanisme de consensus de Sui, y compris sa tolérance aux erreurs et ses méthodes d'optimisation du débit, afin de comprendre comment ces éléments contribuent à son infrastructure.

De plus, nous comparerons l'approche de consensus de Sui avec celles d'autres blockchains de premier plan, telles qu'Ethereum, Polkadot et Solana, pour identifier ses caractéristiques uniques et les domaines dans lesquels il pourrait exceller ou faire face à des défis.

Avertissement :

  1. Cet article est repris de [ Gate.io ]cointelegraph], Tous les droits d’auteur appartiennent à l’auteur original [Nick M]. Si des objections sont soulevées à cette réimpression, veuillez contacter le Gate Learnl'équipe, et ils s'en occuperont rapidement.
  2. Clause de non-responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l’auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe Gate Learn. Sauf mention contraire, la copie, la distribution ou le plagiat des articles traduits est interdit.
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!