Gouvernance du Runtime

Actuellement dans Duniter-v2s, les runtime upgrades sont choisies par le vote d’un comité technique. Pendant les rml17, nous avons travaillé sur le sujet de la gouvernance pour aboutir à une solution moins centralisée.

todo spécifier le système de gouvernance des runtime upgrade et l’implémenter

sujets liés :

1 Like

Pourquoi pas, sur le principe je suis plutôt d’accord pour que le processus de gouvernance évolue (la toile forgeron n’est qu’un début).

Mais pas maintenant, on doit s’arrêter sur les fonctionnalités de Duniter V2S sinon on ne va jamais la sortir cette version.

J’espère que ce point est bien ressorti des échanges.

2 Likes

Je pense qu’il ne faut pas mélanger la toile forgeron (qui désigne les validateurs) et la gouvernance du runtime (qui vote les runtime upgrade “mises à jour du code”).

Ça me paraît difficilement acceptable de sortir une Ğ1 avec un comité technique très restreint, et si on se contente de l’étendre en gardant un ratio 2/3 de votes, ça risque d’être compliqué de faire des mises à jours pour corriger les bugs qu’on ne manquera pas de voir apparaître.

Mais on peut aussi rester sur cette idée :

Je suis aussi de l’avis d’Elois, il y a des choses qui peuvent se faire plus tard.

2 Likes

Oui c’est vrai je fais souvent le raccourci et la confusion, car les forgerons actuels sont aussi les membres du comité technique.

D’ailleurs peux-tu m’éclairer : le comité technique est bien figé en dur dans le genesis ?

Moi pas du tout. Dix personnes c’est tout à fait concevable par exemple. C’est comme ça que fonctionne la Ğ1 depuis le début, pour la simple et bonne raison que la taille de la monnaie reste très modeste pour le moment.

edit : je vois que tu as mis la priority-low, effectivement et peut-être qu’on peut utiliser ce tag pour signifier ce qui n’est pas nécessaire pour la V2.0.0.

2 Likes

Le genesis, c’est juste l’état du bloc zéro, mais on peut changer l’état par la suite via la gouvernance on-chain. On l’a déjà fait une fois sur la ĞDev par exemple : Changing the ĞDev5 technical committee (fail)

Pas tout à fait : pour influer sur la Ğ1 il suffisait d’être membre, de lancer un nœud forgeron, et d’être ⅔ des forgerons à faire une mise-à-jour. Les forgerons abstentionnistes (qui ne faisaient pas la mise-à-jour) étaient considérés comme opposés à la mise-à-jour. Donc conceptuellement il n’y avait pas tant de centralisation. Alors que là en v2 si le comité technique décide d’une mise-à-jour, elle est déployée sur tous les nœuds forgerons, sans action manuelle de leur part. Si un forgeron ne manifeste pas une opposition en modifiant son nœud avec un code substitute, il est considéré comme favorable à la mise à jour. Cette fonctionnalité des forkless runtime upgrade est très puissante, mais elle change la position des forgerons.

OK, via sudo ou le comité technique lui-même. Très bien.

C’est très exactement ça : conceptuellement.

Permets-moi une analogie, car je pense qu’elle colle plutôt bien : la Ğ1 est comme un nouveau-né.

La Ğ1 est un nouveau-né

Résumé

Cet organisme a certes déjà bien grandi, il est composé de pas mal de monde (8000 membres) ce qui lui donne quelques facultés non-négligeables : il a déjà la capacité de respirer tout seul, peut-être s’assoir, et montrer de l’intérêt pour telle ou telle nouveauté qu’on lui propose.

Mais cet organisme est aussi très dépendant ! Comme tout nouveau-né : celui-ci est sous la protection permanente d’adultes qui l’aident à se nourrir, à grandir, et le tenir éloigné de dangers qui pourraient lui causer de graves blessures, et au pire la mort !

Ces adultes, cette tutelle, prend des décisions pour lui pour l’instant. Quoi de plus normal ! Bien sûr que je souhaite son émancipation, que cette monnaie grandisse jusqu’à ne plus avoir besoin de ses parents initiaux pour survivre, mais ce n’est pas encore le cas, loin s’en faut !

