QU’EST CE QUE ZILLIQA ?
Zilliqa est une blockchain publique qui permet le sharding mais également d’avoir une mise à l’échelle linéaire lorsque la blockchain augmente de taille. Ce qui était effectivement un problème de taille pour cette technologie émergente.
Le ZIL
Zilliqa ressemble beaucoup à des plateformes de dApps telles que Ethereum ou NEO. Le jeton ZIL sert surtout d’incitation minière de gaz. Surtout dans le but de permettre l’exécution du contrat. Il sert également d’appel d’offres afin de pouvoir payer les frais de transactions. Il faut savoir que le ZIL est un jeton ERC-20.
L’équipe de Zilliqa
L’équipe qui est derrière Zilliqa est surtout constituée d’universitaires et de grands diplômés en informatique. Ainsi le PDG Xinshu Dong a par exemple un doctorat en informatique qu’il a eu à l’Université de Singapour.
Le projet compte certains noms du domaine de la blockchain qui sont célèbres, tels que : Vincent Zhou qui est associé fondateur de FBG Capital, Nicolai Oster qui est lui aussi associé chez Bitcoin Suisse AG, Loi Luu, qui est cette fois ci le cofondateur de Kyber Network, mais aussi Alexander Lipton qui est le fondateur de StrongHold Labs.
Les problème d’évolutivité
La Blockchain a un très gros problème d’évolutivité qui est que lorsqu’il y a beaucoup de nœuds sur un réseau, il est difficile d’arriver à un consensus. C’est à dire que plus le réseau est grand, la vitesse/qualité du consensus ainsi que la taille du réseau sont inversement liées. Ce qui veut dire ici que lorsque l’un monte, l’autre chute.
Pour résoudre ce problème certains ont alors choisi de se concentrer sur le déplacement d’informations hors chaîne ou ils cherchent aussi à augmenter la taille du bloc. Cela en établissant un consensus qui intervient sur plus de transactions pour chaque tour de consensus.
Ces différentes solutions peuvent marcher, mais elles ne résolvent pas le problème qui est tout simplement son évolutivité. Ici la solution, (c’est à dire pour pouvoir le changer), on doit modifier l’architecture du système pour que la vitesse de consensus ainsi que la taille du réseau puissent être en corrélation.
Un consensus PoW + BFT
Zilliqa utilise un mécanisme de consensus qui est hybride. Sur ce projet le PoW nécessite une puissance de calcul qui permet d’autoriser qu’une machine puisse exploiter un seul noeud. Il faut également souligner ici que le réseau n’utilise pas de preuve de travail pour les consensus.
Lorsqu’un noeud justifie son identité, il est alors ensuite attribué à un fragment. Pour ses fragments, Zilliqa se sert en fait du consensus Practical Byzantine Fault Tolerance.
Les nœuds du fragment doivent alors être opérationnels pour le nouveau bloc. Lorsqu’un bloc est validé par les différentes partitions ainsi que le comité DS, c’est alors seulement qu’il devient un bloc pouvant référencer le bloc avant lui.
L’évolutivité de Zilliqa
Le projet a aussi pu trouver le moyen de traiter des transactions supplémentaires car il a mis en place une solution qui est qu’un nombre plus important de nœuds doivent rejoindre le réseau. Leur nouveau modèle sera alors désormais un protocole de consensus hybride qui permet d’augmenter le débit du réseau tous les 600 nœuds créés.
Une des caractéristiques des réseaux de Bitcoin et d’Ethereum est qu’ils ont des milliers de nœuds qui traitent seulement 3 à 15 transactions/seconde. Des tests AWS ont alors montré que le réseau de Zilliqa a un débit de 1 218 transactions/seconde quand il y a 1 800 nœuds qui sont en activité, il faut également ajouter à cela que sa vitesse peut être encore augmentée.
Comment Zilliqa réalise cette évolutivité ?
Le protocole de Zilliqa permet de diviser le nombre de noeuds d’exploration sur son réseau en groupes de 600 nœuds ou un groupe est un fragment.
Par exemple, lorsque 1 800 noeuds sont activés, testnet est divisé en 3 fragments (et avec 3 600 noeuds, il y a 6 fragments). Quand des nouveaux noeuds rejoignent le réseau, il a encore la possibilité de diviser le réseau en créant alors un nombre plus important de fragments.
Si par exemple il y a 6 fragments, un seul fragment représente 1 sixième des transactions. Ici les « shard » (fragments) servent à traiter les différentes transactions qui sont affectées en micro bloc et agissent en parallèle avec les autres fragments. A la fin de la période de traitement, les micro blocs sont alors combinés comme blocs complets qui vont être ajoutés à la blockchain.
Le Comité DS : Gestion des fragments
Le comité de direction «comité DS», dirige alors le réseau et prend des décisions pour savoir quel nœud va avec quel fragment. Pour DS les noeuds sont sélectionnés pour gérer les nombreux fragments. Lorsque des demandes de transactions arrivent, ils affectent les transactions à un fragment pour être traitées. Ce comité assemble par la suite un bloc complet à partir des micro blocs.
Le projet
Zilliqa met en place des changements sur la façon dont une blockchain arrive à un consensus où le sharding change en fonction de la taille du réseau. En fonction du nombre de nœuds présents sur son réseau, Zilliqa pourrait ainsi traiter des centaines de milliers de transactions par seconde ce qui est plutôt une caractéristique des plus remarquables.
- On peut déjà prédire qu’une exécution appliqués de contrats intelligents sur un réseau fragmenté est un défi pour le projet.