Devcon3 : le « sharding » pour résoudre les problèmes de scalabilité d’Ethereum

Durant la Devcon3, Vitalik Buterin, le créateur d’Ethereum est revenu sur la problématique majeure à laquelle est confronté Ethereum aujourd’hui, celle de la scalabilité. Au menu ? Le « Sharding ». Cette implémentation dans Ethereum pourrait résoudre les problèmes de scalabilité, mais aurait pour conséquence d’entrainer des problèmes de gouvernance.

Le problème de la scalabilité d’Ethereum

Un des grands problèmes des projets cryptographiques actuels est la scalabilité. Lorsque l’on parle de scalabilité dans le jargon des cryptomonnaies, on parle de la capacité de ces réseaux à être utilisable par une quantité croissante d’utilisateurs.

« La scalabilité est sûrement le problème numéro un[…] Il y a un cimetière de systèmes qui prétendent résoudre le problème de la scalabilité mais qui ne le font pas. C’est un défi très important et très difficile à relever. » Vitalik Buterin

Les nœuds Ethereum vérifient toutes les données transitant sur le réseau. Les données, une fois vérifiées, sont stockées sur la Blockchain d’Ethereum. Ce qui fait que ça marche, c’est que les données nécessitant une vérification sont susceptibles d’être validées par n’importe quel nœud, n’importe quel mineur. Gare à vous si vous envoyez des données falsifiées ! Mais Ethereum est confronté à un afflux massif de données à traiter, entrainant des problèmes de scalabilités. Une des solutions proposées est de « discriminer » ces données.

Bitcoin a déjà été confronté à cette problématique de scalabilité et tente de la résoudre avec « SegWit ». Segregated Witness vise à réaménager le contenu des blocs pour y faire entrer plus de données de transactions. Mais Ethereum est confronté à une problématique plus complexe. Les données de transactions de Bitcoin sont plutôt simples, il s’agit de smart contracts très basiques, loin de la complexité des smarts contracts turing complete d’Ethereum, qui permettent carrément de faire fonctionner des applications décentralisées. Ethereum ne peut donc pas se contenter de réaménager les blocs. Le réaménagement, la répartition, la « discrimination » doivent être réalisés à l’échelle du réseau tout entier. C’est pour ça que selon nous, le sharding est en quelque sorte le SegWit d’Ethereum.

Le Sharding, le SegWit d’Ethereum

Buterin pense que le sharding est la solution « probable » à ce problème de scalabilité. Le « Sharding » – éclatement, partitionnement, morcellement, fragmentation – peut-être comparé dans une certaine mesure à Segwit pour Ethereum. Au problème de scalabilité, Bitcoin répond par une optimisation de la répartition des données de transaction au sein même des blocs. Ethereum, avec le sharding répond par une optimisation de la répartition à l’échelle du réseau. Il s’agirait d’orienter les transactions à certains ensembles déterminés du réseau. On retrouve un commentaire de Vitalik à ce sujet sur le blog d’Ethereum France :

« L’idée derrière le sharding est qu’à la place d’avoir chaque nœud du réseau qui vérifie toutes les transactions, on réunit ces transactions en groupes et on attribue ces groupes aléatoirement à des sous-groupes de nœuds, qui sont chargés de les vérifier. »

Vous pouvez retrouver un autre article plus complet – une traduction d’un article de Vitalik Buterin himeself – sur Ethereum-France intitulé « Qu’est-ce que la fragmentation ou sharding ? ».

Le sharding entrainera des problèmes de gouvernance d’Ethereum

Voilà une nouvelle notion à appréhender, celle de la gouvernance. J’espère que vous arrivez à suivre jusqu’ici !

Pour comprendre la problématique de la gouvernance, il faut revenir à la base. Quand on parle du réseau d’Ethereum, on englobe la blockchain, et ses acteurs, les mineurs, qui permettent à cette même blockchain d’être vérifiée. Cette même blockchain, pour rester intègre, conforme, infalsifiable, doit être vérifiée par tous les mineurs. Cela implique que si vous possédez un « nœud complet », vous avez sur votre ordinateur, un fichier « blockchain » qui contient toutes les données de tout le réseau, depuis sa naissance. On pourrait ainsi penser que cette « vérification totale et intégrale » est une condition sine qua none du bon fonctionnement d’un réseau, d’une blockchain. La proposition de Vitalik Buterin avec le « sharding » tendrait à montrer que non, qu’il pourrait y avoir une sorte de vérification « partielle ».

Le sharding propose de réaménager la diffusion des données de transactions à l’échelle du réseau. Cela pose un problème, qui est de savoir qui vérifie quoi. En effet, cette répartition aurait une conséquence problématique : tous les mineurs ne pourraient pas vérifier tout le réseau. Comment alors être certain qu’un groupe de mineur chargé de vérifier un sous-ensemble du réseau fasse bien son travail, c’est-à-dire qu’il n’envoie pas des données erronées, ou pire, falsifiées ?

C’est ça le problème de gouvernance qu’entraine le sharding.

Les commentaires de Vitalik Buterin sur le Sharding à la Devcon3

Vitalik  Buterin a « précisé » sont point de vue sur ce nouvel aménagement du réseau. Ethereum serait divisé en plusieurs parties. Il y aurait la partie principale, qui constituerait le réseau Ethereum tel qu’on le connait aujourd’hui. Il y aurait alors d’autres parties, que Buterin appelle des « univers ».

Pour Buterin, la clé de cet aménagement du réseau serait que la Blockchain principale d’Ethereum conserverait les caractéristiques qu’une blockchain massivement vérifiée peut avoir – sécurité, robustesse, fiabilité, intégrité. Elle serait complétée d’autres « univers » – comprendre sous-réseaux, univers parallèles, « sidechain » – qui seraient plus malléables, plus faciles à modifier, bref, ce serait la partie du réseau qui permettrait d’améliorer grandement la scalabilité. Ce serait le nouveau paradis des développeurs qui pourraient expérimenter plus de choses.

« D’autres univers, où tout ce sur quoi nous avons travaillé ces dernières années, pourrait être déployé beaucoup plus rapidement. » Vitalik Buterin

Le sharding pourrait être le plus grand changement apporté à Ethereum des trois à quatre prochaines années. La programmation du concept semble bien se dérouler et Vitalik Buterin a laissé entendre que le travail pourrait être plus avancé que l’on ne le pensait.

« On est à quelques centimètres d’une proof of concept en python. » Vitalik Buterin

Source : Coindesk

Lucas E.

Cofondateur & ex-Directeur de publication du média que vous lisez en ce moment même, je refais surface de temps en temps, pour écrire des billets d'analyse financière sur le marché des cryptomonnaies.