Toile des forgerons

Finalement je prends encore 1h de temps pour te donner des éléments de réponse à l’écrit, mais il faudra aussi poursuivre tes propres recherches, car je ne peux pas tout aborder. Ma proposition de discuter en vocal tiens toujours, mais pareil on ne pourra pas tout aborder meme en passant 10h au téléphone.
Comprendre réellement correctement ces sujets complexes nécessite malheureusement plusieurs années d’apprentissage même avec un bon background technique.

La question ne peut pas se poser ainsi. Elle ne peut se poser que pour une nouvelle fonctionnalité optionnelle, ou pour comparer deux solutions différentes à un même problème.
Mais dans ta phrase tu mets en balance une solution à un problème versus les potentiels inconvénients de cette solution.

Le problème ici c’est “définir qui peut rejoindre le set des autorités”. Ce problème étant obligatoire à résoudre (ne rien faire n’est pas un choix possible), tant qu’il n’y a qu’une seule solution pertinente et acceptable, on est obligée de l’implémentée quels que soient ses inconvénients éventuels.

Les seules autres solutions pertinentes techniquement sont la PoS (Proof Of Stake) ou le filtrage par un organe centralisé, je n’ai personnellement pas vu passer d’autre proposition qui tienne la route.
Étant donné qu’on est contre la PoS car ça donne le pouvoir au riche et qu’on veut une solution décentralisée, il n’y a pas le choix.

La question n’est donc pas, “est-ce que la sous-toile forgeron vaut le coup ?”, mais “comment l’implémentée correctement ?”.

Si une entité oui un groupuscule contrôle plus de 33% des autorités du set iels peuvent bloquer purement et simplement la blockchain, la G1 s’arrête, plus aucune transaction possible.
Sachant que le nombre de forgerons actifs (=dans le set des autorités) et nécessairement très faible face au nombre total de membres (actuellement quelques dizaines contre des milliers), il suffit de pirater relativement peu de membres pour contrôler un tiers du set.

Non bien pire que ça, tout simplement bloquer totalement la blockchain, elle ne peut plus avancer, plus aucune transaction n’est possible.

Les ordres de grandeur ne sont pas bons, aujourd’hui BABE/GRANDPA supporte en production un maximum de 300* autorités dans le set, donc maximum 300* forgerons actifs en même temps…
Donc il “suffit” de pirater 100 comptes pour prendre le contrôle d’un tier du set, ce qui est la proportion maximale de byzantins supportée.

*Il y a des tests en cours avec 4000 autorités qui sont prometteurs mais qui pose encore des problèmes techniques qui mettront probablement plusieurs années à être résolus. Mais de toute façon ça sera nécessairement une proportion de plus en plus faible du nombre total de membres (car fixe vs variable).

Tu as mal compris, c’est moi qui avais proposé l’idée de bloquer les futurs DU, en réponse au problème “quelles sanctions appliquées aux forgerons malveillants ou/et négligents”.
Mais ça ne répond pas au problème “comment filtrer qui peut devenir forgeron”, les 2 problèmes sont indépendants et je n’ai jamais vu d’autres solutions envisagées pour le 1er.

En pratique non, ça m’étonnerait que tu trouves une alternative crédible techniquement ET décentralisée ET compatible avec les valeurs de la G1 alors qu’aucun d’entre nous n’en a trouvée depuis toutes ces années.

Alors dit comme ça c’est faux, c’est en réalité beaucoup plus complexe que ça.
Dans la G1v2, les membres forgerons ne pourront pas s’opposer à un changement de runtime on-chain, car ça se passe on-chain justement, donc pas de mise à jour à installer par les forgerons.

En revanche, les autorités dans le set (donc pas tous les forgerons, seulement ceux réellement actifs à l’instant t) ont effectivement certain pouvoirs inhérent au consensus même de la blockchain (traduction: pouvoirs que l’on ne peut pas supprimer), mais ces pouvoirs sont beaucoup plus limités qu’il n’y parait. ll doivent être plus de 66% à se mettre d’accord pour contourner la gouvernance on-chain (c’est déjà plus que 50), et ils doivent tous appliquer une meme mise à jour spécifique qui demande des dev spécifique pour la décision précise à contourner. Une usine à gaz irréalisable dans la pratique, sauf si toute la commu est d’accord (contournement d’un bug dans la gouvernance on-chain ou réparation d’un hack massif par exemple).

Et pourtant c’est bien la seule solution décentralisée connue à ce jour (à part la PoS dont on ne veut pas).
Et comme dit plus haut, je doute que tu trouves une alternative crédible techniquement ET décentralisée ET compatible avec les valeurs de la G1 alors qu’aucun d’entre nous n’en a trouvée depuis toutes ces années.

C’est très bien de chercher à tout comprendre, et je t’encourage à continuer dans cette voie, mais je t’invite aussi à faire preuve de beaucoup plus d’humilité, car tu me sembles encore très loin du niveau d’expertise nécessaire pour émettre un avis technique pertinent sur la question.
Je ne dis pas ça pour te décourager, j’aimerais au contraire qu’on soit le plus nombreux possible à avoir l’expertise sur ces sujets, mais je préfère être franc pour ne pas te donner de faux espoirs sur l’ampleur du travail à fournir pour y arriver.

5 Likes