Qu'est-ce que le sharding en crypto ?

Sharding

Qu'est-ce que le sharding en crypto ?

Le sharding est un concept qui améliore la scalabilité des blockchains, en divisant les grandes blockchains en parties plus petites (shards). En fait, les données sont réparties entre les shards, permettant un traitement parallèle. Cela se fait via plusieurs chaînes parallèles, chacune traitant son propre ensemble de données (sous-réseau). Cette approche permet une plus grande scalabilité, une capacité de traitement accrue et plus de transactions par seconde (TPS).

Les shards résolvent un problème fondamental : chaque nœud doit normalement suivre et traiter chaque transaction, ce qui alourdit considérablement le réseau et limite sa scalabilité. Les shards prennent en charge la majeure partie du traitement avant de transmettre les données aux nœuds pour ajout à la blockchain.

Les shards fonctionnent sans utiliser de systèmes centralisés (comme des processeurs de données centralisés) ni de solutions off-chain, ce qui permet au réseau de rester entièrement décentralisé.

Le sharding est une solution Layer-1, également appelée couche 1. Les blockchains sont souvent composées du mainnet (chaîne principale), de la couche 1 et de la couche 2. Le mainnet et la couche 1 sont indissociables. La couche 1 constitue la base technique d'une blockchain, et le mainnet est son application en direct. Toutes les transactions réelles ont lieu sur le mainnet, et toute modification apportée à la couche 1 a un impact direct sur le fonctionnement du mainnet.

Exemple : Imaginez une maison. La couche 1 est la fondation et la structure : les murs, les canalisations et l’électricité. Le mainnet correspond au moment où vous vivez réellement dans la maison. Si vous modifiez la fondation, par exemple avec une extension ou une nouvelle salle de bain, cela a un impact sur la manière dont vous vivez dans la maison. Le sharding agit de la même manière dans une blockchain : il divise le réseau en parties plus petites (shards), afin que les transactions puissent être traitées en parallèle sans que le système entier ne soit ralenti.


À retenir

  • Le sharding divise une blockchain en shards travaillant en parallèle, permettant un traitement simultané des transactions. Cela augmente considérablement la vitesse des transactions (TPS).

  • Les nœuds ne doivent traiter qu'une partie de la blockchain au lieu de l'intégralité. Cela augmente l'efficacité et réduit les exigences matérielles.

  • La coordination entre shards nécessite des protocoles complexes. De plus, les shards plus petits sont plus vulnérables aux attaques comme une attaque des 51 %.

  • En tant que solution de couche 1, le sharding fonctionne directement au sein de la blockchain sans compromettre la décentralisation ou la sécurité.


Comment fonctionne le sharding ?

Le sharding en crypto consiste à diviser la blockchain en différents processeurs de données (shards) fonctionnant en parallèle. Grâce à ce traitement parallèle des données, plus de données peuvent être traitées simultanément, ce qui améliore la vitesse de traitement des transactions, exprimée en transactions par seconde (TPS).

Chaque shard possède son propre sous-ensemble de données et de smart contracts. Les validateurs ou nœuds d’un shard sont responsables du traitement des transactions et du maintien de l’état de la blockchain, aussi appelé "state".

Des mécanismes de coordination supervisent le fonctionnement des shards. Ils surveillent la collaboration entre shards et facilitent l’échange d’informations entre eux. Cela évite les doubles dépenses ou les conflits, et permet un traitement parallèle des transactions au lieu d’un traitement linéaire comme dans les blockchains traditionnelles.

Toutes les blockchains n’utilisent pas le même système de sharding. Par exemple, Ethereum 2.0 (où les shards ne sont pas encore implémentés) utilise une Beacon Chain pour coordonner les shards et maintenir le consensus. Polkadot utilise un système similaire, la Relay Chain, qui gère et coordonne les parachains.

Il existe également des blockchains expérimentant d’autres modèles de sharding, comme des structures plus autonomes où les shards fonctionnent de manière indépendante avec une coordination centrale minimale.

Il existe donc différents modèles, chacun avec sa propre méthode de mise en œuvre. Malgré ces différences, tous poursuivent les mêmes objectifs :

  • Éviter les doubles dépenses

  • Maintenir l’état du registre numérique

  • Coordonner efficacement les transactions entre shards

