Qu’est-ce que la fragmentation et comment fonctionne-t-elle ?
Accueil
Articles
Qu’est-ce que la fragmentation et comment fonctionne-t-elle ?

Qu’est-ce que la fragmentation et comment fonctionne-t-elle ?

Intermédiaire
Publié le Dec 4, 2023Mis à jour le Jan 11, 2024
9m

Résumé

  • La fragmentation (sharding) divise une blockchain en « fragments » plus petits pour rĂ©soudre le problĂšme d’évolutivitĂ© associĂ© aux rĂ©seaux de couche 1.

  • La fragmentation amĂ©liore la vitesse des transactions, minimise les coĂ»ts de traitement et de stockage et amĂ©liore les performances du rĂ©seau.

  • La fragmentation prĂ©sente ses inconvĂ©nients potentiels, tels que les problĂšmes de sĂ©curitĂ© rĂ©seau et la complexitĂ© des transactions entre fragments.

Introduction

La technologie Blockchain a introduit un potentiel sans prĂ©cĂ©dent en matiĂšre de dĂ©centralisation, de transparence et de sĂ©curitĂ©. Mais elle est confrontĂ©e Ă  un dĂ©fi de taille : l’évolutivitĂ©. L’évolutivitĂ© est l’un des points du « trilemme de la blockchain », qui inclut Ă©galement la sĂ©curitĂ© et la dĂ©centralisation. Atteindre les trois simultanĂ©ment est un problĂšme persistant dans le domaine de la blockchain. C’est lĂ  que des solutions stratĂ©giques comme la « fragmentation » entrent en jeu.

Qu’est-ce que la fragmentation ?

La fragmentation est un concept empruntĂ© Ă  la gestion traditionnelle des bases de donnĂ©es. Il s’agit du processus de division d’une base de donnĂ©es plus volumineuse en parties plus petites et plus faciles Ă  gĂ©rer, appelĂ©es fragments. Son application dans la blockchain vise Ă  amĂ©liorer l’évolutivitĂ©, tout en conservant le principe de dĂ©centralisation. En substance, la fragmentation se produit lorsqu’un rĂ©seau blockchain est divisĂ© en parties plus petites appelĂ©es fragments, chacune capable de traiter en parallĂšle les transactions et les smart contracts.

Comment fonctionne la fragmentation ?

Comprendre comment la fragmentation est exĂ©cutĂ© au sein d’un rĂ©seau blockchain nĂ©cessite de comprendre comment les donnĂ©es blockchain sont gĂ©nĂ©ralement stockĂ©es et traitĂ©es. Il existe diffĂ©rentes maniĂšres de traiter les donnĂ©es. Nous allons commencer par nous pencher sur le traitement sĂ©quentiel et le traitement parallĂšle.

En rĂšgle gĂ©nĂ©rale, chaque nƓud blockchain est responsable de la gestion de tout le volume de transactions au sein du rĂ©seau. Ce type de traitement des donnĂ©es est communĂ©ment appelĂ© traitement sĂ©quentiel. Cela implique que chaque nƓud doit conserver et stocker toutes les informations critiques, telles que les soldes des comptes et l’historique des transactions. En substance, chaque nƓud doit traiter toutes les opĂ©rations, donnĂ©es et transactions du rĂ©seau.

Bien qu’un tel modĂšle renforce la sĂ©curitĂ© de la blockchain en enregistrant chaque transaction sur tous les nƓuds, il ralentit considĂ©rablement le traitement des donnĂ©es. C’est lĂ  que le traitement parallĂšle des donnĂ©es entre en jeu, car il permet d’exĂ©cuter simultanĂ©ment plusieurs opĂ©rations.

La fragmentation peut ĂȘtre une solution efficace Ă  cette situation difficile, car elle divise ou « fragmente » la charge de travail transactionnelle sur le rĂ©seau blockchain. Cela signifie que tous les nƓuds n’ont pas besoin de gĂ©rer ou de traiter l’intĂ©gralitĂ© de la charge de la blockchain.

Au lieu de cela, la fragmentation sépare la charge de travail via le partitionnement horizontal. Dans ce processus, les données sont divisées en sous-ensembles horizontaux, chaque fragment agissant comme une base de données indépendante capable de traiter les transactions séparément des autres. 

Partitionnement horizontal vs. vertical

Le partitionnement horizontal et vertical sont deux approches clĂ©s de l’évolutivitĂ© des bases de donnĂ©es. Bien que les deux soient conçus pour gĂ©rer plus efficacement de grands ensembles de donnĂ©es, ils fonctionnent de maniĂšre fondamentalement diffĂ©rente. La fragmentation est une mĂ©thode courante de mise en place du partitionnement horizontal.

