Besoin d'aide ?

Les bases de la blockchain - Proof of Work

Dans cet article, nous allons parler de l'une des technologies ou composants blockchain les plus importants, Proof-of-Work. La preuve de travail est le composant révolutionnaire de la blockchain qui empêche les doubles dépenses.

Qu'est-ce que la double dépense?

Pour comprendre quel problème la preuve de travail résout, il faut d'abord comprendre quel est le vrai problème.

La double dépense est une action illégale sur la blockchain, où un Bitcoin est dépensé plus d'une fois.

Dans le monde physique, Bob donne une image à Alice. Depuis que Bob a donné la photo à Alice, il ne possède plus la photo. Bob ne peut pas donner la même image à John qu'Alice la possède maintenant. 

Dans le monde numérique, Bob envoie un e-mail avec la photo à Alice. Bob possède toujours la photo sur son ordinateur et il peut envoyer la même photo à John. De cette façon, il a envoyé l'image deux fois et peut continuer à le faire indéfiniment.

C'était un gros problème avec la monnaie numérique dans le passé. Comment éviter d'envoyer deux fois la même monnaie numérique? Et comment empêcher quelqu'un de simplement copier-coller ses pièces virtuelles indéfiniment. La preuve de travail a résolu ce problème.

What is proof of work double spend

Qu'est-ce qu'une preuve de travail (Proof of Work)?

Proof of Work ou PoW, en bref, est une méthode de confirmation des transactions sur la blockchain aussi appelée minage. 

Blockchain est un registre distribué (base de données) des blocs passés. Blockchain est distribué sur le globe par des nœuds qui permettent la décentralisation. L'une des fonctionnalités du nœud consiste à ajouter de nouveaux blocs à la blockchain, ces nœuds sont appelés mineurs. Seuls les nœuds qui sont prêts à dépenser des ressources de calcul peuvent ajouter de nouveaux blocs à la blockchain.

Comment fonctionne réellement la preuve de travail?

Avec PoW, les mineurs résolvent des mathématiques, fonctions à sens unique. Plusieurs mineurs s'affrontent simultanément. Celui qui résout la fonction en premier, obtient une récompense financière et sa solution est diffusée à tous les autres nœuds.

Avec SHA256, on peut obtenir Y à partir de X, mais on ne peut pas récupérer X de Y. C'est ce qu'on appelle une fonction à sens unique et est souvent utilisée en cryptographie. Adresse du portefeuille Bitcoin, par exemple, est une sortie d'une clé privée, qui est hachée dans une sortie SHA256.

Exemple de mot haché “NiceHash”:
D22df564d771ed4e6785029de215e9f9e2affe9bbe37bacc8544c32f0a162ba3

Mot NiceHash agit comme une clé privée et la sortie est une clé publique. Il serait pratiquement impossible d'inverser la fonction et de découvrir ce que cela signifie sans la clé privée ou les données d'entrée.

Notez que Sha256 peut être utilisé avec une quantité infinie de données, il peut même être utilisé avec des images. 

Essayez-le vous-même:

Si un mineur a des données d'entrée, il obtient une longue chaîne aléatoire, qui ne peut pas être inversée. Mais blockchain utilise une autre chaîne appelée nonce (nombre utilisé une seule fois). En utilisant un nonce, un mineur peut manipuler la sortie SHA256 pour deviner la sortie souhaitée.

Le réseau Blockchain définira par exemple une sortie souhaitée pour commencer par 6 zéros, par exemple: 000000c49ede7f965ba8e7e6419d6efb0afc99e7ecd10095b286310ca55a6355

Le mineur devinera littéralement le nonce jusqu'à ce que la sortie de hachage du bloc commence par 000000. C'est ce que font les mineurs, ils combinent les transactions de bloc en tant qu'entrée de données puis devinent le nonce, jusqu'à ce que la sortie SHA256 commence par 000000.

Entrez des données aléatoires dans le formulaire ci-dessous et essayez de trouver un hachage qui commence par quatre zéros (0000) en devinant le nonce:

Time to solve the block: 0.861 sec

Ou appuyez simplement sur MINE pour trouver automatiquement le bon nonce.

Notez qu'il s'agit d'une version simplifiée.Un mineur doit également inclure la sortie de hachage de bloc précédente dans l'entrée de données à côté des données de transaction. Aussi, avec une difficulté croissante, le nombre de zéros augmente, ce qui fait que deviner le nonce correct est moins susceptible de se produire, il est donc plus difficile de deviner le hachage de sortie correct. Il est plus facile de trouver une sortie avec un zéro (0) qu'avec quatre zéros (0000).

ÉCRIT PAR
Marko Tarman
Marko est le spécialiste du matériel de minage et le créateur de contenu de NiceHash. Il a commencé à miner en 2012 avant la sortie des premiers ASIC. Il est passé de GPU mining BTC, LTC à VTC, et même DOGE. Sa slogan de minage: "J'ai 99 problèmes, un mauvais riser est tout"