Auteur : Zeke, chercheur chez YBB Capital
Préface
Le marché est devenu de plus en plus froid ces derniers temps et de nombreux OG du secteur ont commencé à hésiter quant au sens de l'existence de l'industrie. Pour parler de mes sentiments personnels, j'ai toujours le sentiment que la raison pour laquelle de nombreuses grandes visions du passé ont été « falsifiées » est que ces visions n'étaient pas logiquement cohérentes depuis le début. Les Dapps en dehors des applications non financières essaient toujours de souligner la valeur de la décentralisation pour dissimuler le fait que le produit lui-même n'est pas assez bon. Mais la vérité est qu’ils m’ont demandé de ne pas faire confiance à Google, Twitter, YouTube, mais de croire que leurs portefeuilles multi-signatures et leurs serveurs autonomes sont suffisamment sécurisés. De nombreuses visions ne sont pas falsifiées, mais n’ont jamais été véritablement vérifiées. Je continue de croire que la plupart des visions ont un sens même si elles ne sont pas si grandioses. Elles ont peut-être juste besoin d'une couche inférieure suffisante pour les soutenir. Au final, on peut en apporter au moins une en termes de décentralisation et une bonne expérience comparable au Web2. Tout comme TON et Solana étaient tous deux méprisés dans le passé, ils rattrapent désormais progressivement leurs grands frères dans de nombreux aspects de la performance. La chaîne publique transportant des applications a besoin d'innovation, ce qui favorisera le progrès de l'industrie à chaque cycle. C’est pourquoi nous allons aujourd’hui explorer un type de chaîne publique qui n’a pas été pris au sérieux depuis longtemps, le système Move.
1. Déplacer
Le langage de programmation Move est né à l'origine du projet abandonné de Meta, Diem (initialement appelé Libra), qui visait à l'origine à créer un stablecoin plus stable et réglementé comme base de sa vision métaverse. Au lieu de cela, le projet s’est heurté à une forte opposition et à une pression continue de la part des régulateurs du monde entier. Les régulateurs craignaient que la taille de Diem et la base massive d’utilisateurs de Facebook ne constituent une menace pour la stabilité financière, la politique monétaire et la confidentialité des données, et les pressions exercées par l’administration Biden ont finalement conduit Meta à abandonner le projet Diem.
Mais heureusement, le noyau de Diem n'a pas été abandonné. Différentes factions distinctes de l'équipe d'origine insistent toujours pour explorer et développer Move, et elles ont maintenant évolué pour devenir les jumeaux Move Sui et Aptos tels que nous les connaissons. En outre, il existe de nombreux projets de chaîne publique tels que Linera (qui s’appuie sur la chaîne publique Rust de Move), qui en est encore à ses balbutiements, et Movement, qui a été vigoureusement annoncé récemment.
Alors pourquoi l’intérêt résiduel d’un projet réduit de moitié peut-il être si grand ? En tant que réponse au langage de programmation blockchain du principal fabricant Web2, Move n'a pas besoin de présentation de ses compétences de base, il a également apporté de nombreuses améliorations sur les problèmes de performances et de sécurité autour des langages de programmation blockchain existants (notamment Solidity). Après réflexion, l'objectif de conception était de concevoir un système de type pour la gestion des actifs et l'application du contrôle d'accès. Personnellement, je le résume en trois points simples :
Sécurité : le principe principal de la conception du langage Move est la sécurité. Il utilise la vérification de type statique et la gestion des ressources pour prévenir les vulnérabilités de sécurité courantes, telles que les erreurs de débordement et les attaques de réentrance. Par rapport aux machines virtuelles d'autres langages, Move prend en charge une variété de fonctions de sécurité. La figure suivante cite la comparaison de Nansen.
Composabilité : prend en charge la modularité et la composabilité, permettant aux développeurs de créer et de combiner facilement différents contrats intelligents pour créer des applications plus complexes.
Performances : la machine virtuelle du langage Move est optimisée (prenant en charge le parallélisme, la gestion de la mémoire, l'optimisation du compilateur) pour exécuter efficacement les contrats intelligents, augmentant ainsi la vitesse et le débit des transactions.
À l’heure où les chaînes publiques EVM modulaires inondent le marché, Move est en réalité une tentative courageuse. Vous en avez peut-être vu de semblables dans les introductions de nombreux projets de chaînes publiques aux trois points d'appel que j'ai mentionnés. Je vous recommande plutôt de les expérimenter vous-même afin de visualiser ces mots.
2. Sui
2.1 Architecture
En tant que l'une des deux stars, Sui a été critiquée pour des problèmes de largage et de méthodes de libération de jetons au début de son lancement. Mais mettons ces questions de côté et parlons simplement du projet lui-même. Sui est au moins assez bon en termes de performances et d'expérience, et ses performances dans les jeux sont extrêmement bonnes. Ceci est indissociable de sa propre conception d'architecture améliorée pour une adoption grand public. Ici, je décrirai brièvement l’innovation architecturale de Sui :
Modèle de stockage d'objets : ce composant est le composant principal amélioré par Sui on Move. Le modèle de stockage d'objets stocke les données en tant qu'objets indépendants, et chaque objet a un identifiant unique. Contrairement aux systèmes de bases de données traditionnels, le modèle de stockage objet n'a pas de structure de données fixe et peut stocker différents types de données, tels que du texte, des images, des vidéos et de l'audio. Ce modèle permet une exécution parallèle et une mise à l'échelle horizontale (ajout de nœuds pour augmenter la capacité de stockage), et Sui est conçu autour de ce modèle.
Séquence causale : assurez-vous que l’ordre d’exécution des transactions est conforme à la relation causale pour éviter les conflits et les incohérences de données. Cela permet à Sui de gérer un grand nombre de transactions simultanées et de maintenir la cohérence des données.
Moteurs de consensus Narwhal et Bullshark : Sui utilise Narwhal et Bullshark comme moteur de consensus. Narwhal est responsable du tri et de la vérification des transactions. Son principe de fonctionnement est de maintenir le pool de transactions local, de trier et de diffuser en fonction de la causalité des transactions, en garantissant que tous les nœuds. avoir la même séquence de transactions valide. Bullshark votera sur la liste des transactions lorsqu'il recevra la liste des transactions triées par Narwhal et utilisera le consensus byzantin tolérant aux pannes pour garantir que tous les nœuds sont d'accord sur la liste des transactions.
Sui Move : Sui développe le langage Move, en ajoutant de nouvelles fonctionnalités telles que la prise en charge des NFT, la gestion des actifs et le stockage de données.
Sui Framework : Sui fournit un cadre complet pour aider les développeurs à créer et déployer rapidement des applications. Le framework comprend divers outils et bibliothèques tels que Sui Wallet, Sui SDK et Sui CLI.
L'architecture de Sui est conçue pour lui permettre de gérer un grand nombre de transactions simultanées tout en maintenant une vitesse élevée, des frais faibles et une sécurité. Dans le même temps, le langage Move de Sui et le framework Sui fournissent également aux développeurs des outils puissants pour les aider à créer des applications sécurisées, évolutives et conviviales.
2.2 Consensus
La blockchain Sui utilise un mécanisme de consensus appelé Mysticeti, qui est un consensus basé sur la tolérance aux pannes byzantine (BFT) conçu pour optimiser une faible latence et un débit élevé.
Mysticeti permet à plusieurs validateurs de proposer des blocs en parallèle, utilisant ainsi pleinement la bande passante du réseau et offrant une résistance à la censure. De plus, le protocole ne nécessite que trois séries de messages pour valider les blocs d'un DAG (Directed Acyclic Graph), identique à pBFT et correspondant au minimum théorique. Les règles de validation permettent le vote parallèle et la certification des chefs de bloc, réduisant ainsi davantage les latences médianes et extrêmes. Les règles de validation peuvent également tolérer des leaders indisponibles sans augmenter considérablement la latence de validation.
Mysticeti fonctionnait sur le testnet depuis trois mois avant la mise en ligne du réseau principal Sui, avec des résultats notables, notamment une réduction de 80 % de la latence. Le réseau Sui peut désormais gérer des dizaines de milliers de transactions par seconde avec une latence de bout en bout bien inférieure à une seconde.
La blockchain Sui utilise également un type spécifique de consensus de preuve de participation appelé Delegated Proof-of-Stake (DPoS). Lorsque des transactions impliquant des objets partagés (appelées transactions complexes) se produisent, Sui utilisera le moteur de consensus Narwhal & Bullshark décrit ci-dessus pour séquencer les transactions. Par rapport à d’autres chaînes publiques dotées de mécanismes de consensus BFT, les avantages et les inconvénients de Sui peuvent être résumés en six points :
Avantages :
Faible latence et débit élevé : le protocole Mysticeti réduit considérablement la latence du consensus et améliore le débit du réseau grâce à des propositions de blocs parallèles et à des processus de livraison de messages optimisés. Cela permet à la blockchain Sui de traiter des dizaines de milliers de transactions par seconde avec une latence de bout en bout bien inférieure à une seconde ;
Résistance à la censure : le protocole Mysticeti permet à plusieurs validateurs de proposer des blocs en parallèle, augmentant ainsi la résistance à la censure du réseau ;
Tolérer les leaders indisponibles : les règles de validation permettent de tolérer les leaders indisponibles (lorsqu'un nœud leader échoue, le système élit automatiquement un nouveau leader pour prendre en charge ses responsabilités) sans augmenter significativement la latence de validation.
Inconvénients :
Complexité : La conception du protocole Mysticeti est relativement complexe et nécessite une compréhension technique plus approfondie pour bien comprendre son mécanisme de fonctionnement ;
Sécurité : bien que le protocole Mysticeti ait bien fonctionné sur le réseau de test, sa sécurité doit encore être vérifiée davantage dans les applications réelles ;
Évolutivité : l'évolutivité du protocole Mysticeti doit encore être étudiée davantage pour garantir qu'il puisse s'adapter à la taille croissante du réseau et au volume de transactions à l'avenir.
2.3 Compte abstrait
L'abstraction de compte de Sui est un mécanisme qui permet aux utilisateurs de gérer leurs comptes et transactions de manière plus simple et plus sécurisée. Il permet une gestion de compte et un traitement des transactions de niveau supérieur en extrayant la logique de compte et de transaction du protocole blockchain sous-jacent.
Dans le modèle de compte abstrait de Sui, les comptes ne sont plus de simples paires clé publique-clé privée, mais des objets dotés d'attributs et de comportements plus riches. Chaque compte possède un identifiant unique, appelé ID de compte, qui est associé à la paire de clés publique et privée du compte.
Le modèle de compte abstrait de Sui comprend les éléments clés suivants :
Objet de compte : L'objet de compte est l'unité de base du compte dans Sui. Chaque objet de compte possède un identifiant de compte unique et contient les attributs et les comportements du compte ;
Données de compte : les données de compte sont le composant principal de l'objet de compte. Il contient les informations de base du compte, telles que l'identifiant du compte, la clé publique et la paire de clés privées ;
Contexte de transaction : le contexte de transaction est l'unité de base des transactions dans Sui. Il contient des informations relatives aux transactions, telles que l'ID de transaction, l'ID de compte, les données de transaction, etc. ;
Logique de compte : la logique de compte est un ensemble de comportements et de règles de compte dans Sui. Il définit la manière dont un compte gère les transactions et gère son statut.
Le modèle de compte abstrait de Sui traite les transactions en suivant les étapes suivantes :
Création de transaction : L'utilisateur crée une transaction et l'envoie au réseau Sui ;
Vérification des transactions : le réseau Sui vérifie la validité et l'intégrité des transactions ;
Recherche de compte : Sui Network recherche l'objet de compte correspondant en fonction de l'ID de compte dans la transaction ;
Exécution de la logique du compte : le réseau Sui exécute la logique du compte pour traiter les transactions et mettre à jour l'état du compte ;
Confirmation de la transaction : Le réseau Sui confirme les résultats de la transaction et les écrit dans la blockchain.
En termes simples, le modèle de compte abstrait de Sui est un mécanisme innovant qui simplifie la gestion des comptes et le traitement des transactions, rendant les applications plus proches des applications.
2.4 Jeux
Pour qu'une chaîne publique puisse briser le siège, il faut d'abord s'accumuler et s'accumuler. La raison pour laquelle Move est appelé ci-dessus une tentative courageuse est pour deux raisons : premièrement, à l'ère de la généralisation des concepts modulaires, le système Move natif (c'est-à-dire Move Twin Star) ) est considérée comme la dernière tentative de couche 1, allant fondamentalement à contre-courant de la tendance, mais la récente montée de plusieurs chaînes hétérogènes pourrait prouver que la modularisation n'est pas la seule réponse. La seconde est de refaire une chaîne publique et d'utiliser un nouveau langage de programmation. Vous pouvez y penser comme si vous vouliez refaire un système pour défier iOS et Android sur le marché actuel de la téléphonie mobile, le futur chemin doit être semé d'épines. Que le système Move puisse briller et être aussi populaire que Solana dans les prochaines années, l'orientation de développement qu'il choisira sera particulièrement critique. La réponse de Sui à cette question est : les jeux.
Les jeux sont l'une des entrées importantes du Web3, mais la plupart des chaînes publiques ne prennent pas bien en charge les jeux. Cela est dû au fait que les blockchains ont été conçues autour de la finance depuis leur naissance et qu'en raison de la faible performance des structures décentralisées, elles ne sont pas naturellement adaptées aux jeux. Mais Sui est différent. Son modèle convient aussi bien aux applications DeFi qu'aux applications et jeux non financiers. Comme mentionné ci-dessus, en Sui, tout est objet. Les jeux ou applications ont des actifs complexes avec des relations hiérarchiques. Sur Sui, les objets peuvent posséder d'autres objets (les actifs peuvent posséder des actifs). Disons que vous jouez à un jeu avec un personnage héroïque et que ce personnage héroïque possède un inventaire qui contient également d'autres actifs numériques appartenant à ce personnage. Sui peut modéliser avec précision ces hiérarchies de données d'une manière que les autres blockchains ne peuvent pas. Par conséquent, cela donne aux développeurs la possibilité d’exprimer les applications qu’ils souhaitent créer sans avoir à aborder les limitations fondamentales de la chaîne.
En outre, Sui développe activement sa coopération avec les géants traditionnels du Web2 et a conclu des partenariats avec trois des quatre principaux géants coréens du jeu (Netmarble, NHN et NCSoft) depuis l'année dernière. Cette année, Sui coopère avec Tiktok pour développer des jeux blockchain et des projets SocialFi, et présente les géants traditionnels au Web2.
3. Aptos
Aptos, une autre blockchain de couche 1 basée sur le langage Move, s'engage également à créer une infrastructure Web3 hautes performances et évolutive. Sa conception architecturale partage de nombreuses similitudes avec Sui, mais présente également des caractéristiques uniques.
3.1 Architecture
1. Conception modulaire : Aptos adopte une architecture modulaire, permettant aux développeurs de développer et de mettre à niveau indépendamment différents modules, améliorant ainsi la vitesse et la flexibilité du développement ;
2. Moteur d'exécution parallèle (Block-STM) : contrairement à d'autres blockchains qui nécessitent une pré-déclaration des dépendances de données, le moteur d'exécution parallèle d'Aptos peut traiter des transactions en parallèle sans connaissance préalable de l'emplacement des données, augmentant ainsi le débit et réduisant la latence ;
3. Traitement des transactions en pipeline : Aptos divise le traitement des transactions en plusieurs étapes telles que la propagation, le tri des métadonnées et le stockage par lots, et exécute ces étapes en parallèle via une approche de pipeline pour maximiser le débit et réduire la latence ;
4. Langage de programmation Move : Aptos utilise le langage de programmation Move Par rapport aux innovations introduites par Sui, Aptos a fait plus pour le perfectionner. Par exemple, standardiser le langage, introduire une prise en charge de fonctions plus puissante et des capacités de personnalisation ;
5. Synchronisation flexible des statuts : permet aux nœuds de choisir différentes stratégies de synchronisation des statuts, telles que la synchronisation de l'historique complet ou la synchronisation uniquement du dernier statut, améliorant ainsi la flexibilité du nœud ;
6. Mécanisme de consensus AptosBFT : AptosBFT est un mécanisme de consensus byzantin tolérant aux pannes utilisé par Aptos, qui améliore le débit et réduit la latence en optimisant la communication et la synchronisation entre les validateurs. Par rapport à Sui, il ne peut être considéré que comme une version améliorée de DiemBFT. Il a apporté certaines améliorations en termes d'efficacité et de récupération anti-crash, je ne l'expliquerai donc que brièvement ici.
L'architecture d'Aptos est conçue pour lui permettre de gérer un grand nombre de transactions simultanées tout en maintenant des vitesses élevées, des frais faibles et la sécurité. Dans le même temps, le langage Move d'Aptos et le framework Aptos fournissent également aux développeurs des outils puissants pour les aider à créer des applications sécurisées, évolutives et conviviales.
3.2 Bloc-STM
Développons ici pour parler du moteur d'exécution parallèle innovant Block-STM d'Aptos :
Principes fondamentaux de Block-STM :
Exécution d'ordre prédéfini : Block-STM s'appuie sur l'ordre prédéfini des transactions dans le bloc. Toutes les transactions doivent être exécutées dans cet ordre pour garantir la cohérence de l'état final ;
Contrôle de concurrence optimiste : Block-STM exécutera de manière optimiste les transactions en parallèle, en supposant qu'aucun conflit ne se produira. Le contrôle de concurrence optimiste repose sur l'hypothèse selon laquelle « les conflits sont rares » et permet aux transactions d'accéder aux données et de les modifier sans verrouillage. Il estime que la probabilité que plusieurs transactions entrent en collision en même temps est très faible, il peut donc être modifié en premier et vérifier si un conflit se produit réellement avant la validation finale ;
Structure de données multiversion : pour prendre en charge un contrôle de concurrence optimiste, Block-STM utilise une structure de données multiversion pour stocker les données. Chaque opération d'écriture crée une nouvelle version des données, tandis qu'une opération de lecture accède à la version correspondante des données ;
Vérification et nouvelle tentative : après avoir exécuté une transaction, Block-STM vérifie si la version des données lues est toujours valide. Si la vérification échoue, un conflit se produit et la transaction sera marquée comme invalide et réexécutée ;
Planification coopérative : Block-STM utilise un planificateur coopératif pour coordonner les tâches d'exécution et de vérification des threads individuels afin de maximiser le parallélisme.
Flux de travail Block-STM :
Regroupement de transactions : regroupez les transactions dans le bloc et affectez-les à différents threads pour une exécution parallèle ;
Exécution optimiste : chaque thread exécute de manière optimiste les transactions qui lui sont assignées et enregistre les ensembles de lecture et d'écriture de chaque transaction ;
Vérification : lorsqu'un thread termine l'exécution d'une transaction, il vérifie si la version des données dans l'ensemble lu est toujours valide ;
Réessayer : si la vérification échoue, un conflit se produit et la transaction sera marquée comme invalide et réexécutée ;
Soumettre : une fois toutes les transactions vérifiées, les résultats sont écrits dans le statut de la blockchain pour terminer la soumission de la transaction.
Avantages du Block-STM :
Débit élevé : grâce à un contrôle de concurrence optimiste et à une planification coopérative, Block-STM peut utiliser pleinement les performances des processeurs multicœurs pour atteindre un débit élevé ;
Faible latence : étant donné que les transactions peuvent être exécutées en parallèle, Block-STM peut réduire considérablement le temps de confirmation des transactions ;
Sécurité : le mécanisme d'exécution et de vérification séquentielle prédéfini de Block-STM garantit la cohérence et la sécurité de l'état final.
En termes simples, Block-STM est un moteur d'exécution de transactions parallèles efficace qui combine des technologies telles que le contrôle de concurrence optimiste, les structures de données multi-versions et la planification collaborative pour maximiser le nombre de blocs tout en garantissant la sécurité et l'exactitude du débit de la chaîne.
3.3 Compte abstrait
Contrairement au compte abstrait de Sui, qui est si direct, les dimensions abstraites prises en charge par Aptos sont plus limitées et il n'y a pas de normes spécifiques prédéfinies. Ses capacités de compte abstrait se reflètent principalement dans les aspects suivants :
Gestion de compte modulaire : utilisez les modules Move pour définir et gérer les comptes, et les développeurs peuvent créer des modules personnalisés pour implémenter différents types et fonctions de compte.
Gestion flexible des clés : permettez aux utilisateurs d'utiliser différentes clés pour effectuer différentes opérations sur le compte, comme l'utilisation d'une clé pour la signature des transactions et d'une autre clé pour la gestion du compte.
Vérification de transaction programmable : les développeurs peuvent définir une logique de vérification de transaction personnalisée dans le module Move, telle que multi-signature, limite, etc., pour répondre à différents scénarios d'application.
3.4 Coopération avec Microsoft
Par rapport à Sui, qui se concentre davantage sur le développement de jeux, Aptos n'a pas d'objectif de développement spécifique. Son slogan est la blockchain la plus adaptée à la production. Il convient de mentionner qu'Aptos coopère actuellement avec Microsoft pour introduire la technologie d'IA de Microsoft dans la blockchain. Actuellement, le premier produit collaboratif entre les deux, Aptos Assistant, a été lancé sur la page officielle. Ce produit est un assistant d'IA génératif construit par le réseau Aptos, et les produits d'IA ultérieurs seront annoncés dans quelques mois.
4. Déplacer le système
Bien que Sui ait obtenu de bons résultats récemment, il reste inférieur aux systèmes EVM et aux chaînes hétérogènes telles que Solana et Ton. La montée en puissance de Move a encore besoin d'un certain temps pour s'installer. Bien que les étoiles jumelles actuelles Sui et Aptos aient un halo d'étoiles et aient effectivement fait des percées technologiques, l'échelle et l'activité globales de l'écosystème Move ne sont toujours pas aussi bonnes que celles d'autres écosystèmes matures. Il faut du temps pour accumuler le nombre de développeurs, les types d’applications et le nombre d’utilisateurs. Du point de vue de la coopération externe aux opérations, les deux ont une pensée Web2 relativement forte et manquent de certains gènes Web3. Divers projets de coopération ont toujours été tièdes dans l'industrie.
Mais en ce qui concerne le potentiel de la série Move, il mérite d'être exploré sous de nombreux aspects, et certains développeurs ont également remarqué la valeur future de Move. Comme mentionné dans la préface, il existe déjà des projets visant à introduire Move dans la couche 2 de l'ETH. À l'avenir, le système Move brillera également dans l'écosystème de la deuxième couche de l'ETH. Ce qu'il faut maintenant, c'est comment promouvoir le système Move.
Références :
Une comparaison entre Aptos et Sui : https://cryptotvplus.com/2022/08/a-comparison-of-aptos-and-sui/
Nansen : Explication détaillée des caractéristiques techniques et de l'état écologique de la chaîne publique star Aptos : https://foresightnews.pro/article/detail/16825
Documentation Aptos : https://aptos.dev/en/network/blockchain/move
Documentation officielle Sui : https://docs.sui.io/
En tant que nouveau venu dans la blockchain, comment comprenez-vous Sui et son fonctionnement ? :https://medium.com/sui-network-cn/En tant que débutant dans la blockchain-comment comprendre sui et comment il fonctionne-f2aaa5d8848f