Bitcoin Forum
June 22, 2024, 08:15:27 AM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Demande d'éclaircissement par rapport à la proof of work  (Read 449 times)
Aceton484 (OP)
Full Member
***
Offline Offline

Activity: 210
Merit: 100

Blocklancer - Freelance on the Blockchain


View Profile WWW
July 07, 2017, 09:19:58 AM
 #1

Bonjour,

Il existe un certains nombre de moyens d'apporter un consensus au sein d'une blockchain, dont la proof of work. Celle-ci consiste à trouver la "réponse" à un "problème cryptographique" via un calcul.

Si je devais faire une métaphore, c'est comme si on chiffrait un fichier sur son PC, et qu'on le proposait à un réseau de PC qui doivent faire la course pour le déchiffrer via des attaques par bruteforce. On nomme "difficulté" la complexité du mot de passe qui a servi à chiffrer le fichier et qui doit être trouvé par la adhérents au réseau. (Je révise en même tempsqe je pose les questions  Roll Eyes)

Sauf que j'ai énormément du mal à conceptualiser le shmilblick.

Par exemple, en toute logique, celui qui trouve la réponse sera celui qui a le plus gros calculateur. Comment un particulier peut-il résoudre un calcul qu'un industriel mettra 1000000000x moins de temps à résoudre ? En sachant du coup que si le type d'en face gagne la course, je suppose que les compteurs sont remis à zero. Donc on se retrouve avec des "lambda" qui courent sans cesse face à des olympiens... Si ce que je disais été vrai, alors il suffirait d'avoir la plus grosse, pour finir toujours numéro 1 et ainsi gagner à coup sur les royalties en BTC issuent du bloc miné. Sauf que je sais que cela ne peut pas fonctionner comme sa puisqu'il y aurait la main mise du plus gros calculateur sur tout le réseau........ Huh

Egalement, je lis souvent que ce calcul est lié au hash du bloc. Sauf que la production du bloc est postérieur à la découverte de cette dite preuve de calcul. Donc comment résoudre un problème cryptographique... alors qu'il n'existe pas encore ?

Je m'excuse si je suis peu clair, mais j'ai beau lire et relire, cela ne rentre toujours pas  Grin

ceric35
Hero Member
*****
Offline Offline

Activity: 585
Merit: 500



View Profile
July 07, 2017, 11:24:41 AM
 #2

Ce n'est pas un probème de puissance pure. C'est une lotterie. Donc un gros pool de mineur à plus de chance, mais ca ne veut pas dire qu'un lamda n'a pas sa chance non plus, même si elle est plus faible.

Egalement, je lis souvent que ce calcul est lié au hash du bloc. Sauf que la production du bloc est postérieur à la découverte de cette dite preuve de calcul. Donc comment résoudre un problème cryptographique... alors qu'il n'existe pas encore ?

Non, un block est contisuté et on essaye de trouver un nonce pour ce bloc.
S'il est trouvé, il sera publié mais le calcul se fait forcement sur un bloc déjà constitué.
Coin++
Sr. Member
****
Offline Offline

Activity: 810
Merit: 444


View Profile
July 10, 2017, 07:16:27 AM
 #3

Bonjour,

Il existe un certains nombre de moyens d'apporter un consensus au sein d'une blockchain, dont la proof of work. Celle-ci consiste à trouver la "réponse" à un "problème cryptographique" via un calcul.

Si je devais faire une métaphore, c'est comme si on chiffrait un fichier sur son PC, et qu'on le proposait à un réseau de PC qui doivent faire la course pour le déchiffrer via des attaques par bruteforce. On nomme "difficulté" la complexité du mot de passe qui a servi à chiffrer le fichier et qui doit être trouvé par la adhérents au réseau. (Je révise en même tempsqe je pose les questions  Roll Eyes)

Sauf que j'ai énormément du mal à conceptualiser le shmilblick.

Par exemple, en toute logique, celui qui trouve la réponse sera celui qui a le plus gros calculateur. Comment un particulier peut-il résoudre un calcul qu'un industriel mettra 1000000000x moins de temps à résoudre ? En sachant du coup que si le type d'en face gagne la course, je suppose que les compteurs sont remis à zero. Donc on se retrouve avec des "lambda" qui courent sans cesse face à des olympiens... Si ce que je disais été vrai, alors il suffirait d'avoir la plus grosse, pour finir toujours numéro 1 et ainsi gagner à coup sur les royalties en BTC issuent du bloc miné. Sauf que je sais que cela ne peut pas fonctionner comme sa puisqu'il y aurait la main mise du plus gros calculateur sur tout le réseau........ Huh

