Question about the proof of work

Hi,

I’ve read the FAQ about the Duniter inner woorking and I have two questions.

  1. June is a proof of work crypto currency so a node must consume energy and the hardware have a cost. What is the counterpart of hosting a Duniter Node ?
  2. Unlike Bitcoin the winner to write a block in the blockchain is computed with a custom difficulty. How we can be sure the computation of this custom difficulty is not modified in the source code of a Duniter node instance ?

Vous pouvez me répondre en français :slight_smile:

Merci !

Bonjour et bienvenue,

La difficulté personnalisée permet de limiter le coût de la PoW. En pratique <5% du CPU d’un Raspberry Pi peut suffire.

Duniter v2 (en développement) n’aura pas de PoW.

La difficulté détermine un sous-ensemble de hashes autorisés pour le bloc. Chaque nœud vérifie que le hash d’un bloc correspond bien à la difficulté de l’auteur du bloc, et la difficulté personnalisée fait partie du stockage protocolaire que chaque nœud possède.

Si je triche sur ma difficulté, mon bloc sera rejeté par les autres nœuds. J’imagine que c’est exactement comme Bitcoin sur ce point.

[edit] cf Duniter | Is Duniter energy consuming ?

2 Likes

La difficulté personnalisée permet de limiter le coût de la PoW. En pratique <5% du CPU d’un Raspberry Pi peut suffire.

Vous ne répondez pas à la question !
Même si le matériel nécessaire est moins gourmand, il y a quand même un coût énergétique, un coût matériel et un coût de maintenance conséquents !
Qui finance cette dépense et comment ?!
C’est une question fondamental !

La difficulté détermine un sous-ensemble de hashes autorisés pour le bloc. > Chaque nœud vérifie que le hash d’un bloc correspond bien à la difficulté de l’auteur du bloc, et la difficulté personnalisée fait partie du stockage protocolaire que chaque nœud possède.
Si je triche sur ma difficulté, mon bloc sera rejeté par les autres nœuds. J’imagine que c’est exactement comme Bitcoin sur ce point.

Et bien je suis au regret de vous annoncer que ce n’est absolument pas fiable et bien différent du Bitcoin qui lui est fiable !!
Dans Duniter, le choix du mineur est modifié par rapport au Bitcoin pour répartir la charge de façon plus homogène sur les nœuds grace au paramètre

diff = powMin*exFact + handicap ou powMin représente la puissance du matériel utilisé pour miner…

Je n’ai qu’à modifier le code source de mon instance Duniter pour mettre un powMin petit alors que j’ai un matériel beaucoup plus puissant et je suis assuré de miner plus que les autres ! Qui peut vérifier quel est mon powMin ??
C’est juste un exemple de bidouille que l’on peut faire et je suis certain qu’en creusant un peu plus le sujet on peut trouver d’autres bidouilles qui n’inspire absolument pas confiance en cette monnaie !!
Le/les créateurs du Bitcoin ne sont pas fous, le code de minage est pur et infalsifiable car il repose sur un preuve de travail pur et dur, pas sur un subterfuge fumeux pour répartir la charge de travail suivant la puissance du matériel.

Aussi, seule les gens appartenant à la dite « Toile de confiance » peuvent créer de la monnaie…
Ça s’appelle une caste en fait !
Une caste qui a le droit de créer de la monnaie, ça va à l’encontre même de la philosophie de cette monnaie qui ne devient absolument pas décentralisée puisque qu’elle repose sur un nombre de nœuds limités dont seuls les cooptés peuvent appartenir.
Une caste, c’est bien le terme qui faite passée par une « toile de confiance ».
Ne serait-ce pas plutôt une toile de privilégiers ?

Celui qui fait tourner un nœud Duniter !

J’ai la sensation que vous melanger ecriture de bloc et création monétaire.
Participez vraiment à quelques rencontres et vous comprendrez beaucoup mieux.

1 Like

Qui finance cette dépense et comment ?!

Celui qui fait tourner un nœud Duniter !

Sans contre-partie ? Par altruisme ?
Je veux bien que ce soit du travail bénévol mais à moment donné il faut acheter le matériel, l’énergie et passer du temps de maintenance logiciel et matériel.
Donc pour faire fonctionner la June, il faut injecter de l’énergie, de la matière première et du temps, cela ne peut pas se faire ex-nihilo sans contre-partie.

J’ai la sensation que vous melanger ecriture de bloc et création monétaire.

