Présentation technique de Duniter au DevFest Nantes 2019

@bpresles @AdrienL je viens de visionner votre présentation et de nombreux points sont imprécis voire incorrects, je vous prie de bien vouloir prendre en compte les remarques qui suivent pour ne pas refaire les mêmes erreurs dans d’éventuelles futures présentations :slight_smile:

Aussi, ayez la rigueur de vérifier au préalable tout ce que vous allez affirmer, cela implique que si vous n’êtes pas sûr d’un point il vaut mieux ne rien en dire que de dire quelque chose de faux. (Et cas de question sur ce point, dites honnêtement que vous ne savez pas).

Mes retours :

NB : j’ai bien pris en compte qu’il s’agit d’un public technique et j’ai déjà exclu les points qui me dérangeaient dans votre approche mais qui ne sont pas erronés.

Diapo 3 : le mail est à ranger dans la catégorie des « réseaux décentralisés », et non « centralisés ». D’ailleurs vu votre découpage en trois types de réseaux juste avant vous auriez dû ranger les blockchains dans votre catégorie “réseaux distribués”.

D10 : La mise à jours d’une blockchain se fait par consensus et minage −> non, d’ailleurs vous dites bien juste après qu’il y a plusieurs mécanismes de consensus différents, et tous ne nécessitent pas le minage.

Le terme “miner” est incorrect : le terme “miner” viens de l’analogie avec les mines d’or, le minage c’est le fait de créer de la monnaie en trouvant le prochain bloc. Rien à voir avec la preuve de travail, qui est juste un mécanisme de consensus (qui peut être corrélé ou non avec le mécanisme de création monétaire).

S’il vous plaît n’utilisez pas le terme “miner” dans vos présentations sur Duniter/Ğ1, préférez le terme “forger”.

D11 : Un seul nœud trouvera le bon hash → c’est faux. D’une part il n’y a pas le bon hash mais une plage de hashs valides. D’autre part, il y a bien des cas où plusieurs nœuds peuvent trouver un bon hash en même temps.

D12 : Vous parlez du cas du bitcoin sans le préciser explicitement. Plus globalement, vous mélangez trop ce qui relève du bitcoin de ce qui relève de Duniter/Ğ1, ce qui fait que même en suivant avec une parfaite concentration, la personne qui ne connaît pas Duniter/Ğ1 ne peut pas dissocier les deux.
Surtout qu’à la diapo suivante vous présentez du code spécifique à Duniter/Ğ1, ce qui laisse croire à tort que ce qui vient d’être dit dans la diapo d’avant concerne Duniter/Ğ1.

D13 : les extraits de code ne sont pas issus du protocole contrairement à ce que vous affirmez mais au code de Duniter, l’implémentation historique du protocole. Pour rappel, le protocole c’est ça : rfc/0009_Duniter_Blockchain_Protocol_V11.md · master · nodes / common / doc · GitLab

D13 : Incompréhension de ce qu’est le préfixe. Il aurait été préférable de poser la question ici avant, ou de ne pas parler du préfixe. Il ne sert pas du tout à gérer une éventuelle explosion de la difficulté. De plus, parler du préfixe dans une présentation de découverte de Duniter/Ğ1 n’a aucune plus-value, c’est un détail technique qui n’a à mon humble avis pas sa place dans une présentation ciblant un public qui ne connaît pas Duniter/Ğ1.
Le préfixe sert uniquement à éviter que plusieurs nœuds avec la même clé ne calculent les mêmes preuves, c’est présent uniquement pour permettre aux membres qui le souhaitent d’avoir leurs nœuds membres sur plusieurs machines. Même remarque pour nonceBeginning, un détail qui n’a pas sa place dans une présentation à un public découvrant Duniter/Ğ1.

D18 : il est faux de dire que la toile de confiance permet d’identifier les nœuds, elle permet d’identifier les membres, c’est très différent. Un membre peut avoir plusieurs nœuds et un nœud peut ne pas être membre (nœuds miroirs).

D19 : La façon de présenter laisse croire que la WoT a été mise en place pour mettre en place une difficulté personnalisée −> c’est faux c’est une conséquence heureuse de la WoT, mais sa raison d’être est uniquement de s’assurer que chaque être humain n’a qu’un seul compte membre afin qu’il ne crée qu’un seul DU par jours (symétrie spatiale).

D21: En fait si le tout dernier bloc compte, j’ai moi-même fait l’erreur, car la subtilité c’est de clarifier ou est l’observateur de cette fenêtre courante (à quelle étape), cf ce thread : Problème fenêtre courante dans Remuniter, Cesium et Silkaj - #5 by elois

D27 : “un RPi3 trouve environ un bloc tous les trois jours et ce sera toujours comme ça” => c’est faux. On voit bien en observant les statistiques de pwMin que plus il y a de nœuds membres plus powMin augmente, donc une machine donnée trouvera de moins en moins de blocs. D’ailleurs à l’époque les RPi3 trouvaient en moyenne un bloc par jour :wink:
Si le nombre de membres calculant continue d’augmenter sans cesse, alors viendra un jour ou RPi ne trouveront qu’un bloc par mois, par ans, etc

D28 : la création monétaire journalière n’est pas “distribuée à parts égales”, chaque membre cocréer sa part de monnaie, c’est une distinction sémantique très importante.

D29 : le “chapeau” sur le Ğ se nomme une brève : Brève — Wikipédia
D29: chaque membre “perçoit” un DU −> non, chaque membre créer un DU.

Césium 34’: “toucher” un DU → “distribuer/percevoir/toucher”, vous êtes, vraiment dans le domaine sémantique de la réception et pas de la création, ce qui a pour conséquence de faire rater le point essentiel de la Ğ1: le fait de devenir créateur de sa part de monnaie.

En conclusion, le plus gros tord de cette présentation est de n’avoir pas clairement séparé la partie concernant le bitcoin de la partie concernant Duniter/Ğ1, en passant de l’un à l’autre constamment cela embrouille et ne permet pas de distinguer ce qui relève du bitcoin de ce qui relève de Duniter/Ğ1.

Il aurait été préférable de faire une première partie dédié au bitcoin, en introduisant tous les concepts communs entre Duniter/Ğ1 et bitcoin mais sans parler de Duniter/Ğ1 (blockchain, Consensus, Proof-of-Work) puis dans une seconde partie de parler que de Duniter/Ğ1 et plus du tout du bitcoin (pour bien séparer ce qui relève de l’un ou de l’autre).

Un autre point qui manque, ce qui est embêtant vu que ça concerne l’axe central de cette présentation (pour d’autres types de présentation sur Duniter/Ğ1 ce manquement ne serait pas du tout gênant) : le fait de ne pas avoir dit que le motif de hash à obtenir n’est pas qu’un nombre de zéro mais qu’il y a une contrainte sur le dernier caractère du motif afin de gérer plus finement la difficulté que dans bitcoin.
D’ailleurs, le public averti remarquera le hic, une difficulté de 89 demande cinq zéros, et la fin on voit une difficulté de 91 qui demande aussi cinq zéros, donc la difficulté ne pose pas comme seul contrainte un nombre de zéros.

4 Likes