Comment fonctionne le modèle de sharding d’Alephium (ALPH) ?

sharding alephium alph

La programmabilité limitée de Bitcoin ou encore les soucis de scalabilité d'Ethereum freinent considérablement l’adoption des crypto monnaies. C’est dans ce contexte qu’intervient Alephium, un layer 1 parallélisé, en introduisant un modèle de sharding fraichement développé : Blockflow.

Vous découvrirez dans cet article comment cet algorithme permet le maintien d’un haut niveau de sécurité et de décentralisation tout en augmentant la capacité à traiter un grand nombre de transactions simultanément.

Cet article vous est proposé en collaboration avec Alephium (en savoir plus)

Qu’est-ce que la blockchain Alephium ?

Alephium se présente comme une blockchain de couche 1 (layer 1) qui se dit “parallélisée” grâce à son mécanisme de sharding unique, nommé Blockflow. Concrètement, l’objectif d'Alephium est de combiner la sécurité et la décentralisation du Bitcoin avec l'expressivité et la flexibilité d’Ethereum, tout en proposant une solution aux problématiques de scalabilité auxquelles sont confrontées ces deux leaders de l’écosystème.

Aujourd’hui, Blockflow, qui est la technologie fondamentale sur laquelle Alephium s'appuie, est un algorithme qui permet de diviser la charge de travail de la blockchain en plusieurs segments, ou “shards“. Cette division permet non seulement d'augmenter le nombre de transactions que le réseau peut traiter par seconde, mais elle le fait d'une manière qui conserve une forte synchronisation (et sécurité) entre chacune des données. Mais nous en reparlons en détail plus bas dans l’article.

Ce qui rend Alephium encore plus spécial, c'est son modèle de transaction Stateful UTXO (sUTXO), une fusion intelligente entre le modèle UTXO, utilisé par Bitcoin et le modèle de compte, utilisé par Ethereum. Toutefois, nous n’entrerons pas dans les détails de ce mécanisme dans le cadre de cet article. Pour en apprendre davantage sur le fonctionnement global d’Alephium 👉 cliquez sur ce lien

Qu’est-ce que le sharding :

Avant d’entrer dans le vif du sujet, il est important que vous compreniez le principe même du sharding ou “partitionnement” au sein d’une blockchain.

Le sharding est un mécanisme de partitionnement qui vise à décomposer la base de données d'une blockchain en fragments ou “shards” permettant un traitement simultané de multiples séries de transactions à travers le réseau.

alephium sharding blockchain crypto

Dans une blockchain traditionnelle non shardée, chaque nœud du réseau doit traiter chaque transaction et maintenir une copie complète de l'ensemble de la chaîne, ce qui peut rapidement devenir un goulet d’étranglement à mesure que le volume des transactions augmente. Vous l’aurez compris, le sharding aborde ce problème en divisant la charge de travail.

Toutefois, au sein des modèles de sharding traditionnels, on peut retrouver certaines problématiques :

  • Vulnérabilité des shards individuels : en divisant le réseau en plusieurs segments plus petits, chaque shard, fonctionnant avec une portion réduite du consensus général, peut devenir une cible plus facile pour les attaquants.
  • Problèmes de communication entre shard: la nécessité d'échanger des informations entre les shards de manière sécurisée et efficace peut introduire d’importants défis techniques.

Découvrez comment Alephium résout ces différentes problématiques :

Comment fonctionne le modèle de Sharding d’Alephium ?

Abordons maintenant le cœur technologique d'Alephium : le modèle Blockflow. C'est ce mécanisme qui distingue Alephium des autres blockchains et lui permet de réaliser son potentiel en tant que système scalable, sécurisé et efficient.

Partitionnement de l’état du réseau :

À la différence des autres solutions de sharding, Blockflow, de son côté, adopte une approche unique en organisant le réseau en 4 groupes et les transactions dans 16 chaines. Blockflow permet à chaque chaine de travailler indépendamment tout en maintenant une cohérence globale et en assurant la sécurité et l’efficacité des transactions à travers l'ensemble du réseau :

Chacune de ces “chaines” est en réalité à une blockchain indépendante qui séquence les transactions et, par conséquent, maintient un registre de l'état complet des  transactions et données, incluant les actifs, les états des contrats intelligents, ainsi que leur logique opérationnelle.

Ce schéma devrait vous éclairer :

alephium sharding groupe chaine

Au final, cela signifie qu'Alephium peut augmenter son débit total de transactions sans compromettre la sécurité ou l'intégrité des données. C'est une avancée majeure par rapport aux architectures blockchain traditionnelles, où l'augmentation du débit peut souvent mettre en péril ces aspects.

