Article sur la preuve de travail Duniter


#1

Voilà qui est fait, avant de publier j’ai besoin d’un(e) volontaire pour corriger les erreurs de typo directement sur github, vous serez rémunérer 15 Ğ1 pour cela :slight_smile:

https://github.com/duniter/website_fr/blob/wiki-pow-details/content/pages/wiki/duniter/preuve-de-travail.md


Présentation de Remuniter
#2

Je m’y colle là maintenant. :wink:


#3

Done.


#4

Article publié :

merci @jytou pour la relecture (je t’ai envoyé les 15 Ğ1 :wink: )


#5

Et merci pour le document qui va bien aider du monde à comprendre je pense, je t’ai envoyé 1 DU. :stuck_out_tongue:


#6

Des schéma pour montrer les différents cas serait encore un plus !


#7

J’ai une question : pourquoi le nonce est écrit en décimal et pas hexadécimal ?


#8

Il n’y a pas de raison particulière, j’ai fait au plus simple pour moi.

Mais d’ailleurs, qu’aurait apporté cette base par rapport au décimal ? Et pourquoi pas la Base58 par exemple ?


#9

Ma question vient de l’ignorance de comment sont encodés les blocs. Je m’attendais à ce que ce soit des blobs binaires avec une structure bien définie, et que le nonce soit un sous ensemble de bits. Si c’est le cas, alors on gâche de la place (mais c’est vraiment un détail).


#10

==> https://fr.wikipedia.org/wiki/Système_hexadécimal

“En effet, chaque chiffre hexadécimal correspond exactement à quatre chiffres binaires (ou bits), rendant les conversions très simples et fournissant une écriture plus compacte.”
:wink:


#11

Petit génie, pourquoi a ton avis aies-je parlé de la base58 dans le même message ?


#12

Chouette explication
Bravo


#13

Ça viendra, du moins des courbes d’exemple de variation de diff dans le temps, quand j’aurais intégrer ça a monit je placerai une screen ou deux dans l’article :wink:


#14

Merci pour cet article @elois.
Du coup, si j’ai bien compris, il faut encourager à faire tourner duniter sur des raspberry (ou autre processeur peu puissant) pour faire diminuer la difficulté commune et ainsi réduire l’impact énergétique de duniter. Et donc décourager l’utilisation de processeur trop puissant ?

En attendant, la Proof of Patience à la place de la Proof of Work ! Comme abordé ici Abandonner la preuve de travail grâce a la toile de confiance?


#15

Non pas du tout, je me contente dans cet article de décrire le fonctionnement de l’existant, pas ce qu’il “faudrait” faire, d’ailleurs je suis le 1er a injecter de la puissance dans le réseau :wink:


#16

Oui l’article ne fait que décrire le fonctionnement. Mais personnellement, j’en déduis que plus les nœuds duniter dans le réseau sont puissants plus la difficulté commune va augmenter (pour garder l’objectif de 5 minutes de calcul du défi) et donc plus le réseau duniter va être énergivore.
C’est pour cela qu’il me semble pertinent de promouvoir l’installation de duniter sur des ordinateurs peu puissant.
C’est mon côté écolo qui parle…


#17

On est loin d’avoir exploré toutes les pistes, à mon avis il se peut même qu’on soit capables de rester en preuve de travail très longtemps si l’on creuse encore plus l’idée de la preuve personnalisée.

Il se peut même que l’on puisse produire l’un des systèmes distribués les plus efficients qui soient, avec un paroxysme atteint quand un maximum de membres “joue le jeu”, mais avec un mode un peu plus consommateur en preuve en cas d’attaque. Un beau système dynamique.


#18

Bonjour,
J’ai une question sur l’article cité, sur le chapitre collé ci-dessous:

La question :
“et dont le 5ème caractère est 9 (car on commence à F (index 0), puis on descend … E(1), D(2), C(3), B(4), A(5), 9(6))” --> pourquoi le 5e caractère est-il 9 ? Ne peut-il pas être aléatoire ?

Comment s’applique la difficulté

La valeur numérique de la difficulté correspond directement à une plage d’empreintes possibles parmi toutes les empreintes possibles. Dans duniter v1.5.x l’empreinte d’un bloc c’est le hash hexadécimal sha256 du bloc. Ce qui veut dire que chaque caractère de l’empreinte n’a que 16 valeurs possibles : les chiffres de 0 à 9 et les lettres de A à F.

Pour interpréter une difficulté il faut effectuer la division euclidienne de cette difficulté par 16. Exemple avec 70 :

70 // 16 = 4 reste 6. Donc les empreintes valides sont celles qui commencent par 4 zéros et dont le 5ème caractère est 9 (car on commence à F (index 0), puis on descend … E(1), D(2), C(3), B(4), A(5), 9(6)). On écrit alors que les empreintes valides commencent par : 0000[0-9]


#19

@raken c’est une coquille, la bonne forumlation est : “dont le 5ème caractère est inférieur ou égal à 9”.
D’ailleurs ça se devine avec la notation 0000[0-9] que tu a copier/coller, le [0-9] représente l’intervalle :wink:


#20

D’accord du coup je comprends que si le reste de la div euclidienne est 5, le 5e caractère est compris entre 0 et A. J’ai bon ?