Egalement, je lis souvent que ce calcul est lié au hash du bloc. Sauf que la production du bloc est postérieur à la découverte de cette dite preuve de calcul. Donc comment résoudre un problème cryptographique... alors qu'il n'existe pas encore ?

Je m'excuse si je suis peu clair, mais j'ai beau lire et relire, cela ne rentre toujours pas  Grin

Celui qui remporte le bloc, c'est celui qui trouve en premier le nombre inférieur à celui de la difficulté.
A ce jeu, chacun à sa chance, puisque ce n'est pas une course de vitesse, donc de puissance, mais juste une question de hasard (ce pourquoi certains parlent de loterie).

La seule chose que tu puisses faire pour augmenter tes chances de gagner, c'est de jouer un plus grand nombre de fois et, encore mieux, jouer un plus grand nombre de fois dans un laps de temps le plus petit possible : c'est là que la puissance de calcul revient en jeu en augmente la probabilité de remporter le bloc. Mais la probabilité du particulier n'est jamais égale à zéro.
Comme le dis notre bandit national : "100% des gagnants ont tentés leur chance".
Du moment que tu mines, tu peux gagner.
Aujourd'hui la difficulté est telle qu'un particulier à une probabilité très faible de gagner, c'est pour cela que les particuliers se regroupent en "pools" de minage puis se redistribuent les gains en fonctions de leur "shares".

Pour te donner une idée de ta probabilité de remporter un bloc en solo-mining, esaie d'évaluer ce que tu gagnerai par jour avec ton GPU (difficile car comme plus personne ne mine BTC au GPU, il n'y a plus de repères) ou ton ASIC et compare ces quelques satoshis aux 12,5 btc que rapporte un bloc.
Par exemple :
Ton mineur rapporte 1000 satoshis par jour, soit 0,00001 btc par jour.
1 bloc rapporte 12,5 btc
Pour savoir quelle est ta probabilité de rapporter quelque chose (un bloc) en solomining, il faut faire le rapport 12,5/0,00001 = 1.250.000 jours, soit 3425 années :-).
Je nous souhaite longue vie.

My favorite faucets to earn real free bitcoins/satoshis : Moon BitCoin and Bit Fun.
You want some free AltCoins ? It's here : BCH (Bitcoin Cash) Moon BitCoinCash - DASH (Dash) Moon Dash - DOGE (DogeCoin) Moon DogeCoin - LTC (LiteCoin) Moon LiteCoin.
You want some free LBC (Lbry Credits) ? My LBC invite : Lbry.tv - LBC (Lbry Credits).
Aceton484 (OP)
Full Member
***
Offline Offline

Activity: 210
Merit: 100

Blocklancer - Freelance on the Blockchain


View Profile WWW
July 10, 2017, 11:53:10 AM
 #4

Je ne comprend pas ce principe de hasard ou de loterie. Si on donne une équation, un calcul à une entité qui doit le résoudre alors je ne vois pas où est-ce que le hasard peut jouer. Plus ton PC est puissant, plus il résout vite le calcul...

Je comprend peut-être mon incompréhension. Quand on me dit qu'il faut résoudre un calcul, personellement je vois une équation, ce qui explique que sa résolution dépend uniquement de la puissance de ton unité de calcul.
Mais j'ai une autre hypothèse. Si ce calcul c'est le fait de devoir trouver le "mot de passe", la solution, le nounce du prochain bloc, alors peutêtre qu'il ne s'agit pas d'une équation, mais d'un simple bruteforce sur le mot de passe. Du coup là je comprendrais la notion de hasard :
- Un gros PC pourra essayer une quantité importante de solution "au hasard" en connaissant simplement des paramètres (et non l'équation) : la longeur de la chaine de caractère par exemple.
- Un petit PC pour essayer une quantité moins importante de solution "au hasard" en connaissant les mêmes paramètres. Il pourra cependant entrer un nombre de solution inférieure à un PC plus puissant ce qui réduit la probabilité qu'il trouve la solution. Mais une probabilité étant ce qu'elle est, peut-être que la première solution du plus petit PC du monde sera bonne.
La je comprendrais la notion de hasard. Du coup à quoi cela ressemble le plus : bruteforce ou équation ?
Mais du coup il y a un autre problème à mon raisonnement. S'il s'agit simplement de trouver un mot de passe, alors je vois pas comment la notion de difficulté peut s'appliquer puisque justement, le hasard fait que la solution sera peut-être trouvé dans la première minute...

Si je suis sur la bonne piste est que la résolution ressemble plus à du bruteforce, comment un mineur peut-il calculer un rendement ? Là je me doute qu'intervient les notions de "probabilités" et de "statistiques", mais en fait un mineur prend donc le risque... de ne jamais gagner ? Pourtant de ce que j'avais compris, lorsque l'on souhaite miner on peut quand même calculer un rendement par rapport à notre capacité de calcul. Donc je suppose que même si on trouve pas la solution (le nounce) on à une rémunération ?


Pour te donner une idée de ta probabilité de remporter un bloc en solo-mining, esaie d'évaluer ce que tu gagnerai par jour avec ton GPU (difficile car comme plus personne ne mine BTC au GPU, il n'y a plus de repères) ou ton ASIC et compare ces quelques satoshis aux 12,5 btc que rapporte un bloc.
Par exemple :
Ton mineur rapporte 1000 satoshis par jour, soit 0,00001 btc par jour.
1 bloc rapporte 12,5 btc
Pour savoir quelle est ta probabilité de rapporter quelque chose (un bloc) en solomining, il faut faire le rapport 12,5/0,00001 = 1.250.000 jours, soit 3425 années :-).
Je nous souhaite longue vie.
Si mon raisonnement est bon, alors ta phrase devrait être mis au conditionnel. Un mineur rapporterait 1000 satoshis par jour, si et seulement si, il trouve le nounce du bloc suivant.

Nouvelle interrogation du point de vue de l'ordre dans lequel tout ceci se passe.
Lorsque les mineurs cherchent la solution, ils sont en train de plancher sur le bloc suivant. Est-ce que les transactions en cours sont intégrés au bloc précédent, dont on a déjà trouvé la solution, ou au bloc dont la solution est en train d'être cherché ? Dans le second cas, puisque la solution du bloc n'a pas été trouvé, je suppose que les transactions ne peuvent être immédiatement inséré, elles doivent donc être stocké quelque part. Ou sont-elles stockées ?

cooly78
Sr. Member
****
Offline Offline

Activity: 602
Merit: 264


View Profile
July 10, 2017, 11:58:42 AM
 #5

En clair, t'as plus de chance de gagner à l'euromillion que de miner seul :p
Mallyx
Hero Member
*****
Offline Offline

Activity: 1138
Merit: 574



View Profile
July 10, 2017, 02:59:07 PM
 #6

Je ne comprend pas ce principe de hasard ou de loterie. Si on donne une équation, un calcul à une entité qui doit le résoudre alors je ne vois pas où est-ce que le hasard peut jouer. Plus ton PC est puissant, plus il résout vite le calcul...

[...]

Pour ta comprehension, en version très simplifié:

Le mineur prend des informations sur le block précedent, et les transactions en cour. Il hash tout ça et obtiens une suite hexadécimale.
Sachant que la difficulté du reseau est aussi représentée par un hexadécimale.

Pour faire un block valide, le mineur va prendre son hash, puis ajouter un 0, puis hasher de nouveau pour obtenir encore un hexa.
Si ce nouvelle hexa est plus petit que celui de la difficulté, alors le block est validé par le reseau. Sinon il doit recommencer l'operation avec un 1 au lieu du 0, puis un 2, 3, 4, ... à l'infini jusqu'à ce qu'il soit bon.
Ce nombre que l'on incremente c'est le "nonce".

Il ne s'agit pas d'une équation à resoudre, ni de hasard, mais d'une simple course de rapidité.
ZenFr
Legendary
*
Offline Offline

Activity: 1260
Merit: 1046



View Profile
July 11, 2017, 12:17:18 PM
 #7

La confection des blocs est quasi instantanée et ne fais pas appel à de la puissance.
Donc, pour départager, il y a en plus une contrainte : parvenir à un nombre inférieur à la difficulté.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!