Outils pour utilisateurs

Outils du site


issue83:qu_est-ce_que_c_est

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue83:qu_est-ce_que_c_est [2014/09/02 23:56] andre_domenechissue83:qu_est-ce_que_c_est [2014/09/11 21:30] (Version actuelle) – [12] fcm_-_ekel
Ligne 9: Ligne 9:
 Another essential feature is that each input will give a completely different hash, even for a very small difference. “MyHash” and “myHash” will give completely different outputs.** Another essential feature is that each input will give a completely different hash, even for a very small difference. “MyHash” and “myHash” will give completely different outputs.**
  
-Le record des transactions est protégé par différent mécanismes, mais l'un des principaux est un algorithme de hachage. Nous parlerons de la raison pour cela plus tard. Un algorithme de hachage n'est qu'une fonction qui transforme n'importe quelles données de n'importe quelle taille en un résultat d'une longueur pré-déterminée. Un très simple algorithme de hachage serait : « compter le nombre de caractères dans les données saisies et mettre assez de zéros devant ce nombre pour arriver à un total de 10 chiffres ». Par exemple, le résultat du traitement de « un mot » avec cet algorithme serait 0000000006. Cet algorithme ne fonctionnera que pour des données de moins de 9999999999 caractères et est ainsi, dans ce sens un algorithme de hachage limité qui ne fonctionne qu'à partir d'un domaine particulier.+Le grand livre des transactions est protégé par différent mécanismes, mais l'un des principaux est un algorithme de hachage. Nous parlerons de la raison pour cela plus tard. Un algorithme de hachage n'est qu'une fonction qui transforme n'importe quelle donnée de n'importe quelle taille en un résultat d'une longueur pré-déterminée. Un très simple algorithme de hachage serait : « compter le nombre de caractères dans les données saisies et mettre assez de zéros devant ce nombre pour arriver à un total de 10 chiffres ». Par exemple, le résultat du traitement de « un mot » avec cet algorithme serait 0000000006. Cet algorithme ne fonctionnera que pour des données de moins de 9999999999 caractères et est ainsi, dans ce sens un algorithme de hachage limité qui ne fonctionne qu'à partir d'un domaine particulier.
  
-Une fonction de hachage qui est souvent utilisée pour les opérations bancaires en ligne est la SHA256, qui transforme toute entrée en sortie binaire d'une longueur de 256 bytes (ou 64 caractères hexadécimaux, la représentation la plus usuelle). Cela est très intéressant, car il est très facile de générer un hachage pour n'importe quelles données, c'est presque impossible  de trouver des « collisions » (deux entrées différentes qui donnent le même résultat), le hash ne peut pas être décompilé pour obtenir le contenu d'origine et, bien entendu, les mêmes données entrées généreront toujours le même hachage.+Une fonction de hachage qui est souvent utilisée pour les opérations bancaires en ligne est la SHA256, qui transforme toute entrée en sortie binaire d'une longueur de 256 bytes (ou 64 caractères hexadécimaux, la représentation la plus usuelle). Cela est très intéressant, car il est très facile de générer un hachage pour n'importe quelle donnée, c'est presque impossible  de trouver des « collisions » (deux entrées différentes qui donnent le même résultat), le hash ne peut pas être décompilé pour obtenir le contenu d'origine et, bien entendu, les mêmes données entrées généreront toujours le même hachage.
  
 Une autre de ses caractéristiques essentielles est que chaque entrée aura comme résultat un hachage complètement différent, même si les différences sont minimes. « MyHash » et « myHash » donneront des résultats totalement différents. Une autre de ses caractéristiques essentielles est que chaque entrée aura comme résultat un hachage complètement différent, même si les différences sont minimes. « MyHash » et « myHash » donneront des résultats totalement différents.
Ligne 37: Ligne 37:
 The problem can only be solved if the entire network can agree on a transaction order.** The problem can only be solved if the entire network can agree on a transaction order.**
  
-Un problème supplémentaire de sécurité : l'Ordre des transactions+Un problème supplémentaire de sécurité : l'Ordre des Transactions
  
 Maintenir l'ordre des transactions est difficile. Parce que de nouvelles transactions sont propagées continuellement sur le réseau, le scénario suivant devient possible : Maintenir l'ordre des transactions est difficile. Parce que de nouvelles transactions sont propagées continuellement sur le réseau, le scénario suivant devient possible :
Ligne 67: Ligne 67:
 A Transaction that has been put into the latest block is said to have been confirmed once. A transaction that was put into the block directly before that is said to have been confirmed twice, etc. The reason for that is important, and will be explained in the Block Chain Security sections.** A Transaction that has been put into the latest block is said to have been confirmed once. A transaction that was put into the block directly before that is said to have been confirmed twice, etc. The reason for that is important, and will be explained in the Block Chain Security sections.**
  
