Maison > web3.0 > Concepts haute fréquence en cours d'apprentissage de la blockchain : fonction de hachage

Concepts haute fréquence en cours d'apprentissage de la blockchain : fonction de hachage

DDD
Libérer: 2024-03-06 13:36:39
avant
702 Les gens l'ont consulté

Si vous voulez en savoir plus sur la technologie blockchain et Bitcoin, vous devez franchir le mur technique et « ouvrir les yeux » d'un point de vue technique pour voir la première application réussie de Bitcoin dans le monde blockchain. Découvrez pourquoi Satoshi Nakamoto peut. être traité d'extraterrestre, et lorsqu'il s'agit de technologie blockchain, nous devons le mentionner Apprenez une connaissance souvent utilisée dans la technologie blockchain - la fonction de hachage.

Les fonctions de hachage sont un moyen de créer une petite empreinte numérique à partir de tout type de données. La fonction de hachage compresse le message ou les données dans un résumé, réduisant ainsi la quantité de données et fixant le format des données. Cette fonction mélange les données et recrée une empreinte digitale appelée valeur de hachage.

Si l'Encyclopédie Baidu et Wikipédia ont vraiment un autre nom, il devrait s'appeler (si professionnel que les gens ne peuvent pas le comprendre) Encyclopédie. Donnez une définition vernaculaire concise de la fonction de hachage : La fonction de hachage est une série de transformations mathématiques complexes avec un nombre fixe de valeurs de sortie.

La transformation ne peut pas être effectuée de manière aléatoire, vous devez suivre le processus suivant :

1. Contenu (données) de n'importe quelle longueur
2 Après cette série de transformations mathématiques complexes mais fixes
3. Données (valeur numérique)

Note de bas de page : Dans le domaine des mathématiques, H() sera utilisé pour représenter la valeur sortie après le changement. Le nom chinois est résumé de message ou empreinte numérique.

Par exemple, dans Bitcoin, la fonction de hachage SHA256 est utilisée lorsque la clé publique génère une adresse. Le « 256 » derrière signifie que la sortie est une donnée de longueur fixe de 256 bits.

Concepts haute fréquence en cours d'apprentissage de la blockchain : fonction de hachage

Aucune transformation mathématique ne peut être qualifiée de fonction de hachage. Pour être mise à niveau vers une fonction de hachage, une transformation mathématique doit remplir trois conditions : unicité, sens unique et solution violente :

1. Le caractère unique de la fonction de hachage

La compréhension intuitive est la suivante : ce n'est qu'en saisissant X que vous pouvez obtenir H(X). Lorsque vous comprenez cette fonctionnalité, vous pouvez considérer la fonction de hachage comme vous et votre empreinte digitale. Vous êtes l'entrée et votre empreinte digitale est la sortie. L'unicité signifie que vous seul pouvez avoir votre empreinte digitale. Dans Bitcoin, cela signifie que vous utilisez une adresse Bitcoin. ne peut être généré qu’avec votre clé publique, tout comme votre empreinte digitale est unique et personne d’autre au monde ne peut générer la même adresse de transfert que vous.

2. La nature unidirectionnelle de la fonction de hachage

La nature unidirectionnelle de la fonction de hachage signifie que H(X) ne peut pas être déduit à l'inverse de X. Si on vous donne une empreinte digitale et que vous n'avez qu'une seule empreinte digitale, vous ne pourrez jamais imaginer si le propriétaire de l'empreinte digitale est un homme ou une femme, ni à quoi il ressemble. Vous pouvez seulement savoir qu'il s'agit d'une empreinte digitale.

La nature unidirectionnelle de la fonction de hachage peut être comprise intuitivement avec une analogie inexacte mais très frappante : devinez qui est le propriétaire du menton ?

Concepts haute fréquence en cours d'apprentissage de la blockchain : fonction de hachage

Le propriétaire de ce menton viril et charmant est-il Bai Yu ? Est-ce Zhang Zhen ? Ou Zhao Youting ? La réponse au mystère est révélée : c'est notre Kunkun préféré, pas Cai Xukun, mais Countryside F4 Xie Guangkun↓

Concepts haute fréquence en cours d'apprentissage de la blockchain : fonction de hachage

En raison de la nature unidirectionnelle de la fonction de hachage, dans Bitcoin, même si notre adresse de paiement est publique, personne ne peut savoir quelle est la clé publique que nous utilisons pour générer l'adresse de paiement, et encore moins savoir quelle est la clé privée qui génère la clé publique.

Il y a un dicton sur le marché selon lequel l'émergence des ordinateurs quantiques rendra Bitcoin sans valeur, mais maintenant vous devez savoir que même si des ordinateurs quantiques apparaissent, il sera toujours difficile de casser la fonction de hachage. La fonction de hachage est ce que Satoshi Nakamoto. créé pour Bitcoin On espère que Bitcoin aura suffisamment de temps pour passer à un algorithme de cryptage résistant aux quantiques.

3. Solution violente de la fonction de hachage

Si vous connaissez la valeur de hachage H(X) et que vous voulez vraiment trouver la valeur d'entrée dans la fonction de hachage, puis voyez si la valeur de hachage de sortie est égale à H(X) ).

Tout comme si vous voulez vraiment savoir à qui appartient une certaine empreinte digitale, vous ne pouvez trouver qu'une seule personne dans le monde et comparer les empreintes digitales de chaque main avec cette empreinte digitale pour voir si elles sont exactement les mêmes sans aucune déviation. 02

En raison de ces trois caractéristiques, la fonction de hachage est devenue une arme entre les mains de Satoshi Nakamoto, l'aidant à résoudre de nombreux problèmes lors de la conception du Bitcoin Dans le livre blanc Bitcoin, en plus de l'introduction et de la conclusion. Dans les 10 chapitres, l'utilisation des fonctions de hachage peut être vue dans presque tous les chapitres.

· Utilisez le caractère unique de la fonction de hachage pour prévenir la fraude - signature numérique

· Utilisez le caractère unique de la fonction de hachage pour améliorer l'efficacité - Récupération par arbre Merkle des enregistrements de transactions

· Utilisez la fonction de hachage unidirectionnel Le sexe est utilisé pour confidentialité - la clé publique génère l'adresse Bitcoin

Utilisez la solution de force brute de la fonction de hachage pour concevoir la preuve de travail de Bitcoin - lorsque la plage est suffisamment grande, il est impossible de trouver le propriétaire de l'empreinte digitale avec une empreinte digitale Mais si vous réduisez la portée, par exemple, si vous effectuez une recherche dans une ville de seulement quelques millions d'habitants, la difficulté sera beaucoup plus petite. Il s'agit du mécanisme d'ajustement de la difficulté de minage de Bitcoin. Si vous souhaitez que la difficulté soit plus élevée, élargissez la portée. si vous souhaitez que la difficulté soit moindre, réduisez un peu la portée.

La fonction de hachage est apparue en 1953, la fonction de hachage a prospéré en 1970 et SHA-256 est apparue en 2001. En 2008, la fonction de hachage a été jouée par Satoshi Nakamoto et est devenue la blockchain La pierre angulaire inébranlable de la technologie.

De ce point de vue, il est quelque peu compréhensible pourquoi les experts et les experts ne peuvent s'empêcher de louer le génie de Satoshi Nakamoto, et même de douter que Satoshi Nakamoto soit un extraterrestre.

À ce stade, même si vous ne comprenez qu'une connaissance de base de la fonction de hachage dans les principes techniques du livre blanc Bitcoin, cela ne vous empêche pas de comprendre 50% de ce que le livre blanc Bitcoin veut exprimer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:zhihu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal