Fork ou mise à jour?

Bonjour à tous.

Je voudrais savoir si les devs ont déjà décidé si la V2 apparaîtra au travers d’un Fork (inconvénient majeur: division de la communauté ML) ou d’une mise à jour (inconvénient majeur: imposition ou perception d’imposition).

Si ce n’est pas encore décidé, qu’avez-vous envisagé pour prendre cette décision?
Y a-t-il consensus sur la façon dont sera prise la décision?

Si les avis entre devs divergent, pourriez-vous exprimer vos arguments ? (en restant dans le respect des avis contraires et la bienveillance svp :slightly_smiling_face: )

Vos retour permettront de mieux comprendre où vous en êtes à ce sujet.

Merci d’avance!

La Ğ1 doit évoluer techniquement, c’est une nécessité.
Contrairement aux autres mises à jour, la version 2 de Duniter ne sera pas compatible avec les versions précédentes. D’où la nécessité d’une bascule de tous les nœuds et client (comme césium) à une date précise.

Ceux qui ne veulent pas évoluer créeront un Fork de fait, en continuant de faire tourner une ancienne Ğ1 qui ne sera plus maintenu par les développeurs actuels.

D’où l’intérêt d’avoir le consentement d’un maximum d’utilisateur pour éviter une division des forces de la Ğ1.
D’où les efforts plus où moins maladroits pour communiquer sur cette évolution.
La première maladresse étant de parler d’une V2, alors que c’est juste une continuité de la Ğ1.

6 Likes

Je surveille les sujet de discussions depuis peu mais je pense néanmoins pouvoir apporter ma pierre à l’édifice.
J’espère que je suis dans le bon channel mais bon x).
Je ne sais pas si la transition a déjà été pensé, mais voilà :

- quand le testnet sera bien avancé, il est possible de se coordonner sur une date de lancement.
-Une fois la date de lancement décidé, on implémente une mise à jour sur duniter v1 qui empêche tout nouveau block/transactions à partir du block décidé
- Snapshot et transition vers v2 tout en évitant que des personnes transfère de la valeur sur un fork non maintenu.
2 Likes

@Maaltir @JulsKawa

Merci pour vos réponses. Suite à une conversation avec @1000i100, je comprends maintenant que ma question montre que j’ai mélangé deux éléments. D’une part il y a l’évolution de G1 V1 vers G1 V2 (pour le dire d’une façon qui changera peut-être d’ici-là), et d’un autre côté la mise à jour de Césium vers Césium pour la V2.

Je vais donc reformuler ma question, qui s’adresse surtout aux devs, mais pas que.

Êtes-vous pour une transition vers la V2 dès qu’elle est prête ou bien dès qu’il y aura une acceptation suffisante de la communauté ? (Dans ce dernier cas, quel est pour vous le pourcentage minimum d’acceptation?)

Êtes-vous pour une mise à jour obligatoire de Césium (entrainant tous les utilisateurs vers la V2) ou bien pour une mise à jour facultative (laissant le choix à des utilisateurs de continuer avec la V1)?

Y a-t-il consensus sur la façon dont seront prises ces décisions?

N’hésitez pas à me dire s’il y a encore des incompréhensions révélées par la formulation de mes questions.

La question du pourcentage est difficile à définir :

  • quel pourcentage des exprimés “pour” au minimum ?
  • quel pourcentage des exprimés “contre” au maximum ?
  • quel pourcentage des membres exprimé au minimum ?
  • quel proportion de “pour” par rapport au nombre de “contre” ?
  • quel évolution des proportions entre deux dates ?
  • @HugoTrentesaux a évoqué au RML18 une approche géographique plutôt qu’en pourcentage : est-ce qu’il y a des avis exprimés dans tous les groupes locaux ? Pour identifier les endroits ou l’information n’arrive pas et où il y a de gros risques de perdre les gens simplement parcequ’ils ne sont pas au courant. La variante non géographique, mais se basant sur les distances dans la toile de confiance marche aussi pour cet enjeu (y a t’il des réponses au sondage parmi mes certifiés ou certifieur pour s’assurer que si je suis perdu il y ai du monde capable de me répondre)

Ce que j’imagine personnellement, c’est de commencer un sondage sur la question, sur lequel il soit possible de revenir pour modifier ses réponses.
1 mois après avoir lancé ce sondage, s’il a plus que 100 votes, on note un instantané des résultats.
S’il y a moins de 5% d’opposition, et plus de 50% d’approbation (et entre deux des gens qui ne savent pas trop et qui suivent), selon moi, on peut essayer de faire mieux, mais ce n’est pas grave si on n’y arrive pas.

Si au contraire il y a plus de 5%, voir plus de 20% d’opposition, là il me semble important d’en faire quelquechose. Dans ce cas :

  1. première phase comprendre les objections, est-ce de l’incompréhension dans quel cas identifier là ou il y a confusion permettra de mieux communiquer pour lever ses incompréhension… Ou s’agit-il de désaccord de fond, dans quel cas il faudra réfléchir à comment prendre en compte ces désaccords pour essayer de contenter tout le monde sans pouvoir prétendre y parvenir.
  2. régulièrement (chaque semaine par exemple, en continuant à communiquer sur le sondage) on reprend des instantanées des résultats du sondage.
  3. quand on voit apparaitre une courbe en S de baisse du pourcentage d’opposition, c’est qu’on a fait l’essentiel de ce qu’on pouvait faire pour embarquer tout le monde, c’est donc le moment de migrer.

Pourquoi une courbe en S plutôt qu’un seuil à atteindre ?
L’idée, c’est que parmi les oppositions, certaines peuvent facilement être levées (les incompréhensions notamment), on aurait tort de s’en priver. Parmis les oppositions de fond, certaines peuvent probablement être levé en intégrant les besoins associés, mais probablement pas toutes. Enfin il y a les oppositions identitaire (dans ce cas ce n’est pas le fond de l’objection qui est important, mais le fait de s’opposer qui apporte reconnaissance, validation, notoriété… bref qui est précieuse pour la personne, peu importe le sujet de l’opposition) et ces oppositions-là, nous n’y pourrons probablement rien si ce n’est nous épuiser à essayer d’y faire quelque chose.

Ne sachant pas quel pourcentage des oppositions sont de quelle catégorie, ce qui me semble le plus pertinent, c’est de se baser sur leur évolution : si les oppositions restantes sont indéboulonnables, alors c’est qu’on a fait de notre mieux.

Pour la partie Cesium, de ce que j’ai compris, ce qui se profile me parais très pertinent comme approche (en tout cas, je n’imagine pas comment on pourrait faire mieux) :

  • une mise à jour automatique vers la nouvelle version Cesium² pour que les sens avis puissent suivre le mouvement sans effort.
  • la création d’une application “Cesium classique” ou “Cesium V1” qui elle continue de fonctionner avec le réseau Duniter V1 pour que les personnes opposées au changement ai le choix et ne soit pas pris en otage.

Pour autant, l’équipe technique actuel ne mettra vraisemblablement pas son énergie à maintenir/ corriger les bugs des versions V1 une fois passée en V2, donc les inconditionnels de la V1 devrons à long terme soit se former, soit s’entourer d’une nouvelle équipe technique.

Comment est prise la décision ?

  • pour la partie Cesium : C’est @kimamila qui a la main sur l’application dans le play-store, donc en dernier recours, c’est lui qui décide pour cette partie.
  • pour la partie Duniter, quand les dev seront techniquement prêts, s’ils préconisent la migration (ce qui ne sera peutêtre pas tout de suite le cas si coté communication il y a encore beaucoup de confusion), ce qui fera que cette migration aura techniquement lieu ou non, ce sont les forgerons (sachant que nombre des dev sont également forgerons, mais qu’il y a moult forgerons qui ne sont pas dev). Si les forgerons font tourner la V2, alors cette dernière existera. S’ils arrêtent les serveurs de la V1, alors elle n’existera plus.
    Enfin, il y aura aussi les comportements utilisateur en matière de mise à jour ou non mise à jour (ou installation de la version dédiée à rester en V1) qui impacteront la migration également.

Voilà ma compréhension des rouages coté migration.

7 Likes

La bascule vers la V2 se fera, de toute façon.
Certains devs voudrait une acceptation suffisante de la communauté, d’autre n’ont pas envie d’attendre indéfiniment. Le pourcentage d’utilisateur consentant n’est pas défini, il s’agit plutôt de s’assurer que l’information de cette bascule est bien répartie sur le globe, et bien comprise.

C’est la mise à jour des nœuds forgeront qui initiera la bascule, si certains forgerons n’acceptent pas cette mise à jour alors les utilisateurs pourrons continuer d’utiliser césium V1 sur ces nœuds entrainant des confusions et malentendus lors des payements. Ce qu’on cherche à éviter au maximum.

4 Likes

Merci @Natha pour tes questionnements : ils permettent à tout le monde de mieux comprendre et de mieux expliciter cette migration vers DUNITERV2s

Car effectivement, initiée il y a presque 2 ans, cela semble essentielle pour que la June perdure et crée le monde que nous voulons : libre. Une monnaie libre et humaine :pray:

car ils se rendent compte que c’est un travail voué à l’échec d’essayer de maintenir ce qui a été un P.O.C. en 2017 et qui ne peut plus tenir la route maintenant :pray:

Et si tous les devs ne te répondent pas directement … tampis… peut-être ils font confiance aux communicants, peut-être … bref … merci pour tes questions :pray:

1 Like

Merci beaucoup pour tous ces éclaircissements et développements qui me paraissent très intéressants et me permettent de me faire une représentation générale des divers facteurs en jeu.
Je crois d’ailleurs que ce sont des éléments importants sur lesquels se baser pour communiquer sur la transition vers la V2.

Combien de forgerons V2 devrait-il y avoir pour la faire tourner correctement?
Est-ce que ce sera beaucoup plus difficile techniquement d’être forgeron V2 par rapport à la V1?

Merci Paola! Il me semble que pour communiquer correctement, ce doit déjà être clair pour nous.

En effet, je crois qu’ils pourraient servir de départ pour avoir un panorama actuel permettant de réfléchir aux directions à prendre.

1 Like

Correctement pour l’usage quotidien, j’imagine que 5 à 10 suffiraient largement, peut-être même moins.
En revanche, pour prendre confiance dans le fait qu’on puisse résister à des tentatives de déstabilisation technique ou sociale, 50 à 100 forgerons me sembleraient pas mal (de l’ordre de 1% du nombre de membre, même si j’imagine que si un jour on atteint le million, avoir 2 000 forgerons me semblerais déjà pas mal alors que c’est 5 fois moins que 1%)

Oui : le focus n’est pas le même.
Sur la V1 l’idée était de permettre à un maximum de monde d’être forgerons pour sécuriser par le nombre.
Là, le nombre garde son importance, mais nous avons pris conscience qu’un grand nombre peu formé/rigoureux/conscient de ce qui peut se jouer en termes d’attaques représente un risque (d’ingénierie sociale notamment) plus grand et qu’un plus petit nombre, très rigoureux/fiable, devrait apporter davantage de sécurité (mais un grand nombre rigoureux/fiable, formé, conscient des enjeux, ça serait l’idéal).

Dans la V2 pour être forgeron, il faut :

  1. déjà faire tourner un nœud miroir pour montrer qu’on en est techniquement capable.
  2. être membre de la toile de confiance
  3. accepter une charte spécifique ajoutant des engagements en matière de pratique de sécurité bien plus poussé que la charte/licence des membres de la Ǧ1
  4. être certifié forgeron par 3 forgerons
  5. Avoir l’intension de garder son nœud en ligne H24 7J/7 derrière une connexion internet fiable (fibre généralement)
  6. En cas de panne (ou vacances ou déménagement), être en mesure de remettre son nœud en ligne en moins de 3 semaines (à vérifier pour le délai), sans quoi les certifications forgeron périmeront et il faudra reprendre depuis le point 1.

Pour plus de détail en anglais :
https://duniter.org/wiki/duniter-v2/#start-forging-blocks

4 Likes

Je me suis permis de reprendre tes explications dans le doc de présentation de la V2 : Qu'est-ce que la V2 de la Ğ1 - CodiMD
Je la complèterai en ajoutant les fantasmes que génère cette sous toile.

2 Likes

Il y a peutêtre des choses à grapiller par ici :
https://pad.p2p.legal/rml18-communication#Synthèse-du-contenu-à-communiquer-à-la-communauté-selon-1000i100
J’ai essayé de faire court tout en y mettant ce qui me semblait essentiel.

4 Likes