Le problème de scalabilité
Comme vous l’avez appris dans les leçons 16 et 18 de la section Intermédiaire de la Bitpanda Academy, il n’existe actuellement aucun réseau blockchain véritablement structuré de manière à pouvoir facilement évoluer pour rivaliser avec les réseaux de paiement traditionnels.
Prenez Ethereum par exemple, créé par Vitalik Buterin et qui fonctionne actuellement sur une seule blockchain. Bien qu’elle prenne en charge un nombre croissant d’applications décentralisées et d’utilisateurs, toutes les transactions doivent être traitées par le même groupe de mineurs, ce qui entraîne une congestion du réseau.
Même si le « block time » moyen d’Ethereum (temps nécessaire à la création d’un bloc), qui est d’environ 20 secondes, est bien inférieur aux 10 minutes du réseau Bitcoin, ses temps de traitement restent extrêmement faibles par rapport à un fournisseur de services de paiement tel que VISA, qui peut traiter 1 700 TPS (transactions par seconde). Le débit maximal d’Ethereum est en effet actuellement de 15 TPS. À mesure qu’une blockchain se développe, la quantité de données dans le réseau augmente également de manière exponentielle.
Selon l’opinion commune, le consensus basé sur la proof-of-stake devrait apporter des solutions aux lacunes d’Ethereum et, plus généralement, aux défauts de la proof-of-work. Cependant, aux yeux des développeurs d’Ethereum, ce n’est qu’une pièce du puzzle. Ethereum a annoncé son intention d’achever la transition du réseau vers un algorithme de consensus proof-of-stake au cours du deuxième trimestre 2021 dans le cadre de la série de mises à niveau « Ethereum 2.0 ».
Cependant, le sharding combiné à un protocole de consensus proof-of-stake fournit la structure idéale pour la mise à l’échelle du réseau. Pour une meilleure compréhension, commençons par définir le sharding et son fonctionnement, en gardant à l’esprit la façon dont Ethereum entend l’utiliser pour résoudre son problème de scalabilité.
Qu’est-ce que le sharding ?
Le sharding en tant que technologie a été utilisé bien avant l’avènement de la technologie blockchain.
Le concept repose sur le partitionnement d’une base de données. Une grande base de données est divisée en bases de données plus petites et plus faciles à gérer. Quel que soit le critère utilisé pour ce faire, toutes les requêtes qui ne nécessitent l’accès qu’à une partie des données peuvent être exécutées plus rapidement, car il y a moins de données à analyser. De cette façon, le débit des transactions est optimisé et les ressources de stockage et de calcul sont réparties sur l’ensemble du réseau.
Le sharding en tant que technologie a été utilisé bien avant l’avènement de la technologie blockchain.
Dans le contexte de la blockchain, cela signifie que chaque node du réseau ne conserve que les informations relatives à sa chaîne de fragment. Bien que ces informations puissent toujours être partagées, tous les nodes ne stockent et ne traitent plus toutes les informations.
Qu’est-ce que le sharding dans le cadre d’Ethereum 2.0 ?
L’objectif du sharding est de construire la structure du réseau Ethereum comme une toile au lieu d’une seule chaîne, avec une blockchain spécifique, la chaîne phare, en son centre. Dans l’ensemble, elle fonctionnera de la même manière que la blockchain actuelle d’Ethereum, avec quelques modifications. Une multitude de mini-blockchains appelées « shards » ou chaînes de fragments seront ensuite coordonnées via la chaîne phare. Ces shards traiteront alors toutes les transactions par le biais de leurs validateurs, et non de la chaîne phare, qui fera office de foyer pour le protocole du réseau.