Structure des shards

Chaque shard fonctionne de manière indépendante, ce qui signifie qu’il est responsable de tâches spécifiques, comme assurer la bonne transmission des données aux autres shards et au reste de la blockchain. Chaque shard :

  • Maintient son propre état, comme les soldes des portefeuilles et les données des smart contracts

  • Reçoit et traite son propre sous-ensemble de données de transaction

  • Est maintenu par un groupe de validateurs ou de nœuds qui lui sont affectés

Communication inter-shards

Certaines transactions peuvent impliquer plusieurs shards. Cela peut se produire lorsqu’un utilisateur A veut envoyer des tokens à un utilisateur B, et que leurs portefeuilles sont dans des shards différents. Un autre exemple est celui d’un smart contract qui souhaite appeler un autre smart contract situé dans un shard différent.

Ce type d’interactions inter-shards pose des défis techniques, tels que la nécessité de traiter les transactions en plusieurs étapes. Plusieurs solutions existent, comme :

  • Le traitement asynchrone où une transaction se déroule en plusieurs étapes entre les shards.

  • Les protocoles de transmission de messages qui permettent aux shards de s’envoyer des messages via un mécanisme de coordination.

Techniques de vérification et de sécurité dans le sharding

Les shards doivent aussi vérifier les données des autres shards pour garantir leur exactitude et leur intégrité. C’est pourquoi des mécanismes ont été développés pour assurer la fiabilité du système. Les techniques suivantes sont utilisées :

  • Fraud proof
    Une fraud proof est une preuve montrant qu’une transaction ou un bloc est invalide. Si un shard agit de manière incorrecte, une autre entité peut le prouver avec une fraud proof. Cela est fréquent dans les systèmes utilisant la technologie de registre distribué, comme les blockchains, qui partent du principe que les transactions sont valides jusqu’à preuve du contraire.

  • Validity proof
    Une validity proof (comme un zk-SNARK ou zk-STARK) est une preuve cryptographique démontrant qu’un calcul ou une transaction a été correctement effectué. Elle est plus efficace que les fraud proofs car aucune erreur ne doit être détectée. La validity proof est souvent utilisée dans les ZK-rollups (solutions de couche 2).

  • Data availability sampling
    Il s’agit d’une technique où les nœuds demandent aléatoirement des morceaux d’un bloc pour vérifier si toutes les données sont réellement disponibles pour le réseau. Cela évite qu’un shard ou un rollup transmette des données incomplètes qui ne peuvent pas être vérifiées.

Ethereum utilise-t-il le sharding ?

Oui, Ethereum prévoit d’implémenter le sharding dans le futur dans le cadre de sa stratégie de scalabilité. Au moment de l’écriture, le sharding n’est pas encore implémenté. Cependant, certains éléments préparatoires sont déjà en place, comme la Beacon Chain et l’introduction des blobs via EIP-4844, permettant un traitement de données plus efficace sans les stocker de manière permanente sur la blockchain.

Avec l’implémentation du danksharding, Ethereum devrait appliquer le sharding, ce qui aura un impact majeur sur son utilisation, le rendant plus scalable et convivial. Le sharding fait partie intégrante de la feuille de route Ethereum 2.0, qui comprend diverses mises à jour, comme la transition du Proof of Work vers le Proof of Stake et l’introduction des rollups.

L’objectif d’Ethereum 2.0 est d’exécuter des milliers de transactions par seconde sans compromettre la décentralisation ni la sécurité. Cela vise à favoriser l’adoption massive par des millions d’utilisateurs à travers le monde et à rendre Ethereum plus rapide, moins coûteux et plus accessible.

Quelles cryptomonnaies utilisent le sharding ?

Plusieurs blockchains utilisent le sharding. Chacune a développé sa propre infrastructure, ce qui signifie que le sharding fonctionne différemment selon les cas. L’objectif reste le même : rendre le réseau plus efficace. Exemples :

  • Zilliqa : L’une des premières blockchains à avoir mis en œuvre le sharding en production. Le réseau répartit les transactions entre plusieurs shards.

  • Elrond (MultiversX) : Utilise le sharding adaptatif de l’état (Adaptive State Sharding) et prétend atteindre des vitesses de transaction très élevées.

  • NEAR Protocol : Applique un sharding dynamique, où le nombre de shards s’adapte à la charge du réseau.