Dans le partitionnement horizontal, les donnĂ©es sont divisĂ©es en lignes et rĂ©parties sur diffĂ©rents nƓuds (ou bases de donnĂ©es), chacun contenant un sous-ensemble des donnĂ©es. Chaque ligne d’un tableau est une entitĂ© unique, de sorte que leur sĂ©paration n’entraĂźne aucune perte d’intĂ©gritĂ© des donnĂ©es. Un exemple frappant de partitionnement horizontal utilisĂ© est la distribution des rĂ©seaux blockchain, tels qu’Ethereum et que Bitcoin.

Dans le partitionnement vertical, les donnĂ©es sont divisĂ©es en colonnes plutĂŽt qu’en lignes. Chaque partition du partitionnement vertical contient un sous-ensemble de donnĂ©es pour chaque entitĂ© ou l’ensemble du jeu de donnĂ©es, mais uniquement pour un certain ensemble d’attributs. Imaginez un tableau client avec des colonnes telles que Nom, État, Description et Photo. Dans un scĂ©nario de partitionnement vertical, le « Nom » et l’« État » peuvent ĂȘtre conservĂ©s dans un tableau, et « Description » et « Photo » dans un autre.

Pourquoi le partitionnement horizontal est-il privilégié ?

Le partitionnement horizontal est gĂ©nĂ©ralement privilĂ©giĂ© par rapport au partitionnement vertical dans les rĂ©seaux blockchain pour trois raisons : l’évolutivitĂ©, la dĂ©centralisation et la sĂ©curitĂ©.

Évolutivité : le partitionnement fournit une solution en divisant les donnĂ©es en « fragments » plus petits et plus faciles Ă  gĂ©rer. Chaque fragment peut fonctionner indĂ©pendamment, ce qui permet de traiter simultanĂ©ment un plus grand nombre de transactions, amĂ©liorant ainsi la vitesse et l’efficacitĂ© du rĂ©seau. Alors qu’avec le partitionnement vertical, la distribution des colonnes entre diffĂ©rentes bases de donnĂ©es peut nĂ©cessiter plus de complexitĂ© dans la rĂ©cupĂ©ration d’une transaction complĂšte ou des informations de bloc et peut limiter l’évolutivitĂ©.

DĂ©centralisation : conformĂ©ment Ă  la philosophie fondamentale de la blockchain, le partitionnement horizontal prend en charge la dĂ©centralisation. Puisque les nƓuds n’ont Ă  traiter qu’une partie du total des donnĂ©es (un fragment), cela permet Ă  un plus grand nombre de nƓuds de participer au rĂ©seau, car les charges de calcul et de stockage sont rĂ©duites. Le partitionnement vertical, en comparaison, limiterait cela car chaque nƓud aurait besoin d’accĂ©der Ă  toutes les partitions (toutes les colonnes de donnĂ©es) pour comprendre et vĂ©rifier les donnĂ©es de bloc complĂštes.

SĂ©curitĂ© et intĂ©gritĂ© des donnĂ©es : le partitionnement horizontal maintient l’intĂ©gritĂ© des donnĂ©es, car chaque fragment (ou partition) contient des donnĂ©es de transaction complĂštes, garantissant ainsi que chaque nƓud dispose d’une copie complĂšte et prĂ©cise de sa partie de la blockchain. Dans le partitionnement vertical, vous diviseriez essentiellement les donnĂ©es d’un bloc sur diffĂ©rents nƓuds, ce qui rendrait difficile la garantie de l’intĂ©gritĂ© et de la sĂ©curitĂ© des donnĂ©es, un aspect primordial des rĂ©seaux blockchain.

Quels sont les avantages de la fragmentation ?

Examinons les avantages potentiels que la fragmentation apporte à la technologie blockchain :

Augmentation de la vitesse de transaction : la fragmentation facilite le traitement parallĂšle des transactions. Au lieu de traiter les transactions une par une de maniĂšre sĂ©quentielle, la fragmentation permet de traiter les transactions simultanĂ©ment mais sur des fragments diffĂ©rents. Chaque fragment fonctionne indĂ©pendamment, ce qui augmente considĂ©rablement la vitesse de transaction. Cela accĂ©lĂšre non seulement la vitesse de transaction, mais signifie Ă©galement que l’ensemble du rĂ©seau peut gĂ©rer plus d’utilisateurs, favorisant ainsi une adoption massive.

Ziliqa est un exemple de rĂ©seau blockchain existant utilisant des fragments pour assurer l’évolutivitĂ©. Le mĂ©canisme de fragmentation de Ziliqa lui permet d’effectuer des milliers de transactions par seconde.

