Finances home

Les techniques fondamentaux de la blockchain

La première technique:

Une partie de la difficulté à comprendre le fonctionnement des blockchains tient au fait qu’elles font appel à un assemblage astucieux de techniques parfois complexes. C’est le cas de deux techniques qui sont à l’œuvre dans la plupart d’entre elles : la cryptographie asymétrique et les fonctions de hachage. Il s’agit ici d’exposer ce que garantissent ces techniques et certai-nement pas de détailler leur fonctionnement. 

La cryptographie est l’étude des méthodes de chiffrement permettant de protéger des messages pendant leur transfert entre un émetteur et un récepteur. Elles visent notamment à assurer la confidentialité de ce transfert, mais aussi l’authenticité et l’intégrité du message. Contrairement à l’intuition, la protection de l’information ne repose pas sur le secret de la méthode utilisée, mais sur l’utilisation d’une ou plusieurs clés8. Sans cette information, un message chiffré par une méthode cryptographique sera inutilisable car incompréhensible. Une méthode (ou algorithme) cryptographique a donc deux entrées : une information à chiffrer et une clé. Elle fournit une sortie : l’information chiffrée.

Les blockchains utilisent essentiellement la cryptographie dite asymétrique car celle-ci utilise un couple constitué de deux clés. L’une de ces clés est dite clé publique et l’autre clé privée. La clé publique a vocation à être connue de tous et pas seulement du possesseur de cette clé. La clé privée a elle vocation à rester secrète, connue seulement de son possesseur. Le couple ainsi constitué doit être unique : à une clé publique ne peut correspondre qu’une seule clé privée et réciproquement. Éventuellement, la clé publique est calculée à partir de la clé privée, c’est ainsi qu’est créée la clé publique associée à une clé privée dans le cas du bitcoin.

L’information chiffrée avec une clé publique ne peut être déchiffrée qu’avec la clé privée associée. Ceci peut garantir la confidentialité lors d’un envoi d’information : l’information est chiffrée avec une clé publique, et seul le détenteur de la clé privée associée peut la déchiffrer correctement. Inver-sement, l’information chiffrée avec une clé privée ne peut être déchiffrée correctement qu’avec la clé publique associée. Ceci peut garantir l’authen-tification de l’émetteur d’une information : si on chiffre avec une clé privée une information dans laquelle figure une information convenue (un nom par exemple), cette information convenue ne sera déchiffrée correctement que si elle l’est avec la clé publique associée. On s’assure donc que l’information a bien été envoyée par le propriétaire de la clé privée associée. Nous verrons ultérieurement comment une partie de ces mécanismes est mise en œuvre dans la blockchain du bitcoin.

La deuxième technique:

L’autre technique essentielle aux fonctions des blockchains est celle des fonctions de hachage (hash function10). Elles permettent de calculer l’empreinte (on parle aussi parfois de condensat ou de résumé) d’une information, par exemple un fichier informatique. L’empreinte a une taille fixe11 ne dépendant pas de la taille du fichier d’entrée. En revanche, sa valeur dépend très forte-ment du fichier d’entrée : la moindre altération de celui-ci, par exemple la modification d’un seul caractère à l’intérieur de ce fichier, modifie radicale-ment la valeur de l’empreinte. En ce sens, une empreinte caractérise un fichier.

Les fonctions de hachage dites cryptographiques possèdent en outre la propriété suivante : l’empreinte ne permet pas de connaître le contenu du fichier d’entrée. On dit que ce sont des fonctions à sens unique : étant donné un fichier d’entrée, calculer son empreinte est aisé. L’inverse n’est pas vrai : connaissant une empreinte, il est impossible de retrouver le fichier dont elle est issue. La plupart des fonctions de hachage utilisées ont cette propriété.

Leave a Reply

Your email address will not be published. Required fields are marked *