Pré-requis mathématiques pour Bitcoin (side-quest)

Arithmétique modulo, fonctions de hash, courbes elliptiques, loi des grands nombres — les 4 briques mathématiques nécessaires pour suivre la série Dans les rouages de Bitcoin, expliquées à l'intuition, sans formule lourde.

sommaire · 5 sections

Tu es là parce que tu as cliqué sur « pré-requis maths » depuis un article de la série Dans les rouages de Bitcoin . Cet article ne fait pas partie de la série elle-même — il est posé sur le côté, comme un side-quest dans un jeu vidéo : tu viens y chercher ce qui te manque, et tu repars où tu en étais.

On va voir quatre briques : l’arithmétique modulo, les fonctions de hash, l’intuition d’une courbe elliptique, et la loi des grands nombres. Pas un cours — juste l’idée de chaque chose, et pourquoi Bitcoin en a besoin. Si tu connais déjà l’une des quatre, saute la section.

Arithmétique modulo : l’horloge qui boucle

Tu sais lire une horloge. Pose l’aiguille des heures sur 11, avance de 3 heures : l’aiguille se retrouve sur le 2. Pas sur le « 14 » — le cadran n’a que douze cases, et après 12, on repart de zéro. Tu viens de faire de l’arithmétique modulo 12, sans le savoir : (11 + 3) mod 12 = 2. L’horloge oublie les tours complets, elle ne retient que le reste.

Formellement : a mod n est le reste de la division de a par n. L’horloge fait mod 12, mais on peut faire mod n’importe quel entier : 27 mod 12 = 3, 100 mod 7 = 2, 42 mod 5 = 2. C’est la même idée d’« horloge », juste avec un cadran à 7, à 5, ou à 78 chiffres décimaux.

Dans ce monde, l’addition et la multiplication continuent de marcher comme tu en as l’habitude. (8 + 9) mod 12 = 17 mod 12 = 5 — l’horloge pointe sur 5. Et (4 × 5) mod 12 = 20 mod 12 = 8. Tu peux additionner, multiplier, élever à la puissance, tout reste cohérent à l’intérieur des « 12 cases » de l’horloge.

Ce qui change, c’est la division. Dans le monde normal, 1 / 3 = 0,333…. Dans un monde modulo, il faut chercher le nombre qui, multiplié par 3, donne 1 modulo n. Ça existe parfois, ça n’existe pas d’autres fois. C’est plus subtil, et c’est exactement la subtilité que Bitcoin exploite.

Pourquoi Bitcoin : tous les calculs cryptographiques de Bitcoin se font dans un univers modulo un nombre p énorme — environ 2²⁵⁶, soit 78 chiffres décimaux. À cette taille, deviner où on est en faisant des essais devient physiquement impossible : il y a plus de positions à essayer qu’il n’y a d’atomes dans le système solaire. C’est cette taille qui fait toute la sécurité.

Fonctions de hash : la machine à empreintes

Une fonction de hash prend n’importe quoi en entrée — un mot, un livre, un fichier de 10 Go — et sort un nombre de taille fixe. La fonction utilisée par Bitcoin (SHA-256) sort toujours 256 bits, qu’on lui donne « bonjour » ou « À la recherche du temps perdu » en entier.

ENTRÉE (taille libre)FONCTIONSORTIE (256 bits, fixe)« bonjour »7 caractèresSHA-2562cb4b1…9ae23e18«Bonjour »1 bit changéSHA-2569172e8…9493bc44≈ 50 % des bits diffèrent« À la recherchedu temps perdu »SHA-2564c7fcb…7119b86eTROIS PROPRIÉTÉSdéterministemême entrée → même sortieirréversiblepas d'inverse calculablesans collisiondeux entrées → deux sorties
Une fonction de hash prend une entrée de taille libre et produit une empreinte de taille fixe. Trois propriétés en font un outil cryptographique : déterminisme, irréversibilité, résistance aux collisions.