-Les blocs de transactions et la chaîne des blocs+Les Blocs de Transactions et la Chaîne des Blocs
  
 La réponse de la monnaie virtuelle à ce problème est de grouper les transactions par blocs qui sont organisés chronologiquement selon leur « hauteur ». La hauteur du premier bloc de transactions est de 0, celle du deuxième bloc est de 1, la hauteur du troisième bloc est de 2, et ainsi de suite. Toutes les transactions dans un bloc sont supposées avoir eu lieu exactement en même temps et sont étiquetées en conséquence. La réponse de la monnaie virtuelle à ce problème est de grouper les transactions par blocs qui sont organisés chronologiquement selon leur « hauteur ». La hauteur du premier bloc de transactions est de 0, celle du deuxième bloc est de 1, la hauteur du troisième bloc est de 2, et ainsi de suite. Toutes les transactions dans un bloc sont supposées avoir eu lieu exactement en même temps et sont étiquetées en conséquence.
  
-Ainsi, les blocs fournissent un ordre chronologique des transactions et la chaîne des blocs, validée de façon dynamique par la puissance de traitement du réseau peer-to-peer, s'appelle la Chaîne des blocs. Les transactions qui n'ont pas été incorporées dans un bloc sont sans valeur et dites non triées ou non confirmées jusqu'à leur incorporation dans un bloc.+Ainsi, les blocs fournissent un ordre chronologique des transactions et la chaîne des blocs, validée de façon dynamique par la puissance de traitement du réseau peer-to-peer, s'appelle la Chaîne des Blocs. Les transactions qui n'ont pas été incorporées dans un bloc sont sans valeur et dites non triées ou non confirmées jusqu'à leur incorporation dans un bloc.
  
 On dit d'une transaction qui a été incorporée dans le bloc le plus récent, qu'elle a été confirmée une fois. On dit d'une transaction qui a été incorporée dans le bloc précédent le bloc le plus récent, qu'elle a été confirmée deux fois, etc. La raison pour tout cela est importante et je l'expliquerai dans les sections concernant la sécurité d'une chaîne de blocs. On dit d'une transaction qui a été incorporée dans le bloc le plus récent, qu'elle a été confirmée une fois. On dit d'une transaction qui a été incorporée dans le bloc précédent le bloc le plus récent, qu'elle a été confirmée deux fois, etc. La raison pour tout cela est importante et je l'expliquerai dans les sections concernant la sécurité d'une chaîne de blocs.
Ligne 268: Ligne 268:
 Supposons que je veuille modifier l'ordre officiel des transactions en faisant en sorte qu'une transaction qui figurait dans le Bloc 10 soit mise dans le Bloc 14, me permettant ainsi de dépenser l'argent deux fois. Je peux essayer de créer un fork au niveau du Bloc 10. Afin de créer ce fork, j'ai besoin de : Supposons que je veuille modifier l'ordre officiel des transactions en faisant en sorte qu'une transaction qui figurait dans le Bloc 10 soit mise dans le Bloc 14, me permettant ainsi de dépenser l'argent deux fois. Je peux essayer de créer un fork au niveau du Bloc 10. Afin de créer ce fork, j'ai besoin de :
 * créer une autre version du Bloc 10, Bloc 10B, qui contient les transactions voulues ainsi que le hash du Bloc 9 ; * créer une autre version du Bloc 10, Bloc 10B, qui contient les transactions voulues ainsi que le hash du Bloc 9 ;
-* pour ce faire je dois très rapidement trouver un nonce qui rendra le hash de mon nouveau blonc conforme aux conditions de la monnaie (difficile) ;+* pour ce faire je dois très rapidement trouver un nonce qui rendra le hash de mon nouveau bloc conforme aux conditions de la monnaie (difficile) ;
 * ensuite, je dois créer le Bloc 11B, avec le hash du Bloc 10B, en trouvant le nonce ; * ensuite, je dois créer le Bloc 11B, avec le hash du Bloc 10B, en trouvant le nonce ;
-* et ainsi de suite jusqu'à ce que je créee le Bloc 15B.+* et ainsi de suite jusqu'à ce que je crée le Bloc 15B.
  
 SI j'ai réussi cette prouesse AVANT QUE le véritable Bloc 15 de la chaîne principale ne soit créé, alors mon nouveau fork deviendra la chaîne la plus longue et sera donc acceptée comme chaîne principale. SI j'ai réussi cette prouesse AVANT QUE le véritable Bloc 15 de la chaîne principale ne soit créé, alors mon nouveau fork deviendra la chaîne la plus longue et sera donc acceptée comme chaîne principale.
issue83/qu_est-ce_que_c_est.1409694998.txt.gz · Dernière modification : 2014/09/02 23:56 de andre_domenech