CoĂ»ts de traitement et de stockage minimisĂ©s : la conception conventionnelle de la blockchain oblige chaque nƓud Ă  stocker toutes les transactions, intensifiant ainsi les demandes de matĂ©riel Ă  mesure que la blockchain se dĂ©veloppe. Mais avec la fragmentation, chaque nƓud n’est responsable du traitement et du stockage que d’une fraction des donnĂ©es de l’ensemble du rĂ©seau, ce qui rĂ©duit les ressources nĂ©cessaires pour qu’un nƓud puisse participer au rĂ©seau.

Ainsi, un plus grand nombre de participants peuvent rejoindre en tant que validateurs, ce qui amĂ©liore la dĂ©centralisation du rĂ©seau sans encourir de coĂ»ts prohibitifs. Cela attĂ©nue les problĂšmes oĂč seules les entitĂ©s disposant de ressources informatiques de pointe et coĂ»teuses pourraient participer de maniĂšre rĂ©aliste au processus, maintenant ainsi la nature dĂ©mocratisĂ©e des rĂ©seaux blockchain.

AmĂ©lioration des performances du rĂ©seau : la fragmentation peut contribuer Ă  amĂ©liorer les performances et la capacitĂ© gĂ©nĂ©rales du rĂ©seau. Dans les blockchains traditionnelles, Ă  mesure que de plus en plus de nƓuds participent au rĂ©seau, les performances diminuent paradoxalement en raison de la nĂ©cessitĂ© d’augmenter la communication et la synchronisation des donnĂ©es entre les nƓuds.

Toutefois, la fragmentation change ce scĂ©nario. Étant donnĂ© que chaque fragment fonctionne sĂ©parĂ©ment et simultanĂ©ment, le systĂšme peut traiter davantage de transactions et de calculs. Lorsqu’un nouveau nƓud rejoint le rĂ©seau, il peut ĂȘtre ajoutĂ© Ă  une partition, amĂ©liorant ainsi l’évolutivitĂ© du rĂ©seau. L’efficacitĂ© est amĂ©liorĂ©e, ce qui se traduit par des transactions plus fluides et une meilleure expĂ©rience utilisateur.

N’oubliez pas que les avancĂ©es et les amĂ©liorations futures de la technologie de la fragmentation peuvent crĂ©er d’autres avantages, ou renforcer ceux existants, en amĂ©liorant continuellement l’écosystĂšme blockchain.

Quelles sont les limites de la fragmentation ?

Bien que la fragmentation offre plusieurs avantages qui pourraient aider les réseaux blockchain à devenir plus efficaces, le processus présente également un ensemble unique de défis. Voici quelques-unes des vulnérabilités potentielles introduites par la fragmentation : 

Attaques de prise de contrĂŽle d’un seul fragment: dans un environnement de fragmentation, la puissance de calcul nĂ©cessaire pour prendre le contrĂŽle d’un fragment est considĂ©rablement infĂ©rieure Ă  la puissance requise pour prendre le contrĂŽle de l’ensemble du rĂ©seau. Cela rend ces fragments individuels plus vulnĂ©rables Ă  une « attaque Ă  un pour cent » ou Ă  une « prise de contrĂŽle de fragment », par laquelle un attaquant disposant d’une petite quantitĂ© de ressources par rapport Ă  l’ensemble du rĂ©seau peut potentiellement prendre le contrĂŽle d’un fragment individuel.

Transactions entre fragments : les transactions effectuĂ©es sur diffĂ©rents fragments (cross-fragment en anglais) prĂ©sentent un dĂ©fi unique. Les transactions entre fragments sont complexes et peuvent entraĂźner des doubles dĂ©penses si elles ne sont pas gĂ©rĂ©es avec soin. Si un fragment ne suit pas avec prĂ©cision l’état de l’autre fragment au cours d’une transaction, les utilisateurs peuvent l’exploiter pour effectuer une double dĂ©pense.

ProblĂšmes de disponibilitĂ© des donnĂ©es : la fragmentation rend complexe le maintien de l’état complet du rĂ©seau. Si certains fragments ne sont pas disponibles en cas de besoin (parce que les nƓuds qui les conservent sont hors ligne), cela peut entraĂźner des problĂšmes de disponibilitĂ© des donnĂ©es et perturber l’ensemble du rĂ©seau.

SĂ©curitĂ© du rĂ©seau : la fragmentation nĂ©cessite la mise en Ɠuvre d’un protocole robuste qui Ă©quilibre la charge entre les fragments. Si cela n’est pas fait correctement, cela pourrait entraĂźner une rĂ©partition inĂ©gale des donnĂ©es ou un dĂ©sĂ©quilibre des ressources, entraĂźnant une instabilitĂ© potentielle du rĂ©seau.

