Introduction
Récemment, le marché s’est considérablement refroidi, amenant même les vétérans du secteur à s’interroger sur sa raison d’être. J’aimerais vous faire part de certaines de mes réflexions personnelles : Je pense que bon nombre des grandes visions du passé ont été « réfutées » parce qu’elles n’ont jamais été logiquement cohérentes dès le départ.
Les Dapps non financières ont souvent essayé de mettre l’accent sur la décentralisation pour dissimuler le fait que les produits eux-mêmes n’étaient pas assez bons. En réalité, elles me demandent de me méfier de Google, Twitter et YouTube et de croire plutôt que leurs portefeuilles multi-signatures et leurs configurations à serveur unique sont sûrs.
De nombreuses visions n’ont pas été réfutées mais n’ont jamais été véritablement testées. Je reste persuadé que même si la plupart des visions ne sont pas grandioses, elles ont un sens – elles ont simplement besoin d’une base solide pour les soutenir. En fin de compte, il est possible de proposer au moins une décentralisation ou une expérience utilisateur comparable à celle du Web2.
Tout comme TON et Solana, autrefois sous-estimés, sont en train de rattraper leurs prédécesseurs à bien des égards. Les chaînes publiques qui soutiennent les applications ont besoin d’innovation, ce qui, à chaque cycle, fait progresser l’industrie. Aujourd’hui, nous allons donc explorer un type de chaîne publique qui a longtemps été négligé : l’écosystème Move.
1. Déplacer
Le langage de programmation Move a été créé à l’origine pour le projet abandonné de Meta, Diem (initialement appelé Libra), qui visait à développer un stablecoin plus stable et réglementé comme base de sa vision du métavers.
Cependant, le projet s’est heurté à une forte opposition et à une pression constante de la part des régulateurs mondiaux. Ceux-ci craignaient que l’ampleur de Diem et la vaste base d’utilisateurs de Facebook ne menacent la stabilité financière, la politique monétaire et la confidentialité des données. Les pressions exercées par l’administration Biden ont finalement contraint la Meta à abandonner le projet Diem.
Heureusement, le cœur de Diem n’a pas été abandonné. Différentes factions séparées de l’équipe originale ont continué à explorer et à développer Move, qui a évolué vers les jumeaux Move que nous connaissons aujourd’hui – Sui et Aptos. En outre, d’autres projets comme Linera (une blockchain basée sur Rust et inspirée de Move) et Movement, récemment promu, n’en sont qu’à leurs balbutiements.
Pourquoi l’impact résiduel d’un projet abandonné a-t-il été si important ? Move, en tant que langage de programmation de blockchain développé par une entreprise leader du Web2, repose sur des bases solides. Il a été conçu dans le but de résoudre les problèmes de performance et de sécurité qui prévalent dans les langages de blockchain existants, en particulier Solidity. Ses objectifs de conception étaient de créer un système de type adapté à la gestion des actifs et au contrôle d’accès. Je résume les points clés comme suit :
- Sécurité : La conception de Move donne la priorité à la sécurité, en utilisant des vérifications statiques de type et la gestion des ressources pour prévenir les vulnérabilités courantes telles que les erreurs de débordement et les attaques de réentrance. Par rapport à d’autres machines virtuelles de langage, Move prend en charge diverses fonctions de sécurité, comme l’illustre la comparaison ci-dessous de Nansen.
- Composabilité : Move prend en charge la modularité et la composabilité, ce qui permet aux développeurs de créer et de combiner facilement différents contrats intelligents pour créer des applications plus complexes.
- Performance : La machine virtuelle de Move est optimisée (elle prend en charge le traitement parallèle, la gestion de la mémoire, les optimisations du compilateur) pour exécuter efficacement les contrats intelligents, améliorant ainsi la vitesse et le débit des transactions.
Dans un marché saturé de chaînes EVM modulaires, Move représente une tentative courageuse de faire quelque chose de différent. Il se peut que vous ayez rencontré des affirmations similaires dans les introductions de nombreux projets de chaînes publiques, mais je vous suggère d’en faire l’expérience directe pour vraiment comprendre ces concepts.
2. Sui
2.1 L’architecture
En tant que l’un des jumeaux Move, Sui a été critiqué dès le début pour des problèmes liés aux airdrops et aux mécanismes de libération des jetons. Toutefois, si l’on met de côté ces problèmes et que l’on se concentre uniquement sur le projet lui-même, Sui a fait preuve d’excellence en termes de performances et d’expérience utilisateur, en particulier dans le secteur des jeux.
Ce succès est étroitement lié à son architecture, qui a été spécialement améliorée en vue d’une adoption par le grand public. Voici un bref aperçu des innovations architecturales de Sui :
- Modèle de stockage d’objets : Ce composant est au cœur des améliorations apportées par Sui à Move. Le modèle de stockage d’objets stocke les données sous forme d’objets individuels, chacun ayant un identifiant unique. Contrairement aux systèmes de base de données traditionnels, le modèle de stockage d’objets 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). La conception de Sui s’articule autour de ce modèle.
- Ordonnancement causal : garantit que les transactions sont exécutées dans un ordre qui respecte les relations de cause à effet, en évitant les conflits de données et les incohérences. Cela permet à Sui de gérer de grands volumes de transactions simultanées tout en maintenant la cohérence des données.
- Les moteurs de consensus Narwhal et Bullshark : Sui utilise Narwhal et Bullshark comme moteurs de consensus. Narwhal est responsable de l’ordonnancement et de la validation des transactions en maintenant un pool de transactions local, en triant les transactions sur la base de relations de cause à effet et en les diffusant. Bullshark, après avoir reçu la liste des transactions triées de Narwhal, vote sur la liste en utilisant le consensus Byzantine Fault Tolerance (BFT) pour s’assurer que tous les nœuds sont d’accord sur l’ordre des transactions.
- Sui Move : Sui étend le langage Move en y ajoutant de nouvelles fonctionnalités, telles que la prise en charge des NFT, la gestion des actifs et le stockage des données.
- Cadre Sui : Sui fournit un cadre complet pour aider les développeurs à créer et à déployer rapidement des applications, y compris des outils et des bibliothèques comme Sui Wallet, Sui SDK et Sui CLI.
L’architecture de Sui lui permet de traiter de grands volumes de transactions simultanées tout en maintenant une vitesse élevée, des frais réduits et une grande sécurité. Le langage Move et le cadre Sui fournissent également aux développeurs des outils puissants pour créer des applications sûres, évolutives et conviviales.
2.2 Consensus
La blockchain Sui utilise un mécanisme de consensus appelé Mysticeti, un consensus tolérant aux fautes byzantines (BFT) conçu pour une faible latence et un débit élevé.
Mysticeti permet à plusieurs validateurs de proposer des blocs en parallèle, ce qui permet d’utiliser pleinement la bande passante du réseau et de résister à la censure. En outre, le protocole ne nécessite que trois tours de messages pour finaliser un bloc du graphe acyclique dirigé (DAG), ce qui correspond au minimum théorique, tout comme pBFT.
Les règles de soumission permettent le vote en parallèle et la certification des chefs de bloc, ce qui réduit encore la latence médiane et la latence de queue. Les règles de soumission tolèrent également l’indisponibilité des chefs de file sans augmenter de manière significative la latence.
Mysticeti a fonctionné sur le réseau de test pendant trois mois avant le lancement du réseau principal de Sui, affichant des résultats significatifs tels qu’une réduction de 80 % de la latence. Aujourd’hui, le réseau Sui peut traiter des dizaines de milliers de transactions par seconde, avec un temps de latence de bout en bout bien inférieur à une seconde.
La blockchain Sui utilise également un type spécifique de consensus par preuve d’enjeu (PoS) appelé preuve d’enjeu déléguée (DPoS). Lorsqu’une transaction impliquant des objets partagés (appelés transactions complexes) se produit, Sui utilise les moteurs de consensus Narwhal et Bullshark susmentionnés pour ordonner les transactions. Par rapport à d’autres 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 haut débit : Le protocole Mysticeti réduit considérablement la latence du consensus et augmente le débit du réseau grâce à des propositions de blocs parallèles et à un flux de messages optimisé, ce qui permet à 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, ce qui améliore la résistance du réseau à la censure.
- Tolérance à l’échec du leader : Les règles de soumission tolèrent l’indisponibilité des chefs de file sans augmenter significativement la latence, en élisant automatiquement un nouveau chef de file qui prend le relais lorsque le nœud chef de file tombe en panne.
Inconvénients :
- Complexité : La conception du protocole Mysticeti est relativement complexe et nécessite une compréhension technique approfondie pour saisir pleinement ses mécanismes opérationnels.
- Sécurité : Bien que le protocole Mysticeti ait donné de bons résultats sur le réseau d’essai, sa sécurité doit encore être validée dans des applications réelles.
- Évolutivité : L’évolutivité du protocole Mysticeti doit faire l’objet d’une observation plus approfondie afin de s’assurer qu’il peut s’adapter à la croissance future de la taille du réseau et du volume des transactions.
2.3 Comptes abstraits
Le modèle de compte abstrait de Sui (Abstraction de compte) est un mécanisme qui permet aux utilisateurs de gérer leurs comptes et leurs transactions de manière plus simple et plus sûre en abstrayant la logique de compte et de transaction du protocole blockchain sous-jacent, ce qui permet d’atteindre un niveau plus élevé de gestion des comptes et de traitement des transactions.
Dans le modèle de compte abstrait de Sui, les comptes ne sont plus de simples paires de clés publiques et privées, mais des objets dotés d’attributs et de comportements plus riches. Chaque compte possède un identifiant unique, appelé identifiant 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 du compte : L’unité fondamentale des comptes dans Sui. Chaque objet de compte a un identifiant de compte unique et contient les attributs et les comportements du compte.
- Données du compte : Composant central de l’objet compte, contenant des informations de base sur le compte, telles que l’identifiant du compte et la paire de clés publique-privée.
- Contexte de la transaction : Unité de base des transactions dans Sui, contenant des informations relatives aux transactions telles que l’identifiant de la transaction, l’identifiant du compte et les données de la transaction.
- Logique de compte : L’ensemble des comportements et des règles des comptes dans Sui, définissant comment les comptes traitent les transactions et gèrent leur état.
Le processus de traitement des transactions dans le modèle de compte abstrait de Sui comporte les étapes suivantes :
- Création d’une transaction : Les utilisateurs créent une transaction et l’envoient au réseau Sui.
- Validation des transactions : Le réseau Sui valide la validité et l’intégrité de la transaction.
- Consultation des comptes : Le réseau Sui trouve l’objet de compte correspondant sur la base de l’ID de compte dans la transaction.
- Exécution de la logique de compte : Le réseau Sui exécute la logique de compte pour traiter la transaction et mettre à jour l’état du compte.
- Confirmation de la transaction : Le réseau Sui confirme le résultat de la transaction et l’inscrit 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 blockchain se démarque, elle doit d’abord construire des fondations solides. J’ai qualifié l’écosystème Move d’expérience audacieuse pour deux raisons principales.
Tout d’abord, à une époque où le concept de modularisation se généralise, les écosystèmes Move natifs (en particulier les jumeaux Move) représentent la dernière tentative de solutions de niveau 1, à contre-courant de la tendance actuelle.
Toutefois, l’essor récent de plusieurs chaînes hétérogènes pourrait prouver que la modularisation n’est pas la seule solution.
Deuxièmement, reconstruire une blockchain en utilisant un nouveau langage de programmation revient à essayer de créer un nouveau système d’exploitation pour concurrencer iOS et Android sur le marché actuel des smartphones – une voie inévitablement semée d’embûches.
La question de savoir si l’écosystème Move brillera comme Solana dans les années à venir dépend en grande partie de la direction qu’il choisira. La réponse de Sui à ce défi est le jeu.
Les jeux sont l’une des principales passerelles vers le Web3, mais la plupart des blockchains ne les prennent pas bien en charge. En effet, la technologie blockchain a été conçue à l’origine pour des applications financières, et son architecture décentralisée est intrinsèquement moins performante, ce qui la rend mal adaptée aux jeux.
Sui, cependant, est différent. Son modèle est bien adapté aux applications DeFi et aux applications non financières, y compris les jeux. Comme indiqué précédemment, dans Sui, tout est un objet. Dans Sui, les objets peuvent posséder d’autres objets, ce qui permet de modéliser des hiérarchies d’actifs complexes typiques des jeux ou des applications.
Imaginez que vous jouiez à un jeu dans lequel le héros a un inventaire, et que cet inventaire contienne d’autres actifs numériques appartenant au personnage. Sui peut modéliser ces hiérarchies de données d’une manière que d’autres blockchains ne peuvent pas faire. Les développeurs ont ainsi la possibilité de créer des applications sans avoir à contourner les limites inhérentes à la chaîne.
En outre, Sui collabore activement avec les géants traditionnels du Web2. L’année dernière, Sui a établi des partenariats avec trois des quatre principaux géants sud-coréens du jeu (Netmarble, NHN et NCSoft). Cette année, Sui s’est associé à TikTok pour développer des jeux blockchain et des projets SocialFi, amenant ainsi des géants traditionnels dans l’espace Web3.
3. Aptos
Aptos, une autre blockchain de couche 1 basée sur le langage Move, s’est également engagée à construire une infrastructure Web3 performante et évolutive. Sa conception architecturale présente de nombreuses similitudes avec celle de Sui, mais elle introduit également des caractéristiques uniques.
3.1 Architecture
- Conception modulaire : Aptos adopte une architecture modulaire qui permet aux développeurs de développer et de mettre à jour indépendamment différents modules, améliorant ainsi la vitesse de développement et la flexibilité.
- Moteur d’exécution parallèle (Block-STM) : Contrairement à d’autres blockchains qui nécessitent des dépendances de données pré-déclarées, le moteur d’exécution parallèle d’Aptos peut traiter les transactions en parallèle sans connaissance préalable de l’emplacement des données, ce qui permet d’augmenter le débit et de réduire la latence.
- Traitement des transactions en pipeline : Aptos divise le traitement des transactions en plusieurs étapes, telles que la propagation, l’ordonnancement des métadonnées et le stockage par lots, et exécute ces étapes en parallèle grâce au pipelining afin de maximiser le débit et de minimiser la latence.
- Move Langage de programmation : Aptos utilise le langage de programmation Move, en mettant l’accent sur le raffinement plutôt que sur l’innovation par rapport à Sui. Par exemple, il normalise le langage, introduit un support de fonction plus robuste et améliore les capacités de personnalisation.
- Synchronisation flexible des états : Permet aux nœuds de choisir différentes stratégies de synchronisation des états, telles que la synchronisation de l’historique complet ou uniquement du dernier état, ce qui améliore la flexibilité des nœuds.
- Mécanisme de consensus AptosBFT : AptosBFT est un mécanisme de consensus de tolérance aux fautes byzantines utilisé par Aptos. Il optimise la communication et la synchronisation entre les validateurs afin d’améliorer le débit et de réduire la latence. Comparé à Sui, qui peut être considéré comme une version améliorée de DiemBFT, AptosBFT a réalisé certaines avancées en matière d’efficacité et de récupération en cas de panne, c’est pourquoi il sera brièvement mentionné ici.
L’architecture d’Aptos lui permet de gérer un grand nombre de transactions simultanées tout en maintenant une vitesse élevée, des frais réduits et une grande sécurité. En outre, le langage Move et le cadre Aptos fournissent aux développeurs des outils puissants pour créer des applications sécurisées, évolutives et conviviales.
3.2 Bloc-STM
Approfondissons l’innovation centrale d’Aptos, le moteur d’exécution parallèle Block-STM :
Principes fondamentaux de Block-STM :
- Exécution séquentielle prédéfinie : Block-STM repose sur une séquence prédéfinie de transactions au sein d’un bloc. Toutes les transactions doivent être exécutées dans cet ordre pour garantir la cohérence de l’état final.
- Contrôle optimiste de la concurence : Block-STM exécute les transactions en parallèle de manière optimiste, en supposant qu’aucun conflit ne se produira. Cette méthode de contrôle repose sur l’hypothèse que les conflits sont rares, ce qui permet aux transactions d’accéder aux données et de les modifier sans verrouillage. Elle suppose que la probabilité de conflits simultanés est faible, de sorte que les modifications peuvent être effectuées, les conflits étant vérifiés avant la validation finale.
- Structure de données multi-version : Pour prendre en charge le contrôle optimiste de la concurrence, Block-STM utilise une structure de données multi-version pour stocker les données. Chaque opération d’écriture crée une nouvelle version de données, tandis que les opérations de lecture accèdent à la version de données correspondante.
- Validation et réessai : Après l’exécution d’une transaction, Block-STM vérifie si les versions des données qu’il a lues sont toujours valides. Si la validation échoue, indiquant un conflit, la transaction est marquée comme invalide et réexécutée.
- L’ordonnancement collaboratif : Block-STM utilise un planificateur collaboratif pour coordonner les tâches d’exécution et de validation des différents threads, maximisant ainsi le parallélisme.
Flux de travail Block-STM :
- Groupement de transactions : Regrouper les transactions au sein d’un bloc et les affecter à différents threads pour une exécution parallèle.
- Exécution optimiste : Chaque thread exécute de manière optimale les transactions qui lui sont attribuées et enregistre l’ensemble des lectures/écritures de chaque transaction.
- Validation : Une fois qu’un thread a terminé une transaction, il vérifie si les versions de données de son jeu de lecture sont toujours valides.
- Réessayer : Si la validation échoue, indiquant un conflit, la transaction est marquée comme invalide et réexécutée.
- S’engager : Une fois que toutes les transactions ont été validées, leurs résultats sont inscrits dans l’état de la blockchain, ce qui termine la validation de la transaction.
Avantages de Block-STM :
- Haut débit : En tirant parti du contrôle optimiste de la concurrence et de l’ordonnancement collaboratif, Block-STM utilise pleinement les processeurs multicœurs, ce qui permet d’obtenir un débit élevé.
- Faible latence : Comme les transactions peuvent être exécutées en parallèle, Block-STM réduit considérablement le temps de confirmation des transactions.
- La sécurité : Les mécanismes prédéfinis d’exécution séquentielle et de validation de Block-STM garantissent la cohérence et la sécurité de l’état final.
En résumé, Block-STM est un moteur d’exécution de transactions parallèles efficace qui combine un contrôle optimiste de la concurrence, des structures de données multi-version et un ordonnancement collaboratif pour maximiser le débit de la blockchain tout en garantissant la sécurité et la correction.
3.3 Abstraction des comptes
Contrairement à l’approche plus directe de Sui en matière d’abstraction des comptes, Aptos prend en charge une dimension d’abstraction plus limitée et ne dispose pas de normes prédéfinies spécifiques. Ses capacités d’abstraction des comptes se manifestent principalement dans les domaines suivants :
- Gestion modulaire des comptes : utilise les modules Move pour définir et gérer les comptes, ce qui permet aux développeurs de créer des modules personnalisés pour différents types de comptes et de fonctionnalités.
- Gestion flexible des clés : Permet aux utilisateurs d’utiliser des clés différentes pour des opérations de compte différentes, par exemple en utilisant une clé pour la signature des transactions et une autre pour la gestion du compte.
- Vérification programmable des transactions : Les développeurs peuvent définir une logique de vérification des transactions personnalisée dans les modules Move, comme la multi-signature ou les limites, pour répondre à différents scénarios d’application.
3.4 Partenariat 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 d’être la blockchain la plus adaptée à la production.
Un aspect notable est la collaboration en cours entre Aptos et Microsoft, qui vise à intégrer la technologie d’IA de Microsoft dans la blockchain. Leur premier produit collaboratif, Aptos Assistant, un assistant génératif d’IA construit sur le réseau Aptos, est déjà en ligne sur le site officiel. D’autres produits d’IA seront annoncés au cours des prochains mois.
4. L’écosystème Move
Bien que Sui ait récemment enregistré de bonnes performances, l’écosystème Move a encore besoin de temps pour arriver à maturité par rapport aux chaînes basées sur l’EVM, Solana, Ton et d’autres chaînes hétérogènes. Bien que Sui et Aptos soient sous les feux de la rampe et fassent des percées technologiques, l’échelle et l’activité globales de l’écosystème Move ne sont pas encore comparables à celles d’autres écosystèmes matures.
Le nombre de développeurs, les types d’applications et la base d’utilisateurs ont encore besoin de temps pour se développer. En termes de collaborations et d’opérations externes, Sui et Aptos font preuve d’une forte mentalité Web2, manquant d’une partie de l’essence Web3, ce qui a permis à leurs projets de rester relativement discrets au sein de l’industrie.
Toutefois, compte tenu du potentiel de l’écosystème Move, il est très prometteur. Certains développeurs reconnaissent déjà la valeur future de Move. Comme mentionné dans la préface, il existe déjà des projets qui intègrent Move dans les solutions Ethereum. À l’avenir, l’écosystème Move pourrait briller dans l’espace de la couche 2 de l’ETH. L’accent est actuellement mis sur la manière de promouvoir davantage l’écosystème Move.