Effectivement c’est comme ça que fonctionne le Bitcoin, par incitation à écrire les blocs dans la blockchain car ça demande du travail et tout travail mérite récompense (d’où la notion de minage).
La DU n’est pas générée par les utilisateurs mais bien par le nœuds Duniter donc seuls les ayant droits créent de la monnaie.
D’ailleurs j’aimerai bien connaître le coût énergétique de l’écriture journalière de la DU dans la blockchain, quand le nombre d’utilisateurs va augmenter, ce coût risque d’exploser et les temps de transaction avec, surtout si le nombre de nœuds est limité !

Participez vraiment à quelques rencontres et vous comprendrez beaucoup mieux.

C’est déjà fait car je croyais en cette solution mais je vois que ça ne tient pas la route techniquement si l’on creuse un temps soit peu.

En plus, dans ces rencontres l’idéologie l’emporte bien souvent sur la rationalité…

Si les personnes qui peuvent faire tourner Duniter sont en nombre limité, rien ne les empêche de se mettre d’accord pour s’octroyer gracieusement des compensations en June directement sur leur “compte”.
Il n’y a même pas besoin que tout le monde se mette d’accord, il en suffit de 51%.

De toute façon, il est complètement inadmissible que seul un groupe de privilégiés, la caste dite de confiance, puissent écrire dans la blockchain.
C’est toute la différence entre un système centralisé auquel la June tente d’échapper, et un système décentralisé dont seul le Bitcoin peut se prévaloir pour l’instant !

Pour rappel, le Bitcoin est open-source, fonctionne sur la PoW et l’incitation à participer à l’écriture des blocks par récompense de BTC (d’où le terme de minage).

Il y a aussi la monnaie Pi Network qui est beaucoup plus sérieuse et a beaucoup plus d’avenir que la June car cette monnaie est co-créé par tous les utilisateurs quand ils l’utilisent même si les concepts sous-jacents ne sont pas dans mon éthique, ils n’en restent pas moins équitables et techniquement plus fiable que la June.

Bonjour @ZoQ et merci pour vos interventions. A la lecture de vos différents posts je me pose vraiment les questions :

  1. Etes vous juniste ?
  2. connaissez- vous le fonctionnement de la ML June ? https://monnaie-libre.fr/ et https://duniter.fr/ et donc de la forge ?
  3. Vous faites souvent référence à d’autres cryptomonnaies. Alors pourquoi vous interessez-vous à la June ?
  4. La plus importante : quel est le but/objectif/souhait… de vos interventions ?

Vous êtes ici sur le forum Technique, qui échange sur tout l’environnement technique de la June. Peut-être vos interventions s’adressent plus au forum des utilisateurs/trices ? https://forum.monnaie-libre.fr

1 Like

Il y a une caisse de dons qui s’appelle Remuniter et qui permet de donner une contrepartie en Ğ1 aux personnes qui calculent des blocs. Mais sinon effectivement, c’est uniquement par altruisme, autrement dit une participation au commun numérique qu’est la blockchain. Ceux qui peuvent participer avec une machine et le souhaitent le font, ceux qui veulent donner des Ğ1 le font, rien n’est obligatoire et pourtant ça fonctionne.

Cf la réflexion ici : Comment partager équitablement cette ressource commune qu'est la blockchain Ğ1?

1 Like

Le coût de la PoW est négligeable devant le coût de tout le reste, contrairement au bitcoin où la PoW est le plus coûteux.

[edit] oui, 1% de la consommation électrique d’un Raspberry Pi ça fait moins de 1€/an donc par altruisme ça ne me choque pas [/edit]

Les règles de validation de la difficulté sont dans ce document.

La difficulté (nombre de zéros en préfixe du hash) minimale d’un bloc est déterminée en fonction d’une difficulté globale et (en gros, je ne sais plus les détails) du temps depuis lequel l’auteur a écrit un bloc pour la dernière fois.

Dans Cesium, onglet réseau (et il faut peut-être activer le mode expert), on peut voir la difficulté personnalisée des forgerons. On observe qu’immédiatement après avoir écrit un bloc, elle atteint une valeur qui rend la PoW pratiquement impossible.

Il faut ajouter à ça l’exclusion du tiers des forgerons sur une fenêtre glissante (si on est 30 forgerons et que j’écris un bloc, je devrai attendre 10 blocs avant de pouvoir en écrire un nouveau).

Je vous invite à faire l’expérience de faire tourner la PoW de Duniter à 100% et de comparer votre taux d’écriture de blocs avec d’autres forgerons réguliers. Il sera peut-être légèrement supérieur parce que ce n’est pas parfait, mais vous n’obtiendrez pas les pleins pouvoirs par ce biais.

C’est grâce à cette hypothèse (que chaque clé publique membre est contrôlée par un être humain unique et indépendant) que la PoW personnalisée fonctionne.

Duniter v2 n’aura plus de PoW mais reposera sur BABE/GRANDPA qui peut sembler moins chimérique et plus fiable et économe.

3 Likes