Les nœuds calculent beaucoup

Bonjour,

Depuis quelques temps je fais le constat suivant : la moitié des noeuds membres caculent en même temps. ma difficulté personnelle est à 112, la difficulté globale à 109. Comme mon noeud calcule à 112 j’en déduis que tous ceux qui sont à 112 et moins calculent soit près de la moitié des noeuds. D’autre part mon noeud calcule presque tout le temps puisque la concurrence est dure pour trouver un bloc. Nous dépensons entre 20 et 30 fois l’énergie nécessaire. Cela donne une grosse résilience mais est-il utile d’en avoir autant ? Mon PC chauffe !

@elois avait fait le constat que nous avions beaucoup plus de serveurs par utilisateur que le bitcoin !

Donc si ton PC chauffe, tu peux l’éteindre ou stopper Duniter, cela ne mettra pas en péril le réseau. :wink:

2 J'aimes

G1 energivore mais c’est récent
il y a quelques mois c’était raisonnable et il y avait plus de serveurs, c’est peut-être corrigeable dans duniter

Je crois qu’il est aussi possible de régler le pourcentage de CPU disponible pour duniter.

1 J'aime

oui mais ça ne fait que rallonger le temps de calcul

Vous avez essayé, genre de le régler à 1%, 5% ou 10% ? L’ordi chauffe encore ?

Si la difficulté personnalisée marche bien, au bout d’un moment ça devrait diminuer la difficulté donc ne pas trop augmenter le temps moyen pour trouver un bloc. Mais j’ai l’impression qu’elle peut être améliorée.

3 J'aimes

Plus un ordi calcule plus il chauffe. Pour qu’il ne chauffe plus il faut l’éteindre.

Ok, donc votre question, c’est pas " comment faire pour que mon ordi chauffe moins" votre question c’est « puis-je éteindre mon ordi sans que ça affecte la sécurité du réseau ».

Oui. C’est le principe de base du consensus par preuve de travail : plus il y a de concurrence sur le calcul de blocs, plus la probabilitè d’une attaque 51% est faible.

Concernant spécifiquement Duniter, avec le mécanisme de difficulté personnalisée, la présence même de faibles noeuds participe à la sécurité du réseau (pour autant que les propriétaires de ces noeuds sachent gérer la sécurité de leur clef privée et de leur noeud, et le maintiennent à jour).

Si donc vous souhaitez que votre noeud ne chauffe pas, éteignez-le comme vous le suggérez, ça fera un beau presse-papier. Si vous voulez sécuriser le réseau en usant faisant moins chauffervotre ordi, paramétrez-le sur 1% du CPU.

Après, je n’ai pas de métrique pour évaluer si le nombre de noeuds est déjà suffisant. La comparaison avec Bitcoin ne me paraît pas pertinente.

1 J'aime

Il me semble même que c’est 2 tiers des nœuds membre qui participe au calcul, c’est le principe de la PoW personnalisée.
Ou alors j’ai rien compris :crazy_face:

2 J'aimes

Les 2/3 des nœuds forgerons récents (en gros) ont le droit d’écrire un bloc à chaque instant, mais même si un nœud n’est pas exclu, il peut ne pas calculer si sa difficulté est trop élevée, et attendre qu’elle redescende.

On ne peut pas savoir exactement combien de nœuds calculent, mais ce doit être entre 1/3 et 2/3 je pense…

2 J'aimes

Je plussoie ce que disent d’autres ici : il vous suffit de mettre le pourcentage de calcul à 1 %. Vous calculerez peut-être légèrement moins de blocs, mais vous participerez à la résilience du réseau sans consommer (beaucoup) trop d’énergie et sans chauffer la maison (quoique en hiver ça peut faire un chauffage utile :stuck_out_tongue: ). C’est d’ailleurs comme ça que ça se passe pour les raspberry pi, qui sont très peu puissants, mais calculent quand même des blocs.

2 J'aimes