Trois propriétés font de SHA-256 un outil utile en cryptographie, et pas juste un compresseur de données :

  1. Déterministe — la même entrée donne toujours la même empreinte. Toujours.
  2. Irréversible en pratique (one-way) — depuis l’empreinte seule, retrouver l’entrée qui l’a produite demande, en moyenne, d’essayer la moitié de toutes les entrées possibles. À 256 bits, c’est ≈ 2²⁵⁵ essais — autant dire jamais.
  3. Résistante aux collisions — trouver deux entrées différentes qui donnent la même empreinte est aussi infaisable. C’est ce qui empêche un attaquant de fabriquer deux blocs avec la même empreinte pour en substituer un à l’autre.

Petit détail qui parle : un seul bit changé en entrée fait basculer environ la moitié des bits en sortie. Tu hash « bonjour », tu hash « Bonjour », et les deux empreintes n’ont pratiquement rien en commun. On appelle ça l’effet avalanche — c’est ce qui empêche de « bricoler » l’entrée pour viser une sortie particulière.

Pourquoi Bitcoin : trois choses au moins. (1) La preuve de travail consiste à trouver une entrée dont le hash commence par beaucoup de zéros — pas d’astuce possible, il faut essayer (cf. BTC-A-03 minage à venir). (2) Les empreintes de bloc lient les blocs entre eux : modifier un vieux bloc casse toute la chaîne après lui. (3) Les adresses Bitcoin sont des hash de clés publiques — on partage l’empreinte, on garde la clé.

Courbe elliptique : la serrure à sens unique

On arrive à la brique la plus exotique. Pas de panique : on va rester dans l’intuition.

Une courbe elliptique est une courbe dans un plan, définie par une équation du genre y² = x³ + ax + b. Bitcoin utilise une courbe spécifique appelée secp256k1, dont l’équation est y² = x³ + 7. Visuellement, ça ressemble à une parabole couchée sur le côté, avec un point de rebroussement à gauche :

y² = x³ + 7sur les réels · doublement de Gxy-10123-3G(générateur)T2G = G + Gtangente à la courbe en G → intersection T → réflexion verticale = 2G
La courbe y² = x³ + 7 sur les réels. G est le point générateur fixé par le standard secp256k1 ; la construction montre comment on calcule 2G = G + G par la méthode de la tangente.

Ce qui rend ces courbes spéciales, c’est qu’on peut définir une opération qu’on appelle « addition de points » dessus. Pas une addition coordonnée par coordonnée, non — une opération géométrique. Le schéma montre le cas qui nous intéresse directement pour Bitcoin : additionner un point à lui-même. On part du point G (le générateur, fixé par le standard secp256k1, coordonnées publiques, identiques pour tous), on trace la tangente à la courbe en G, on regarde où cette tangente recoupe la courbe ailleurs (le point T), et on retourne ce point miroir par rapport à l’axe horizontal — on obtient un nouveau point qu’on appelle 2G = G + G. C’est bizarre, c’est arbitraire, mais c’est bien défini : à partir d’un G donné, le 2G qui en résulte est unique.

La règle se généralise pour deux points distincts : au lieu d’une tangente, on trace la sécante (la droite passant par les deux), on prend la 3ᵉ intersection avec la courbe, on la réfléchit. Tangente = cas particulier où les deux points coïncident. Dans les deux cas, on obtient un troisième point sur la courbe — c’est ce qu’on appelle « additionner » sur la courbe.

Une fois qu’on sait additionner, on peut itérer : 3G = 2G + G, 4G = 3G + G (ou plus malin : 4G = 2G + 2G), et plus généralement, pour n’importe quel entier k, le point k · G est défini comme G additionné à lui-même k fois. Pour des k astronomiques (10⁷⁷), on accélère en doublant astucieusement — mais l’idée reste qu’on parcourt la courbe en sautant de point en point.

Et voici l’astuce qui fonde Bitcoin. Si tu choisis un grand nombre k au hasard — typiquement 256 bits, donc ≈ 10⁷⁷ — et que tu calcules P = k · G, tu obtiens un nouveau point P sur la courbe, parmi les ≈ 2²⁵⁶ points possibles.

  • Aller de k à P, c’est facile. Quelques microsecondes sur un téléphone.
  • Aller de P à k, c’est impossible en pratique. Aucun raccourci connu. Il faudrait essayer tous les k possibles — ≈ 2²⁵⁶, soit plus que le nombre d’atomes dans la galaxie. Tous les ordinateurs du monde réunis n’y arriveraient pas avant la fin de l’univers.

