Bonjour, En regardant le fonctionnement de Duniter v2 j’ai quelques inquiétudes concernant le parcours forgeron dans la nouvelle version de la Ğ1.
Un membre forgeron est un membre qui est capable de faire fonctionner le logiciel Duniter qui va co-écrire la blockchain. C’est par essence un outil de pouvoir car qui peut écrire la blockchain peut aussi changer les règles de fonctionnement. Si tous les forgerons, décident de modifier le DU, ou d’exclure un membre, la communauté n’aura pas d’autre choix que d’accepter.
Actuellement, en v1, n’importe qui peut devenir forgeron et faire tourner un nœud Duniter. Il y a quelques problèmes autour de ça notamment le fait que pour faire tourner le nœud il faut metre son identité avec son mot de passe sur un serveur, et qu’il faut s’y connaître pour faire tourner le serveur. Mais, cela reste possible même si c’est difficile.
En v2, si je comprends bien, pour devenir forgeron, il faudra être invité par un forgeron existant. Cela veut dire qu’un simple membre ne pourra pas devenir forgeron et participer à la sécurité de la blockchain sans une validation à priori.
Pour moi c’est un gros problème. Un membre de la Ğ1 v2 sera un membre diminué dans ses capacités. Maintenant imaginons un futur potentiel dans 5 générations ou dans la Ğ1 v2 nous n’avons plus que 3 forgerons qui se connaissent et sont peu scrupuleux. Ils ont par exemple tous les trois le même bord politique et décident d’exclure un membre influent du bord politique opposé en manipulant la blockchain directement.
Si n’importe qui peut devenir forgeron alors il suffit qu’un simple membre du bord politique opposé devienne forgeron pour bloquer ces machinations. Si par contre il faut être coopté par un forgeron existant la situation est bloquée et la blockchain sera de fait accaparée par un seul parti.
Maintenant je peux penser a des solutions alternatives (l’une ou l’autre) :
tous les membres gardent la capacité de forgeron, mais lors de la certification, un membre peut considérer que la personne qu’il certifie n’a pas les capacités pour opérer un nœud et peut au cas par cas (et non dans le cas général) certifier sans transmettre la capacité de forgeron
pour devenir forgeron il suffirait d’avoir un nombre supérieur de certifications au nombre minimum
au lieu d’être coopté par le groupe des forgerons, pour devenir forgeron il faudrait être nommé comme tel par 5 membres qui ne sont pas forcément des forgerons. Ainsi n’importe quel parti de la blockchain pour nommer des personnes qu’il juge techniquement compétentes pour opérer un nœud.
S’il arrivait un jour que la toile forgerons contienne moins de 10 forgerons, c’est que la monnaie libre serait déjà bien mal en point. Je pense au contraire qu’au fil du temps le nombre de forgerons augmentera.
Les forgerons ne décident que des mises à jour, pas vraiment des développements.
Les modifications seront validées par un comité technique. La désignation de ce comité aura aussi une phase de discussion après le démarrage.
Il y aura surement des évolutions possibles de la façon de désigner les forgerons.
Au pire, la possibilité de forker existera toujours.
Après le démarrage de la V2, il y aura encore énormément de discussions sur les possibilités de gouvernance à mettre en place.
L’objectif prioritaire aujourd’hui est une migration iso-fonctionnelle en toute sécurité, le tôt possible.
Je comprends que la priorité c’est de sortir une v2 fonctionnelle sans forcément aller dans tous les détails, mais du coup je me demande pourquoi avoir choisi de développer un parcours forgeron différent du parcours membre si justement l’idée était de poursuivre le développement une fois la v2 sortie.
Même si une gouvernance est mise en place, le groupe forgeron restera toujours le dernier maillon qui a tous les pouvoirs, y compris de passer au dessus de la gouvernance mise en place, et c’est important de pouvoir préserver l’ouverture de la monnaie libre en évitant d’accaparer ce pouvoir.
Le scénario que je donne semble peut être un peu abstrait mais on peut très bien imaginer des variations moins lointaines. Que ce soit une injonction de la justice, un conflit social, une décision géopolitique, c’est possible.
Si le pouvoir de forger n’appartient pas collectivement aux membres, la monnaie n’appartient plus vraiment non plus aux membres, sauf à faire un hard-fork pour la récupérer. C’est peut être une considération plus philosophique mais qui est importante tout de même. La blockchain publique est transformée en blockchain privée.
Je crois que le principe de la toile de confiance pour les forgerons est tout à fais dans l’esprit de la monnaie libre.
Ça évitera d’avoir des noeuds mis en route par des personnes n’ayant pas le niveau technique ou pas les connaissances pour avoir un nœud sain. (Sans parler des personnes mal intentionnées.)
Un seul noeud mal configuré (ports qui faut pas ouvert par ex) met en danger toute la june.
Le fait de partir sur une toile de confiance évite précisément ce que vous semblez craindre c’est à dire une concentration du pouvoir.
Si il y a 150 membres forgerons et que quelqu’un qui remplit les conditions pour être membre forgeron souhaite le devenir il serait très compliqué à une minorité de le bloquer pour des raisons politiques. Plus le nombre de forgerons augmentera et plus ça apportera de la résilience.
De plus vu que les membres forgerons s’échangeront leurs coordonnées entre eux ils leurs sera beaucoup plus facile de faire circuler les informations entre eux si il y avait une situation exceptionnelle. (bug ou autre.)
Moi je crois que c’est très bien de renforcer la partie sécurité informatique vu qu’on sait que c’est par là que se trouve le talon d’achille de la june.
Tes solutions rajoutent une couche et ne simplifie rien.
Pensez que des quidams auront la capacité ou la volonté de « juger » une autre personne « techniquement » est hors réalité.
Et ce ne sont pas les plus « techniques » d’entre nous (la WOT) qui collectionnent le plus de certifications.
De toutes possibilités, le simple fait que le nombre de forgerons augmentera aussi exponentiellement comme l’autre Toile de Confiance (ainsi le démontre depuis 7 ans de la fonctionnalité remarquable de la méthode « Toile de Confiance ») et donc diluera toute possibilité de « prise de pouvoir » comme la Toile actuelle le montre.
Ici, le point sensible est la sécurité et cela passe par un certain « niveau technique ».
il faut apprendre et s’équiper un minimum,
c’est libre,
beaucoup d’humains peuvent le faire.
PS il y avait les mêmes critiques pour la Toile de Confiance actuelle, avant le lancement de la June en 2017.
Donc d’avoir un nœud miroir, pour ça pas besoin de certif de la toile forgeron.
De plus dans ton explication, tu reçois 15 certifs forgeron, et 1 décide arbitrairement de t’enlever le droit de forger, pour moi c’est encore pire que ce que tu crains.
Je rejoins @yann , sur qui reçoit le plus de certif, en tout cas pas les devs.
Si j’ai bien compris avec la V2, le nœud, même si il est rattacher au compte membre, aura ses propres identifiants et donc ce couple qui peut être mal sécurisé pour accéder à un compte membre, ne pourra plus l’être pour le nœud.
Pour info j’avais un nœud et il tournait plutôt bien, presque 10 blocs par jours, mais un jour Eloïs m’a fait remarqué que la sécurité de mon nœud n’était pas suffisante, n’ayant pas réussir à comprendre comment améliorer, j’ai décidé de l’arrêter.
J’aurais très bien pu continuer et mettre la blockchain en danger, en V2 je n’aurais pas pu .
Je ne dis pas qu’il ne faille pas avoir un niveau technique minimum pour exécuter un nœud, juste que je trouve que le mécanisme de cooptation n’est pas le bon. A mon avis, n’importe quel membre devrait pouvoir dire « je souhaite que untel puisse devenir forgeron », sinon ça crée un statut de membre à deux vitesses. Des vrais membres qui peuvent forger, et de simples utilisateurs qui n’ont pas leur mot à dire.
L’intérêt du bitcoin à la base c’est que n’importe qui pouvait avoir un nœud bitcoin et devenir sa propre banque. Si le premier bitcoin restreignait qui pouvait forger des blocs à une communauté fermée, ça ne vaut pas mieux que les monnaies numériques de banque centrale ou seule une petite communauté peut forger des blocs.
Je n’implique absolument pas que la communauté de forgerons actuelle soit fermée et n’accueillerait pas volontiers de nouveaux membres, mais c’est juste que définir dans le code source de Duniter deux niveaux de membres est dangereux.
Est-ce qu’on aurait autant de membres forgerons si pour devenir forgeron il fallait connaitre d’autres forgerons ? Avec les connaissances, je peux demain opérer un nœud Duniter et participer à la sécurité du réseau. mais je ne pourrais pas forcément aussi facilement avec la v2 parce que je n’ai pas dans mes voisins proches de la toile de confiance, mon groupe local, d’autres forgerons. Sans compter le problème d’inscrire dans le code source le principe d’une technocratie.
Est-ce que le fonctionnement de v1 ou n’importe qui pouvait devenir forgeron est si problématique qu’il faille absolument verrouiller le système dés le début de la v2 ?
Effectivement, je suis d’accord sur ce constat également. C’était un exemple d’alternative parmi d’autres.
L’idée la plus intéressante serait plutôt d’avoir 5 certifs forgeron de simples membres (en plus des 5 certifs pour être membre). Ces 5 membres te font confiance pour mettre en place un nœud et ne pas les trahir. Et si il est nécessaire d’avoir 5 certifs forgeron, tu peux en demander 6 ou 7 comme ça dés que tu en perd une tu n’est pas bloqué. Comme le statut de membre finalement.
Question concrète : comment répondre à cette attaque particulière ?
Nous sommes en union soviétique, les dissidents vont au goulag et pour éviter le goulag, la majorité de la population n’hésite pas a dénoncer (faussement?) et exclure socialement tous ceux qui de près ou de loin pourraient être dissidents. Pour garantir la pérennité de la monnaie libre, les membres forgerons s’accordent pour inclure dans leur version de la blockchain un code qui exclue automatiquement tous ceux qui sont sur la liste noire du parti.
Un groupe de dissidents organisés et anonyme souhaite cependant garantir l’intégrité de la blockchain et décident de mettre en place suffisamment de nœuds forgerons sans ce code d’exclusion pour garantir la place pour tous dans la monnaie libre. Comment font-ils pour accéder au statut de forgeron ?
Note : pour l’instant c’est un pur cas théorique mais je crains vraiment dans l’avenir que ce genre ce situation puisse arriver. C’est une raison pour laquelle les logiciels libres et décentralisés m’intéressent particulièrement.
Déjà, ça ce ne serait pas possible.
Ce sont les devs qui modifient le code et le runtime, et les forgerons acceptent ou pas la modif.
Il y aura toujours des forgerons pour refuser une maj qui ne respecterait pas les 4 libertés de la TRM.
Pas tout à fait. Ce sont bien les forgerons qui installent ou pas une nouvelle version du noeud (qui peut être nécessaire pour une certaine version du runtime, mais pas nécessairement).
Cependant, la mise à jour du runtime se fait après un processus de vote (dont je n’ai pas les modalités en tête, pour autant qu’elles soient définies) qui ne concerne pas nécessairement que les forgerons.
Si une évolution du runtime est votée, les forgerons ne peuvent pas la refuser (sauf à créer un fork).
Substrate prévoit de pouvoir changer le runtime sur un appel superutilisateur sudo
en prod, sudo ne peut être appelé que par un ensemble de clefs, avec un processus de vote (la désignation de ce comité et les modalités de vote sont propres à chaque chaîne)
donc la mise à jour du runtime se fait après un processus de vote
C’est un point qui semble évident à la plupart des profils techniques qui se sont intéressés à Duniter2, mais effectivement, hors de ces personnes c’est peut-être flou.