Partager cet article

Explosion de la blockchain : comment Ethereum résout les problèmes de stockage

Avec des solutions à long terme comme le sharding, les développeurs Ethereum rendent le logiciel plus efficace pour répondre aux besoins croissants de stockage.

24 270 jetons. 27 358 transactions en attente. 463 713chatons numériques.

Ethereum a connu beaucoup d'activité récemment, et bien que de nombreux passionnés de Crypto voient cela comme un signe positif, à mesure que l'utilisation du réseau monte en flèche, son histoire s'allonge et sa blockchain devient plus indisciplinée.

La Suite Ci-Dessous
Ne manquez pas une autre histoire.Abonnez vous à la newsletter Crypto Daybook Americas aujourd. Voir Toutes les Newsletters

Et même si la congestion du réseau, qui entraîne des retards de transaction et une augmentation des frais, a été mise en lumière, il existe un autre problème que cette échelle provoque : une base de données croissante qui impose des coûts de stockage importants aux utilisateurs souhaitant exécuter un nœud complet.

Cette base de données, appelée « état Ethereum » , contient tous les calculs devant être mémorisés par les ordinateurs supportant la plateforme et la blockchain Ethereum elle-même. Avec l'augmentation des coûts (en temps et en argent) liés au stockage de cet état, de moins en moins de personnes optent pour des nœuds complets, ce qui, de l'avis de beaucoup, centraliserait le réseau entre les mains de quelques arbitres seulement.

Et les développeurs reconnaissent le problème.

D’ une part, les développeurs Ethereum sont en bonne voie pour mettre en œuvre des changements au niveau du protocole, tels que le sharding, visant à minimiser la base de données.

Mais comme ces technologies sont encore en développement, d’autres acteurs, notamment ceux qui gèrent les clients Ethereum – les logiciels nécessaires aux utilisateurs pour communiquer avec la blockchain – ont été soumis à une nouvelle pression pour faire face à la croissance de la base de données de l’État.

« L'importance d'améliorer ce système est connue depuis fin 2016 ; les idées circulent depuis six mois, voire plus d'un an. Où en sont les implémentations ? », a récemment déclaré Vitalik Buterin, créateur Ethereum , sur un canal de développeurs.

La frustration est palpable chez Buterin et Afri Schoedon, responsable de la communication technique chez Parity, fournisseur de logiciels Ethereum . Schoedon a déclaré à CoinDesk:

« Au rythme de croissance actuel, il est prévisible que l'État va croître très rapidement cette année, à un point où il serait difficilement gérable sur de petits appareils. »

Afin de limiter les effets de cet état difficile à gérer, les deux clients Ethereum les plus populaires – Geth et Parity – ont récemment publié des mises à jour qui tentent d’améliorer la situation.

Turbocompressé

Le première mise à jour, publié la semaine dernière par Parity, a réduit les besoins de stockage en éliminant les fichiers temporaires inutiles produits lorsque le logiciel mémorise l'historique d'Ethereum.

En minimisant considérablement les besoins en stockage, les utilisateurs qui se connectent pour exécuter des nœuds complets bénéficient de temps de synchronisation plus rapides. De plus, l'entreprise a annoncé que son logiciel Ethereum pouvait désormais être exécuté sur un disque dur plutôt que sur un ordinateur. disque SSD (SSD), un exploit particulièrement remarquable puisque les longs délais de synchronisation ont rendu Ethereum incapable de fonctionner sur un disque dur depuis l'été dernier.

La mise à jour a même reçu une réponse enthousiaste de Buterin, qui a déclaré sur un canal de développeurs : « Wow. Comment avez-vous réussi cela ? »

Suite à la mise à jour, les utilisateursont signaléune expérience grandement améliorée.

