Créer une application spécifique à partir de zéro peut être une tâche ardue. Heureusement, il existe des solutions qui offrent la facilité de développement nécessaire pour concevoir rapidement des solutions. Dans cet article, nous présenterons la conception de Polkadot, une plateforme multichaîne pour le développement de réseaux.
Points clés à retenir
Il existe plusieurs raisons pour lesquelles les développeurs choisissent de créer leurs propres blockchains à des fins spécifiques à leurs applications.
Performance
Les réseaux décentralisés comme Ethereum ont un débit très limité qui est partagé entre des milliers de contrats intelligents appelés chaque seconde. Lorsqu'une nouvelle version sort – surtout si elle est gourmande en gaz – la blockchain sature et les frais augmentent pour répondre à la demande.
Il s'agit d'une compétition constante pour les ressources, où tous les concurrents sont également affectés par la fluctuation des prix des réseaux.
Avalanche utilise une analogie qui illustre parfaitement la nécessité de systèmes multichaînes. Imaginez la blockchain Ethereum comme une route bidimensionnelle qui suit une ligne horizontale et considérez chaque transaction comme une voiture sur ce chemin.
Lors d’une saturation du marché, le trafic sera insensé, entraînant d’énormes retards. Maintenant, disons que vous disposez d'un réseau privé pour vos utilisateurs, vos amis et votre famille. Ils pouvaient emprunter cette route sans interruption. Cela semble génial, n'est-ce pas ?
Dans un écosystème multichaîne, chaque réseau fonctionne en parallèle les uns des autres. Les transactions sont plus rapides et moins chères pour l'utilisateur final puisque l'espace de bloc n'est pas partagé avec les applications concurrentes. Cela améliore non seulement les performances, mais garantit également la résilience ; même si Ethereum subit des temps d’arrêt, AppChains continuera de fonctionner.
Espace de bloc : gaz maximum qu'un bloc peut contenir. Les transactions sont constamment en concurrence pour cela via des frais de base et prioritaires.
Personnalisation
Lors du développement d'une application décentralisée, vous devrez prendre en compte les limites imposées par le réseau sous-jacent. Les choix de conception doivent prendre en compte le débit du réseau, la finalité, la sécurité, les limitations du type de données, etc.
Il est beaucoup plus facile pour les entreprises de garantir la conformité lorsqu'elles peuvent déterminer qui peut rejoindre et effectuer des transactions sur le réseau, ainsi que contrôler les actifs qui sortent du réseau via des ponts spécifiques.
Capture de valeur
Plutôt que de créer un jeton communautaire, les développeurs ont la possibilité d'utiliser la devise native d'une blockchain spécifique à une application. Cette approche agit comme un puits d’approvisionnement car les paiements de gaz sont exécutés de manière native, évitant ainsi la nécessité d’utiliser des devises externes telles que l’ETH ou le MATIC.
Polkadot est une blockchain de couche 0 (L0) car elle fournit l'infrastructure de sécurité pour d'autres blockchains. Il s’agit du niveau de programmation le plus bas qui établit une norme ou un point de départ pour la construction des blockchains L1 de manière à optimiser la sécurité et l’interopérabilité. Les utilisateurs finaux n'interagissent pas avec cette couche.
Polkadot n'héberge pas de smart contracts mais fournit les outils nécessaires pour que les « parachains » L1 puissent construire leur infrastructure (consensus, machine à états, smart contracts, etc.).
Parachain : Un terme branché pour désigner les blockchains construites sur Polkadot.
Enfin, un élément central des couches 0 est l’interopérabilité inhérente qu’elles offrent. Les couches 1 construites sur Polkadot peuvent interagir de manière transparente les unes avec les autres, permettant un échange d'actifs sans confiance, sans avoir besoin de ponts, qui impliquent souvent des problèmes de sécurité.
Plongeons dans l'architecture du protocole. Les principaux éléments que vous devrez connaître sont les parachains, les assembleurs et les validateurs.
Chaîne de relais
Au centre de l’univers Polkadot se trouve la Relay Chain. Les parachains peuvent avoir leur propre consensus, leur propre logique de machine à états et leurs mécanismes de signature, mais cela n'a aucun rapport avec la chaîne de relais.
Comme mentionné précédemment, il n’y a pas de contrats intelligents dans cette couche. Les blockchains peuvent s'attacher à cette chaîne, et la seule exigence pour elles est d'implémenter l'interface API Polkadot, car cela est crucial pour la communication inter-chaînes.
La principale responsabilité de la Relay Chain est de sécuriser le réseau et également d’assurer l’interopérabilité. La logique spécifique à l'application est déléguée aux parachains, qui ont des consensus, des fonctionnalités et une logique de finalisation de bloc différents.
Validateurs
Le rôle d'un validateur est de collecter les transactions pour créer un nouveau bloc à proposer au réseau. Les validateurs de chaque blockchain mettent en jeu le DOT (monnaie native) et valident les transactions pour la chaîne de relais.
Parachaines
La chaîne de relais peut accueillir un nombre fini d’emplacements d’exécution. Dans la documentation Polkadot, ces emplacements sont comparés aux cœurs parallèles d'un processeur, fournissant une analogie utile. Les blockchains cherchant à se connecter à la Relay Chain doivent implémenter l'API Polkadot.
En raison de la disponibilité limitée des créneaux horaires, ils sont également tenus de participer à un mécanisme d'enchères ou de prêt participatif pour sécuriser un espace dans la chaîne de relais.
prêt participatif : un mécanisme de financement participatif permettant d'obtenir une place dans la chaîne de relais. Dans ce processus, la communauté contribue activement aux fonds pour soutenir vos projets, permettant ainsi de participer aux créneaux limités de la Chaine Relais.
Parathreads
L’exécution d’une parachain peut être coûteuse, principalement en raison de la puissance de calcul requise pour exécuter les validateurs et, plus important encore, du nombre de jetons nécessaires pour remporter une enchère dans la chaîne de relais. Polkadot relève ce défi en introduisant le concept de parathreads.
Contrairement aux blockchains traditionnelles qui fonctionnent 24h/24 et 7j/7, les développeurs utilisant des parathreads n'ont pas besoin d'héberger des nœuds en permanence, évitant ainsi une consommation d'énergie inutile pour les solutions qui ne nécessitent pas nécessairement un traitement constant des blocs.
Il existe plus d’un millier de blockchains, et chacune d’entre elles dispose de mécanismes de consensus différents. Pour que les parachains puissent communiquer, il doit exister un format de messagerie permettant de généraliser les différentes formes sous lesquelles les transactions peuvent se produire dans un réseau afin que les différences de fonctionnement n'aient pas d'importance.
Pour résoudre ce problème, l'équipe Polkadot a conçu le format Cross-Consensus Message (XCM), résumant les intentions possibles des messages à travers les blockchains.
Grâce à cette norme, un utilisateur de parachain peut envoyer son non-fongible vers le pont d'une autre parachain et recevoir l'actif dans le réseau Ethereum, par exemple.
L'approche la plus simple pour créer votre blockchain au sein de l'écosystème Polkadot consiste à utiliser les modèles fournis par le SDK Substrate. Ces modèles vous permettent de façonner votre blockchain en composant divers modules optionnels.
Par exemple, vous pouvez choisir d'incorporer le module d'actifs, en introduisant une logique d'actifs fongibles native pour améliorer le réseau.
De plus, des modules tels que l'identité offrent la commodité des services de noms intégrés, semblables à Ethereum Name Service (ENS).
Si vous souhaitez une approche plus personnalisée de votre logique blockchain – qu'il s'agisse d'un mécanisme de consensus unique ou d'un module de programme de fidélité spécialisé pour inciter les utilisateurs à effectuer des transactions spécifiques – vous avez la possibilité de créer un nouveau module FRAME qui intègre de manière transparente ces fonctionnalités.
Dans les prochains articles, nous examinerons les détails de la construction et de la personnalisation de votre propre blockchain et explorerons les diverses possibilités au sein de l'écosystème Polkadot.
Également publié ici