Actuellement, cette monnaie a principalement eu comme tutelle moi-même (son père, oui oui :slight_smile: ), et quelques autres adultes l’ont entouré et parfois aidé à grandir sans moi (Eloïs bien sûr, mais aussi d’autres contributeurs techniques présents et passés sur ce forum (vous êtes trop nombreux, je ne vais pas tous vous citer)).

Quant aux forgerons, ceux-ci sont assimilables au centre décisionnaire du cerveau : ils décident, oui, mais seulement ce sur quoi ils ont la main. Ils subissent totalement les contraintes extérieures. Notamment, ils sont totalement dépendants de la production de nouveaux logiciels, pour l’instant produits et même administrés par ses parents (le comité technique).

Le but, bien sûr, c’est que la Ğ1 grandisse suffisamment pour avoir les moyens, les membres suffisamment développés (sans jeu de mots, je n’ai pas fait exprès !) pour réaliser elle-même la tâche qu’elle souhaite voir réalisée pour son propre intérêt.

Et quand je dis “membres suffisamment développés”, j’entends qu’un membre biologique d’un être humain tel qu’un bras est une machinerie complexe composée de beaucoup d’éléments : ainsi il ne suffirait pas d’un seul développeur pour considérer la Ğ1 comme autonome à son développement. Non : il faut beaucoup de cellules, de sorte que le départ des unes n’interrompe pas le fonctionnement global mais permette simplement un renouvellement.

Et donc, pour l’instant, dans les faits, la Ğ1 est bien toujours sous tutelle. Progressivement elle grandit, elle s’oppose de plus en plus à ce qu’elle ne veut pas, sait aussi manifester son intérêt, et il se peut que Duniter V2S soit une grande étape pour cet organisme (la marche ?? :slight_smile: ).

Mais ne nous laissons pas embarquer par les râlements de ce petit être : oui naître c’est difficile, grandir aussi, il va se plaindre, pleurer, parfois même on ne saura pas bien pourquoi et nous ne le comprendrons que plus tard. Mais prenons-le à sa juste mesure : sachons écouter ses pleurs, mais discerner la peur de la douleur et de la mauvaise humeur, sans conséquences. Et surtout tenir compte que cet organisme n’est pas capable de décider grand-chose car il n’entrevoit que très peu les conséquences de ses actes.

Donc :slight_smile: si, c’est bien comme ça que fonctionne la Ğ1 pour l’instant : sous tutelle d’un comité technique.

Il suffit de voir que les nœuds sont migrés sous son impulsion, sans trop poser de questions.

6 Likes

Là c’est l’introduction de la toile forgerons qui change la donne. Cette toile en plus est-elle vraiment nécessaire ? J’ai bien compris qu’il fallait un certain niveau de compétence pour monter un noeud forgeron v2s, et que l’entrée dans la toile forgerons constitue un peu l’examen du permis de forger (alors qu’en v1 on forge sans permis dès lors qu’on est membre). Mais avec les goOffline() automatiques sur offence, ça ne devrait pas poser plus de souci qu’en v1, non ? Ou je loupe un truc…

1 Like

Il y a aussi un problème de sécurité en V1, Un pirate pourrait assez facilement récupérer des identifiants de membre qui ne forge pas, car nombreux sont ceux qui n’ont pas conscience du niveau nécessaire de sécurité pour leurs identifiants.

dans ce cas d’ attaque de la v1 tu les laisses forker en attendant de les révoquer, très bon exercice emancipateur. il y a une commande pour l’ integrité de la bc

J’ai retiré todo et laissé uniquement wished avec l’idée suivante : la gouvernance on chain du runtime n’est qu’une facilitation pour les mises-à-jour. Le mécanisme naturel d’une blockchain (un fork initié par les forgerons) est toujours présent (pas de changement par rapport à la Ğ1v1). Un fork peut tout à fait changer le set des forgerons et son acceptation repose comme en v1 sur la légitimité perçue par la communauté.

parenthèse sur les RML17

Les rml17 ont largement fait avancer ce sujet notamment en montrant qu’une gouvernance technique plus sophistiquée ne pouvait pas avoir lieu sans outils d’organisation humains (hors chaîne) incluant des assemblées régulières, un travail constant de vulgarisation, de traduction, et de recherche de compromis. Duniter, dans la philosophie du logiciel libre, n’a pas vocation à imposer un mode de fonctionnement décidé par un logiciel, mais plutôt de mettre à disposition d’une communauté un outil libre géré collectivement.

1 Like