certes mais la chaleur c’était pour dire que le PC calculait longtemps, c’était ça le sujet de base de mon post. Pas la chauffe. Du coup on m’apprends des choses que je sais déjà sur le % CPU. Soit je n’ai pas dû me faire bien comprendre, soit il ne faut pas finir ses phrases avec une anecdote. :slight_smile:

Quel est le problème de calculer longtemps à 1 % de CPU ? Ça consomme (presque) rien.

Pour rappel, la résilience du réseau est importante : plus on a de nœuds qui calculent (même à 1 %), plus il est difficile pour un attaquant de s’accaparer un pourcentage significatif de nœuds et donc de devenir dangereux.

1 J'aime

Question bête, a-t-on besoin de passer par la preuve de travail, puisque si j’ai bien compris elle ne sert qu’a dire « preums » pour le calcul du bloc.
Y aurait-il pas un autre moyen moins gourmand tel que le tirage au sort (fait par Duniter) avec des pénalités (ou exclusion des tirages) pour ceux qui viennent de forger.
Je ne sais pas si cela est réalisable, peut-être que ça demande même la réécriture totale de Duniter, j’en sais rien. Et peut-être même que ça a déjà fait part d’une discussion.

Autre point qui me semble important dans cette discussion est le nombre de nœuds et notamment leurs répartition géographique.
Il y en a actuellement 2 à la Guadeloupe et 1 à la Réunion (de ce que je connais, mais peut-être plus) et certainement bientôt au Québec…, en cas de problèmes réseau dans un coin ou l’autre du monde, cette répartition me paraît nécessaire.

1 J'aime

Il existe d’autres systèmes (ce sont des algos de consensus, nécessaires pour savoir quel bloc doit être écrit et quand), comme la Proof of Stake (PoS), dont je n’ai pas compris le principe mais qui semble-t-il est plus économe.

On pourrait faire un tirage au sort en générant un nombre à partir du hash du bloc précédent, de la fenêtre courante et de la liste des membres. Ce nombre permettrait d’établir l’ordre de priorité des forgerons (si deux blocs arrivent, est choisi celui dont le forgeron arrive en premier dans la liste). Il faudrait alors soit que les nœuds refusent les blocs arrivés trop tôt (je ne sais pas si c’est sécurisé), soit que les premiers nœuds de la liste fassent une PoW (ça serait donc juste une PoW plus restreinte).

Dans le second cas, comment on fait si les premiers membres de la liste n’ont pas de nœud ?

On pourrait aussi établir la liste des forgerons en se déclarant dans la blockchain (quand un nœud démarre, il envoie un document disant qu’il est prêt à forger le bloc d’après), mais cela créerait une inertie supplémentaire dont il faut analyser les conséquences.

1 J'aime

c’est quelques chose que tu aurai put vérifier avec l’outils loupe ^^

J’ai fait, et j’ai pas trouvé, mais il se peut que je n’ai pas utilisé les bons mots dans la recherche…

1 J'aime

le choix des mots conditionne en effet le résultat. j’ai pas de bonne idée sur la question.

2 J'aimes

De ce que j’ai compris, la « proof of stake » se base sur une condition de ressource en nombre d’unités sur le compte. Les comptes ayant le plus de monnaie sont prioritaires et de confiance, car ce système part du principe que celui qui accumule le plus de monnaie a le plus confiance en la dite monnaie et n’ira pas contre elle, puisqu’il risque de perdre son capital. En bref, c’est la priorité au plus riche pour l’écriture dans la blockchain.

Tiré de Wikipedia :

Alors que la preuve de travail (PoW) demande aux utilisateurs d’exécuter plusieurs fois les algorithmes de hachage ou de calculer des puzzles mathématiques selon des algorithmes pour valider les transactions électroniques2, la preuve d’enjeu demande à l’utilisateur de prouver la possession d’une certaine quantité de crypto-monnaie (leur « participation » dans la crypto-monnaie) pour prétendre à pouvoir valider des blocs supplémentaires dans la chaîne de bloc et de pouvoir toucher la récompense, s’il y en a une, à l’addition de ces blocs.

5 J'aimes