Duniter utilise la POW?

L’enjeu est ce que j’appelle la synchronisation, ou comment faire avancer de façon synchrone un système réparti.

À cet enjeu il convient de poser certaines hypothèses, pour Duniter j’ai choisi :

  • faible connectivité : on suppose que les nœuds disposent d’un faible débit de données, et d’une connexion instable (tend à être établie par intermittence)
  • les membres du réseau ne sont pas tous disponibles pour l’écriture
  • tout membre n’est pas forcément honnête, et peut aussi faire des erreurs (bugs logiciels, erreur de configuration, …)

À ces 3 hypothèses j’ai ajouté, de façon moins impactante :

  • fréquence relativement élevée (1h d’attente = trop lent)
  • capacité de traitement limitée : on suppose que le traitement d’une seule donnée décisionnelle (donnée à vocation de synchronisation) prend un temps non-négligeable

De là, certains algorithmes conviennent, d’autres moyennement, d’autres encore pas du tout.

Citons en exemples :

  • La PoW, fonctionne très bien dans ce contexte car :

    • faible connectivité OK : 1 seule trame réseau :white_check_mark:
    • membres pas tous disponibles OK : il suffit d’un seul membre :white_check_mark: (à l’exclusion près)
    • membre malhonnête/buggué OK : tant qu’il reste des membres honnêtes/conformes :white_check_mark:
    • fréquence OK : 5’ :white_check_mark:
    • capacité de traitement : 1 seul message (le bloc) :white_check_mark:
  • Algorand qui se rapproche de ce que tu évoques @pparent76, mais :

    • dont la crypto sous-jacente est très récente et peu éprouvée :warning:
    • suppose une connectivité élevée en cas de divergence sévère :no_entry_sign:
  • Ma proposition initiale, basée sur FBA :

    • suppose une connectivité élevée :no_entry_sign:
    • membre malhonnête/buggué : comment gérer les multiples avis ? :no_entry_sign:
    • capacité de traitement limitée : potentiellement de nombreux échanges :no_entry_sign:

Je t’invite à lire ces deux sujets sur Algorand et FBA, tu y trouveras pas mal d’informations sur le cheminement de Duniter.

4 Likes