Quelle est la différence entre sharding et technologie blockchain ?

La technologie blockchain est le système sous-jacent, tandis que le sharding est une technique permettant d’utiliser la blockchain de manière plus efficace en offrant une solution de scalabilité. Le sharding est construit sur la blockchain, dans la couche 1 (layer 1). Cette couche régit le fonctionnement de la blockchain, garantit la validation des transactions et assure la sécurité du réseau.

Le sharding soutient la blockchain en traitant les données de manière plus efficace. Il soulage la blockchain en traitant les données en parallèle dans différents shards. Sans sharding, un nœud doit vérifier l’ensemble de la blockchain et valider toutes les transactions. Avec le sharding, un nœud ne traite qu’une fraction du réseau, ce qui améliore la scalabilité.

En d’autres termes : la blockchain est la fondation, le sharding est une technique de construction qui rend cette structure plus efficace.

Avantages du sharding

Le sharding présente plusieurs avantages pour les réseaux blockchain :

  • Scalabilité : Le traitement parallèle augmente la scalabilité, permettant un nombre de transactions par seconde beaucoup plus élevé.

  • Efficacité : Les nœuds doivent traiter moins de données et ne vérifient pas l’intégralité de la blockchain, ce qui améliore l’efficacité et réduit considérablement la charge globale du réseau.

  • Réduction des coûts : Une charge réseau plus faible peut entraîner des frais de transaction moindres.

  • Accessibilité : Moins de données à traiter signifie des exigences matérielles réduites, rendant le réseau plus accessible pour les participants.

Défis du sharding

Malgré ses avantages, le sharding présente plusieurs défis complexes :

  • Sécurité : Les shards plus petits peuvent être plus vulnérables aux attaques, car il y a moins de validateurs ou de nœuds pour les sécuriser. Une attaque des 51 % est donc plus facile à réaliser dans un shard.

  • Complexité : Concevoir un mécanisme de sharding fiable nécessite des protocoles sophistiqués pour la communication et la coordination entre shards.

  • Communication inter-shards : Les transactions entre shards sont plus complexes à mettre en œuvre que celles au sein d’une même chaîne.

  • Disponibilité des données : Garantir que les données provenant d'autres shards restent disponibles et vérifiables est crucial pour l’intégrité du réseau, surtout que les nœuds ne traitent souvent qu’une partie du réseau et non la blockchain entière.

  • Décentralisation : La division du réseau en shards plus petits peut rendre certains shards plus attrayants ou influents que d’autres. Cela peut entraîner une répartition inégale du pouvoir ou de la participation, mettant en péril la décentralisation globale du réseau.

En résumé

Le sharding offre une solution prometteuse à l’un des plus grands défis de la technologie blockchain : la scalabilité sans compromis sur la décentralisation ou la sécurité. En divisant le réseau en shards fonctionnant en parallèle, des blockchains comme Ethereum pourront à l’avenir traiter beaucoup plus de transactions avec une charge réduite par nœud. Bien que la technique soit encore en cours de développement et présente des défis en matière de coordination et de sécurité, le sharding constitue une brique fondamentale pour la prochaine génération de réseaux décentralisés. Il ne s’agit pas d’une solution temporaire, mais d’un changement structurel qui peut considérablement améliorer la scalabilité des blockchains.

A propos de Finst

Finst est l'une des principales plateformes de cryptomonnaies aux Pays-Bas et offre des services d'investissement de premier ordre avec des standards de sécurité institutionnels et frais de trading ultra-bas. Finst est dirigé par d’anciens collaborateurs senior de DEGIRO et est autorisé en tant que prestataire de services sur crypto-actifs par l’Autorité des Marchés Financiers (AFM) néerlandaise. Finst offre une solution crypto complète incluant des services trading, custody, fiat on/off ramp et staking pour les investisseurs particuliers et institutionnels.

La plateforme de crypto que vous allez adorer

Nous vous donnons les outils, l'inspiration et l'assistance nécessaires pour devenir un meilleur investisseur.