Aller au contenu
buybitcoinsmart

Glossaire / Nœuds et logiciels

Client léger

Aussi appelé Client léger bitcoin, Thin client.

Qu'est-ce qu'un client léger ?
Un client léger est un portefeuille qui ne détient aucune copie de la blockchain et demande aux serveurs d'autres personnes ce qui est arrivé à vos adresses.

En pratique, presque toutes les applications bitcoin sur téléphone en sont un. La chaîne complète a dépassé 759 Go en août 2026, ce qu'aucun téléphone ne stockera, donc le portefeuille conserve au plus quelques mégaoctets d'en-têtes de blocs et externalise le reste. Le confort est réel, et la facture aussi : quelqu'un d'autre apprend vos adresses, et vous ne pouvez pas confirmer par vous-même ce qu'il vous dit.

Comment cela fonctionne

Les clients légers se répartissent en trois familles, et elles divulguent des quantités différentes de renseignements sur vous.

La plus ancienne demande à un nœud complet de filtrer à sa place. Selon le BIP37, le portefeuille téléverse un filtre de Bloom décrivant ce qui l'intéresse, et les pairs renvoient les transactions correspondantes avec les preuves de Merkle qui les rattachent aux blocs. Ce ne fut jamais aussi privé qu'annoncé : des travaux universitaires présentés en 2014 ont montré que les filtres livraient les adresses qu'ils étaient censés cacher. Bitcoin Core a désactivé cette fonction par défaut dans la version 0.19.0, publiée en novembre 2019, parce que servir ces filtres était aussi un moyen facile de saturer le disque d'un nœud.

La famille la plus courante demande simplement à un serveur. Les portefeuilles qui parlent le protocole Electrum envoient à un serveur une empreinte de chaque adresse qu'ils surveillent, et le serveur répond avec l'historique et le solde. C'est instantané et cela fonctionne sur une mauvaise connexion mobile, raison pour laquelle tant de logiciels l'utilisent. Cela signifie aussi qu'un seul opérateur détient une liste complète de vos bitcoins, de vos adresses et de l'adresse IP depuis laquelle vous vous êtes connecté.

La famille la plus récente inverse le sens du filtrage. Selon les BIP157 et BIP158, les nœuds calculent un filtre compact pour chaque bloc et le publient, et le portefeuille télécharge ces filtres et décide lui-même quels blocs semblent pertinents avant de les récupérer en entier. Personne n'apprend ce que vous cherchez. Bitcoin Core peut servir ces filtres depuis la version 0.21.0 en janvier 2021, et Neutrino est l'implémentation qu'utilisent la plupart des portefeuilles Lightning mobiles.

La plupart de ces portefeuilles conservent une chaîne d'en-têtes de blocs de 80 octets, ce qui leur permet de savoir qu'un bloc existe et porte une preuve de travail. Avec environ 960 000 blocs, cette chaîne pèse à peu près 77 Mo, assez peu pour un téléphone et inutile pour vérifier si les transactions contenues dans ces blocs étaient valides.

Où cela se voit

Ouvrez un portefeuille qui a fini de s'installer en moins d'une minute et vous regardez un client léger.

La défaillance à surveiller n'est pas le vol. Vos clés restent sur votre appareil, et un serveur ne peut rien dépenser ni inventer un paiement assorti d'une vraie preuve de travail. Ce qu'un serveur peut faire, c'est rester muet. Il peut omettre un paiement que vous avez reçu, afficher un solde périmé ou, s'il est malveillant plutôt que simplement en panne, vous fournir une chaîne qu'un vrai nœud aurait rejetée. Détecter tout cela exige précisément ce qu'un client léger n'a pas.

La voie de la mise à niveau est courte. La plupart des portefeuilles de bureau, et plusieurs portefeuilles mobiles, peuvent pointer vers votre propre nœud au lieu d'un serveur public, ce qui supprime entièrement la fuite de vie privée et ne coûte rien de plus que le matériel que vous avez déjà acheté.

Client léger vs vérification simplifiée des paiements

La vérification simplifiée des paiements est une technique ; un client léger est une catégorie de logiciels, et beaucoup des seconds ne mettent pas en œuvre la première. Une véritable vérification simplifiée des paiements consiste à construire une chaîne d'en-têtes à partir de la preuve de travail et à vérifier une branche de Merkle par rapport à elle avant de croire quoi que ce soit. Le portefeuille de bureau Electrum fait exactement cela avec les réponses que lui donnent ses serveurs. Un très grand nombre d'applications qui empruntent un serveur Electrum ne le font pas, et affichent simplement le solde qu'on leur a remis, même lorsque le marketing parle de "SPV wallet". Si vous voulez savoir quel type vous utilisez, regardez s'il synchronise ne serait-ce que les en-têtes.

À ne pas confondre avec

Questions fréquentes

Un client léger peut-il voler mes bitcoins ?

Le serveur ne le peut pas, parce que vos clés privées ne quittent jamais votre appareil et qu'il n'a aucun moyen de signer quoi que ce soit. Il peut mentir par omission, cacher un paiement ou afficher un solde périmé, et il apprend quelles adresses vous appartiennent.

Quels portefeuilles légers divulguent le moins ?

Ceux qui utilisent les filtres de blocs compacts des BIP157 et BIP158, parce que le portefeuille télécharge les filtres et décide localement quoi récupérer au lieu de nommer vos adresses à un serveur. Pointer n'importe quel portefeuille vers votre propre nœud supprime entièrement la fuite.

À lire ensuite

Termes associés

Plus de termes : Nœuds et logiciels

Lire cette page en anglais