18/05/2017

Série de Dialogic sur la Blockchain #1

Vous pourriez ne pas vous y attendre, mais la pierre angulaire d'une blockchain ressemble fortement à quelque chose que nous possédons tous : une empreinte digitale. Les empreintes digitales numériques garantissent qu'aucune entité ne peut prendre le contrôle d'une blockchain. Mais comment cela fonctionne-t-il exactement? Il est temps de passer aux mathématiques...

Ce texte a été traduit automatiquement et peut donc différer de l'original. Aucun droit ne peut être dérivé de cette traduction.

💬 Click here to read this page in English.

Comment fonctionne une blockchain? Partie 1: empreinte digitale

Une empreinte digitale est unique. Si vous avez l'empreinte digitale d'une personne, vous pouvez facilement vérifier si cette empreinte digitale appartient à une personne spécifique. Si vous avez seulement une empreinte digitale, il est (sans une liste préalable d'empreintes digitales collectées) pratiquement impossible de retrouver la personne correspondante sans passer en revue les empreintes digitales de toutes les personnes. Mathématiquement, il est également possible de déterminer l'empreinte digitale d'un morceau d'information.

Hachage

Une telle empreinte digitale, également appelée hachage, forme la base d'une blockchain. Pour comprendre pourquoi les empreintes digitales sont si importantes, il est essentiel de comprendre d'abord leur fonctionnement.

N'importe qui peut déterminer l'empreinte digitale d'un morceau d'information en calculant une somme mathématique (complexe). Peu importe la longueur de l'information (tout comme les empreintes digitales des gens ne dépendent pas spécifiquement de leur taille!). Si vous avez l'information et l'empreinte digitale, vous pouvez facilement vérifier s'ils correspondent.

Pour Bitcoin, une blockchain dédiée aux transactions financières, la méthode de hachage dite 'SHA-256' est utilisée. Vous pouvez par exemple calculer vous-même l'empreinte SHA-256 d'un texte sur ce site. Par exemple, le hachage du texte "Tommy" est:

5bee7cef227fe327178bd04bb7cc75ba9a36f1b8867ba1025430761a226539e9.

Maintenant, changeons la majuscule en minuscule : quelle est la signature de "tommy"?

044f4b3501cd8e8131d40c057893f4fdff66bf4032ecae159e0c892a28cf6c8e

Même si une seule lettre diffère, l'empreinte est complètement différente! Ce n'est pas illogique : votre empreinte et celle de votre frère ou de votre sœur seront complètement différentes, même si vous vous ressemblez beaucoup.

Si je vous donnais seulement l'empreinte "044f4b.." mentionnée ci-dessus, la seule méthode pour savoir à quel texte elle appartient serait de parcourir tous les textes possibles. Ce n'est qu'après de nombreux essais que vous découvririez que l'empreinte correspond au texte "tommy". Les mathématiciens appellent cette méthode d'empreinte unidirectionnelle : calculer l'empreinte d'une information est facile, mais trouver l'information à partir d'une empreinte est presque impossible.

Preuve de travail

La randomisation des hachages permet de les utiliser pour une application intéressante. Comme mentionné précédemment, les lettres et les chiffres dans l'empreinte sont très aléatoires. Mathématiquement, la probabilité qu'une empreinte d'un texte donné commence par un '0' est de 1 sur 16. Si je vous demandais de trouver un texte dont l'empreinte commence par un '0', vous devriez en moyenne essayer seize textes (et éventuellement plus si vous êtes malchanceux!). Si je vous demandais de trouver une empreinte commençant par deux zéros, cela vous coûterait en moyenne 16 x 16 = 256 tentatives; en effet, si le premier chiffre est '0', il n'y a qu'une seule chance sur 16e que le second chiffre soit '0'.

Le nombre de zéros avec lesquels un hachage commence donne donc une indication sur le nombre de textes que vous avez (en moyenne) dû essayer avant d'obtenir ce hachage. Un tel hachage peut donc être utilisé comme une sorte de 'preuve de travail' (proof of work). Si vous me montrez un texte dont l'empreinte commence par deux zéros, je saurai que vous avez dû calculer environ 256 hachages.

Revenons à la blockchain : à quoi servent ces empreintes? Dans la blockchain, seuls les nouveaux blocs sont acceptés si vous pouvez prouver que vous avez effectué une certaine quantité de travail de calcul. Cela empêche tout le monde d'ajouter simplement des blocs : la puissance de calcul a un coût et le calcul lui-même prend du temps. Comme il est très coûteux d'avoir toujours plus de puissance de calcul que les autres participants, il est pratiquement impossible de prendre le contrôle exclusif d'une blockchain!

Pour vraiment comprendre comment quelque chose fonctionne, j'aime le démonter complètement et essayer de le remonter moi-même.

En savoir plus sur ce sujet ?

Tommy van der Vorst, partner

Rencontrez Tommy

Demander une offre ?

Si vous avez une question de recherche concrète ou une mission et que vous souhaitez recevoir une offre de notre part, vous pouvez envoyer votre demande par e-mail à tenderdesk@dialogic.nl. Vous pouvez également nous signaler les appels d'offres publics via cette adresse. Nous vous répondrons dans les cinq jours ouvrables.

Plus d'informations