Pour vous donner une idée : actuellement, le réseau principal (mainnet) se compose de 4 groupes et de 16 blockchains, avec la possibilité de s'étendre à 32 groupes et jusqu'à 1024 blockchains. L'ajout de shards supplémentaires augmente la capacité du réseau à exécuter des transactions en simultané. À l'heure actuelle, le réseau peut gérer 400 transactions par seconde, avec un potentiel théorique de plus de 10000 transactions par seconde (le tout basé sur des hypothèses très conservatrices, ce sera en réalité probablement plus que cela).

Revenons désormais sur les éléments techniques du modèle Blockflow d’Alephium :

Sharding au niveau des adresses et des transactions

Le sharding, comme nous le savons, divise la blockchain en plusieurs segments, ou “shards”. Alephium pousse cette idée encore plus loin en appliquant le concept de sharding à deux niveaux : celui au niveau des adresses et celui au niveau des transactions.

Sharding au niveau des adresses : chaque adresse dans Alephium est attribuée à 4 groupes spécifiques.

Sharding au niveau des transactions : chaque transaction est intelligemment routée à travers le réseau en fonction de l'adresse d'origine et celle de destination. Étant donné que cette approche parallélise le traitement des transactions, cette dernière augmente ainsi le débit global du réseau sans compromettre la sécurité ou la décentralisation, tout en conservant dans tous les cas de figure une transaction “single-step” (en une seule étape).

Les dépendances : un moyen de synchroniser le réseau Alephium

Au sein d’Alephium, chaque transaction ou bloc ne se trouve pas isolé, mais est plutôt intégré dans un réseau de dépendances qui garantit l'ordre correct et la validation des transactions sur l'ensemble du réseau shardé. Cela signifie que chaque élément ajouté à la blockchain doit respecter certaines règles de dépendance qui définissent comment il se connecte aux éléments précédents et futurs au sein du réseau.

Concrètement, lorsqu'un nouveau bloc est créé sur une chaîne, il est connecté aux autres chaînes au sein du même groupe et à une chaîne spécifique de chaque autre groupe (la chaîne intragroupe) par ce qu'on appelle des “dépendances“. Chaque shard peut traiter des transactions parallèlement aux autres, mais grâce au système de dépendances, toutes les transactions restent synchronisées correctement à travers le réseau entier.

On peut ainsi définir les dépendances comme étant les “liens” qui synchronisent le réseau Alephium.

Revenons désormais plus en profondeur sur le fonctionnement des chaines et des groupes, ou plus précisément sur les chaînes Intergroupe et Intragroupe

Fonctionnement des chaines et des groupes sur Alephium :

Certaines chaînes sont destinées à gérer les transactions au sein d’adresses du même groupe (intragroupe), tandis que d'autres s'occupent des transactions allant vers les adresses d'autres groupes (intergroupe). Par exemple, une chaîne (0,1) traite les transactions entre le groupe 0 et le groupe 1, et une chaîne (0,0) s'occupe des transactions au sein du groupe 0 lui-même.

Si on prend l'exemple du groupe 0, il comprend plusieurs chaînes comme (0,0), (0,1), (0,2), et (0,3). La chaîne (0,0) traite les transactions au sein du groupe 0, tandis que les autres chaînes, comme (0,1), traitent les transactions vers d'autres groupes spécifiques.

Exemple de dépendances dans un Bloc miné : Si on considère un bloc miné sur la chaîne (1,0), il aura des dépendances non seulement avec les autres chaînes de son groupe comme (1,1), (1,2), (1,3), mais aussi avec une chaîne de chaque autre groupe, assurant une cohésion et une intégrité à travers toute la blockchain.

alephium dependance sharding

Notez que les dépendances sont gérées à travers un DAG, où chaque nouveau bloc ou transaction ajouté à un shard spécifique doit “connaître” l'état des autres shards qui lui sont pertinents pour éviter, notamment, la double dépense (“double-spend”).

Pour rappel, les graphes acycliques dirigés, ou DAG pour “Directed Acyclic Graph“, représentent une structure de données qui permet aux dépendances entre les blocs dans Alephium de se connecter de manière non linéaire.

Cette illustration devrait vous permettre d’y voir plus clair :

alephium sharding dag

Grâce à cette approche, Alephium peut garantir que les actifs sont toujours correctement dépensés et que les doubles dépenses (double spend) sont évitées.

Touche finale :

En introduisant le concept de sharding au sein de sa blockchain, Alephium répond non seulement aux défis de scalabilité, mais pose également les bases d’un écosystème blockchain plus dynamique et adaptable, que ce soit pour les développeurs et pour le grand public.

Vous pouvez explorer Alephium plus avant sur notre article détaillé, leur site et profil twitter.

Suivre Alephium sur les réseaux sociaux :

🌐 Site officiel

🔗 Documentation officielle

🔗 Medium

🐦 Twitter

👾 Discord