Shimmer IOTA: la solution du coordicide

shimmer coordicide

Nous vous en parlions hier, les développeurs IOTA viennent d’annoncer en grande pompe leurs plans pour le Coordicide. Ce plan ambitieux repose sur un élément crucial : un nouveau système de consensus appelé Shimmer. Ce système est entièrement basé sur un mécanisme de vote entre les nœuds du réseau pour déterminer la validité de transactions conflictuelles. 

  

Shimmer 

Le module Shimmer trouve son origine dans un comportement maintes fois observé dans la Nature. Traduit littéralement, ce terme signifie miroiter, chatoyer. En réalité c’est aussi le nom d’un comportement observé au sein de ruches d’abeilles lorsqu’elles sont attaquées par des prédateurs. Ces dernières synchronisent alors leurs mouvements pour faire apparaître des formes sur la ruche et éloigner repousser l’attaquant. Le plus fascinant est qu’elles adoptent ce comportement sans recevoir d’ordre d’une entité centrale. Elles savent quand elles doivent « changer d’état » uniquement en observant leurs voisines

Ces mécanismes sont très fréquemment observés dans la nature, chez les abeilles, fourmis, oiseaux ou poissons notamment. Il semble alors qu’en suivant uniquement des règles très simples, des propriétés émergentes complexes peuvent apparaître au sein du système. Le consensus Shimmer est construit sur ces mêmes bases. Au lieu de se préoccuper de l’opinion de tous les nœuds du réseau, on ne s’intéresse qu’à celle de nos voisins et on laisse le consensus émerger de manière organique de proche en proche. 

Lorsqu’un conflit survient (double dépense), les nœuds changeront d’opinion itérativement quant à la transaction qu’ils préfèrent. Au bout d’un moment, un consensus sera atteint. Les nœuds obtiennent alors une vue plus globale de la partie du Tangle qui a été préférée. Après un certain temps, un nœud peut même indiquer qu’il a pris une décision finale et qu’il ne reviendra plus dessus. 

 

iota shimmer

 

Comme Shimmer sera le modèle de consensus utilisé par le Tangle, le fait de préférer une transaction plutôt qu’une autre aura de larges conséquences. Ainsi, si un nœud préfère une transaction, il doit également être d’accord avec toutes les transactions référencées par celle de son choix. De même, si une transaction n’est pas préférée, alors aucune transaction qui la référence ne pourra être validée à l’avenir. 

 

shimmer module

 

Il faut cependant savoir qu’il ne sera pas nécessaire de voter pour chaque transaction. Shimmer ne sera utilisé qu’en cas de conflit entre deux transactions. Bien entendu, les nœuds rejetteront automatiquement tout autre nœud qui essaye de préférer deux transactions en conflit en même temps. Ceci forcera systématiquement le réseau à ne choisir qu’un seul survivant. Les nœuds qui ne respecteront pas ces règles seront abandonné par leurs voisins et coupés du réseau. 

Deux approches différentes (mais pas exclusives pour autant) sont envisagées pour implémenter ce système de vote. Elles ont des chacune des avantages et inconvénients mais présentent toutes deux des résultats prometteurs.  

  

Le consensus cellulaire 

Ce système de vote est incroyablement simple : si la moitié de tes voisins préfèrent la transaction A, alors tu la préfères aussi ; sinon, tu choisis l’autre. Et voilà. Ce mécanisme est extrêmement rapide et robuste. L’animation qui suit montre une simulation de 10000 nœuds atteignant un consensus alors qu’il y a 128 transactions en conflit. En quelques secondes, tous les nœuds du système finissent par avoir le même avis. 

 

consensus cellulaire iota

 

Vu qu’un nœud ne se base que sur l’avis de ces voisins, l’ajout de nœuds au réseau n’entraine pas d’augmentation du temps pour atteindre le consensus. Les décisions sont prises localement et en parallèle, faisant de ce système un modèle totalement extensible. 
Ce modèle de vote permet aussi la mise en place d’un « système immunitaire » qui permet de protéger encore plus le réseau contre un attaquant. Vu que je partage un certain nombre de voisins avec mon propre voisin, je peux contrôler si la réponse qu’il me donne est bien en phase avec son environnement. Si tous ses voisins disent qu’on doit garder A et qu’il me dit de garder B, je peux savoir avec certitude qu’il ment. Ainsi dès qu’un nœud sera identifié comme malhonnête, il sera rejeté du réseau. 

Ce mode de consensus présente donc de nombreux avantages jamais vu jusqu’alors dans un autre registre distribué. Ce système est asynchrone, simple à implémenter, efficace, rapide et résiste aux attaques. Toutefois, il est extrêmement complexe de formaliser mathématiquement ce consensus, vu sa nature complexe et chaotique. C’est donc presque impossible de prouver mathématiquement qu’un tel système est bien infaillible.  

  

Le consensus probabiliste rapide 

Afin de répondre aux lacunes du consensus cellulaire, une seconde approche est envisagée. Ce deuxième consensus possède l’avantage d’être formalisé mathématiquement ; on est donc certain de ses capacités. 

Le principe de base est assez similaire, la différence est qu’ici le vote ne se fait pas partout en même temps sur le réseau, mais via des tours de votes séparés. À chaque tour, un nœud demandera au hasard l’avis d’un certain nombre d’autres nœuds. Il formera alors son opinion sur base de la majorité des avis retournés. Une fois un certain nombre de tours de votes passés, si le nœud ne change plus d’avis, son opinion pourra être considérée comme finale. Il suffit donc de sélectionner un nombre de tours suffisamment grand pour être sûr que presque tous les nœuds auront arrêté leur décision.  

   

Conclusion 

Les développeurs IOTA ne cessent de travailler nuit et jour pour se rapprocher de leur vision. Cette idée brillante de simplicité pourrait bien être celle qu’il fallait pour faire de IOTA la première crypto 100% décentralisée, sans frais, extensible, rapide et résistante aux attaques quantiques. Rappelons tout de même que depuis le début de ce « bear market » IOTA a réalisé un nombre incroyable d’avancées significatives. Le protocole Qubic est en finalisation, les recherches sur Ict sont presque finies et le système est déjà en phase d’optimisation, Trinity est le wallet le plus abouti et sécurisé du marché, des partenariats d’envergures ne cessent d’être conclus, le market place est publique et tout le monde peut créer le sien. Le Tangle n’a jamais été aussi stable et en bonne santé pendant autant de temps. Alors que de nombreux projets coulent durant ce marché baissier, IOTA en profite pour se focaliser sur l’important et profite du calme pour progresser sans relâche. 

Les derniers doutes quant à la faisabilité du projet devraient finalement s’estomper petit à petit. Les échanges qui hésitaient à lister IOTA à cause de son coordinateur pourraient bien changer d’avis dans les mois qui viennent. En tout cas, comme le rappelle cryptomatrix, les investisseurs semblent très optimistes quant à cette nouvelle. Le cours du token a déjà bondi de plus de 20% depuis l’annonce, atteignant près de 0.5€ le MIOTA. 

Cet article a 1 commentaire

  1. Thomas Lambert le 31/05/2019 à 11:58 Répondre

    Il semblerait que le système de concensus cellulaire ait été développé par une autre crypto (NKN) il y a déjà un an, mais les devs n’étaient pas au courant
    https://www.nkn.org/static/doc/NKN_Whitepaper.pdf

    C’est bon signe de voir que différentes équipes trouvent la même solution en parallèle pour un problème donné 😀

Laisser un commentaire