FBA (federated Byzantine agreement) and Algorand

Je m’auto-réponds, suite à la lecture du sujet « De la lecture sur Proof Of Stake » (Algorand).

En réalité c’est possible de définir l’ordre des votes, contrer les attaques aux multiples votes, la réception partielle ou tardive des votes. J’ai compris par l’étude d’Algorand qu’en fait il suffit de partir de quelques principes de base acceptables comme :

  • la majorité du réseau est honnête (> 2/3 par exemple)
  • chaque nœud honnête ne vote qu’une seule fois par étape
  • chaque nœud honnête ne comptabilise qu’un seul vote par émetteur et par étape
  • chaque nœud honnête suit le même processus de consensus que les autres nœuds honnêtes

Alors par un mécanisme de sélections successives, avec quorums et tirages aléatoires, il est possible d’affirmer qu’il existe un consensus légitime.

Ce problème est effectivement résolu dans Algorand par les sélections successives du bloc qui fait éventuellement consensus, il y a en gros 4 chambres successives de sélection :

  1. La chambre de proposition (très petite, de 1 à 70 participants max)
  2. La chambre de réduction (+ grande que 1., max 2.000 participants)
  3. La chambre de décision (= 2., max 2.000 participants)
  4. La chambre de confirmation (+ grande 3., max 10.000 participants)

Chaque participant = 1 nœud, tout cela est pensé pour fonctionner en contexte informatique et automatisé.

En cas d’échec dans l’une des étapes de 1. à 2., un bloc par défaut déterminé à l’avance est proposé par tous les nœuds honnêtes. De même en cas d’échec de décision d’un bloc sur l’étape 3, ce même bloc fait aussi office de solution de repli. En cas d’échec à l’étape 4., le consensus est considéré comme « tentative » et ne sera réellement officialisé qui si un bloc futur est marqué comme « définitif ».

Enfin il peut tout de même exister des forks, et cette solution de votes ne dit rien quant à la stratégie de résolution de fork. À noter que les auteurs d’Algorand prétendent que la probabilité de forks est considérée négligeable, hors attaque.

2 Likes