Parallèlement, le développeur indépendant Alexey Akhunov travaille sur une réécriture du client geth, appelée « turbo geth ». Décrit par Akhunov comme un"obsession,"le projet vise à supprimer de nombreuses répétitions inutiles dans la manière dont les clients d'Ethereum traitent l'état global.

Bien qu'il soit loin NEAR prêt, il a ouvert des pistes intéressantes d'« optimisation spéculative », a déclaré Akhunov lors d'une récente discussion avec les développeurs.

Par exemple, Akhunov suggère de « coder en dur » certaines informations sur l'état Ethereum dans les clients eux-mêmes. L'objectif final est d'adapter le logiciel pour qu'il fonctionne simplement en mémoire vive (RAM), ce qui pourrait considérablement accélérer les clients et leur permettre potentiellement de se synchroniser instantanément avec le réseau.

Les développeurs de Geth travaillent également sur des optimisations, ONE pour corriger une anomalie dans le stockage des informations lorsqu'un client se synchronise avec le réseau en mode « rapide ». Décrit par Péter Szilágyi, développeur CORE de Geth, comme « vraiment horrible », le code existant sera probablement remplacé, accompagné de nombreuses mises à jour rendant la synchronisation beaucoup plus rapide et moins gourmande en stockage.

Les limites

Des recherches sont également en cours sur un type de client appelé « clients sans état », qui stockent uniquement une compression de l’état global.

Même Buterin s'est récemment intéressé à l'idéeentreprendre une étudecela décrit un scénario dans lequel « les mineurs et les nœuds complets en général n'ont plus besoin de stocker aucun état ». De plus, Buterin a déclaré plus tard dans un canal de développeurs, les clients sans état atténueraient également le besoin de nettoyer l'état par d'autres mesures, telles que l'élagage des données anciennes et non pertinentes, par exemple des comptes vides ou inactifs depuis longtemps.

« Je suis désormais en faveur de l’approche client sans état », a écrit Buterin.

Il existe même des spéculations selon lesquelles des clients sans état pourraient être possibles sans apporter de modifications au niveau du protocole.

En présentant ces clients comme une solution possible aux obstacles à la mise à l'échelle auxquels Ethereum est confronté après le succès de CryptoKitties, Akhunov a écrit dans un récent article article de blog: « Je crois que (les clients sans état) peuvent être implémentés dès maintenant, sans aucun hard fork, « simplement » en changeant les clients Ethereum ... Cela signifie que les nœuds n'ont pas besoin d'accéder au stockage à partir de fichiers et que les temps de validation des blocs devraient diminuer considérablement. »

Cependant, les optimisations client T être la seule chose sur laquelle le réseau s’appuie pour réduire les problèmes d’état.

Selon Szilágyi

À terme, les optimisations client atteindront leurs limites. Les développeurs devront alors se tourner vers des technologies en développement, comme le sharding, qui divise la base de données Ethereum en fragments plus petits stockés sur différents nœuds, afin d'alléger la pression liée au stockage de la base de données complète sur chaque client.

Peut-être en réponse aux récentes tensions sur le réseau, le développement du sharding a progressé ces derniers mois, avec une spécification préliminaire esquissée surGithub.

« Nous pouvons optimiser la base de données et la rendre dix fois plus rapide et plus optimale, ce qui nous donne la possibilité de croître jusqu'à dix fois notre taille actuelle », a déclaré Szilágyi, ajoutant :

« Mais finalement, nous arriverons au point où nous T pourrons plus optimiser les bases de données, et à ce moment-là, nous devrons être capables de fragmenter nos données. »

Disque durimage via Shutterstock

Rachel-Rose O'Leary

Rachel-Rose O'Leary est codeuse et rédactrice chez Dark Renaissance Technologies. Elle a été rédactrice technique principale pour CoinDesk de 2017 à 2018, couvrant les technologies de Politique de confidentialité et Ethereum. Elle a une formation en art numérique et en philosophie et écrit sur les Crypto depuis 2015.

Rachel-Rose O'Leary