Synchronisation des nƓuds : la synchronisation des nƓuds peut entraĂźner des retards rĂ©seau en raison du temps nĂ©cessaire au partage et Ă  la mise Ă  jour des informations entre diffĂ©rents nƓuds. De plus, si un nƓud avec des capacitĂ©s de traitement plus lentes ou une connexion rĂ©seau est Ă  la traĂźne, cela pourrait ralentir l’ensemble du processus de synchronisation, rĂ©duisant ainsi l’ensemble des performances du rĂ©seau blockchain.

La fragmentation est-elle mise en oeuvre sur Ethereum ?

Ethereum prĂ©voit de mettre en Ɠuvre la fragmentation dans le cadre de sa mise Ă  niveau Ethereum 2.0. Ethereum 2.0, Ă©galement connu sous le nom d’Eth2 ou Serenity, est une mise Ă  niveau de la blockchain Ethereum qui vise Ă  amĂ©liorer la vitesse, l’efficacitĂ© et l’évolutivitĂ© du rĂ©seau, lui permettant de traiter plus de transactions et de rĂ©duire la congestion.

À l’heure actuelle, la mise Ă  niveau est mise en Ɠuvre par phases, la derniĂšre phase (phase 2) comprenant la mise en oeuvre complĂšte de la fragmentation. Les dĂ©veloppeurs d’Ethereum espĂšrent que ces amĂ©liorations rĂ©soudront certains des dĂ©fis actuels associĂ©s Ă  l’évolutivitĂ© et aux coĂ»ts de transaction auxquels le rĂ©seau est confrontĂ©.

Toutefois, il est important de remarquer que la mise en Ɠuvre de la fragmentation prĂ©sente ses propres dĂ©fis, en particulier pour maintenir la sĂ©curitĂ© et la dĂ©centralisation du rĂ©seau. Par consĂ©quent, les dĂ©veloppeurs d’Ethereum rĂ©flĂ©chissent soigneusement et effectuent des tests approfondis lors de cette transition afin de garantir le succĂšs de la mise Ă  niveau une fois pleinement mise en Ɠuvre.

Conclusion

Dans l’ensemble, la fragmentation reprĂ©sente une avancĂ©e notable vers la rĂ©solution du trilemme de la blockchain. Bien qu’elle introduise de nouvelles complexitĂ©s et des inconvĂ©nients possibles, son potentiel d’augmentation de l’évolutivitĂ© sans compromettre la dĂ©centralisation est extrĂȘmement prometteur pour l’avenir des rĂ©seaux blockchain.

Il n’est pas Ă©tonnant que diverses blockchains l’explorent comme solution potentielle. Ethereum intĂšgre la fragmentation dans le cadre de la mise Ă  niveau Ethereum 2.0 pour rĂ©soudre les problĂšmes d’évolutivitĂ©. Cette mise en Ɠuvre devrait avoir lieu dans le cadre de la mise Ă  niveau Cancun, un Ă©lĂ©ment essentiel du plan gĂ©nĂ©ral d’amĂ©lioration. NĂ©anmoins, comme toute autre technologie en Ă©volution, le succĂšs dĂ©pendra de la recherche et du dĂ©veloppement continus et des tests rigoureux des implĂ©mentations de la fragmentation.

Pour plus d’informations

Avis de non-responsabilitĂ© et avertissement concernant les risques : ce contenu vous est prĂ©sentĂ© « tel quel » Ă  des fins d’information gĂ©nĂ©rale et pĂ©dagogiques uniquement, sans reprĂ©sentation ni garantie d’aucune sorte. Il ne doit pas ĂȘtre interprĂ©tĂ© comme un conseil financier, juridique ou venant d’un professionnel, ni comme un moyen de recommander l’achat d’un produit ou d’un service spĂ©cifique. Vous devriez vous renseigner auprĂšs des professionnels appropriĂ©s avant toute dĂ©cision. Lorsque l’article Ă  Ă©tĂ© rĂ©digĂ© par un contributeur tiers, veuillez remarquer que les opinions de l’article ne reflĂštent pas nĂ©cessairement celles de Binance Academy. Veuillez lire l’intĂ©gralitĂ© de notre avis de non-responsabilitĂ© ici pour en savoir plus. Les cours des actifs numĂ©riques peuvent ĂȘtre volatils. La valeur de votre investissement peut varier Ă  la baisse ou Ă  la hausse, et vous ne rĂ©cupĂ©rerez peut-ĂȘtre pas le montant que vous avez investi. Vous ĂȘtes seul(e) responsable de vos dĂ©cisions d’investissement et Binance Academy n’est pas responsable des pertes que vous pourriez subir. Ce contenu ne doit pas ĂȘtre interprĂ©tĂ© comme un conseil financier, juridique, ou venant d’un professionnel. Pour en savoir plus, veuillez vous reporter Ă  nos Conditions d’utilisation et Ă  l’avertissement concernant les risques.