On appelle ce problème le logarithme discret sur courbe elliptique (ECDLP). Si demain quelqu’un trouvait une astuce pour le résoudre vite, Bitcoin serait cassé, ainsi que toutes les communications HTTPS, les passeports biométriques, et la moitié des systèmes cryptographiques modernes. Personne n’a trouvé en 40 ans.

Pourquoi Bitcoin : k est ta clé privée, P est ta clé publique. Tu peux partager P au monde entier (c’est la base de ton adresse), personne ne peut remonter à k. Et tu peux prouver que tu connais k sans le révéler — c’est ce qu’on appelle une signature numérique. Tout l’édifice de la propriété sur Bitcoin tient sur cette asymétrie facile/impossible.

Loi des grands nombres : ce que dit « en moyenne »

Dernière brique, plus douce. Quand tu lances une pièce une fois, tu fais pile ou face — l’« espérance » de 0,5 n’a pas de sens dans une seule expérience. Quand tu en lances 10, tu obtiens souvent 6 pile et 4 face, ou 4 et 6 — proche de la moitié, sans y être. Quand tu en lances 10 000, tu seras presque exactement à 50 % de pile, à une fraction de pourcent près.

C’est ça, la loi des grands nombres : plus tu répètes une expérience aléatoire, plus la moyenne observée converge vers la moyenne théorique (l’espérance).

0,30,40,50,60,7101001 00010 000100 000nombre de lancers (échelle log)proportion de pileABCespérance = 0,5
Simulation de lancers de pièce : la proportion de pile mesurée converge vers 0,5 à mesure que le nombre de lancers augmente. Trois trajectoires indépendantes, même comportement asymptotique.

Trois observations à garder :

  1. Le résultat se stabilise. Au-delà d’un certain nombre d’essais, la moyenne arrête de bouger significativement.
  2. Mais elle ne s’y fixe jamais exactement. Même à 1 million de lancers, tu n’auras pas exactement 500 000 pile — tu seras à quelques centaines près. La variance ne disparaît pas, elle devient juste petite devant le nombre d’essais.
  3. Les écarts précoces ne se « compensent » pas. Si tu as 60 pile sur les 100 premiers lancers, les 100 suivants ne vont pas faire 40 pile pour « rééquilibrer » — ils vont faire ~50, comme tous les autres. C’est juste que dans la grande moyenne, ces 10 pile excédentaires deviennent statistiquement insignifiants.

Pourquoi Bitcoin : deux endroits au moins.

  • Minage et difficulté (BTC-A-03 à venir). Chaque tentative d’un mineur est un tirage : son hash est-il sous la target ? oui ou non, presque jamais oui. À très grande échelle (10²⁴ essais par bloc en 2026), le nombre de blocs trouvés par unité de temps suit la loi des grands nombres. C’est pourquoi le protocole ajuste la difficulté tous les 2 016 blocs : pour que la moyenne tienne à 10 minutes par bloc, indépendamment de la puissance brute du réseau.
  • Probabilité de double-spend (BTC-A-05 à venir). Quand on dit qu’« attendre 6 confirmations rend une transaction quasiment irréversible », ce « quasiment » est chiffré : Satoshi a calculé cette probabilité dans le papier de 2008. Elle décroît exponentiellement avec le nombre de blocs — application directe de la loi des grands nombres.

Phrase de transition utile à retenir : un bloc trouvé après 10 essais ou après 10²⁴ essais ne dit pas la même chose sur la quantité de calcul derrière. C’est cette différence d’échelle qui sécurise le réseau.

Aller plus loin

Tu en as assez pour suivre. Reviens à l’article de la série que tu lisais — le lien est dans l’onglet d’à côté. Et si jamais un nouveau mot bloque, reviens ici : ces quatre briques couvrent ≈ 90 % des prérequis de la série.

Cet article ne constitue pas un conseil en investissement.

auto à 80% de scroll
N
nicolas
// rédacteur · solo

J'écris ce blog en français, à raison d'environ un article par semaine. L'objectif n'est pas de vous faire trader, mais de vous donner les outils pour décider seul.

newsletter / weekly

Un article comme celui-ci, chaque dimanche soir. 4 minutes. Pas de bruit.

double opt-in aucune pub /unsub 1 clic
commentaires[] remark42 · auto-hébergé · sans tracker