Les pools sont des groupements de mineurs individuels qui collaborent pour augmenter leurs chances de trouver des blocs valides, et ainsi recevoir des récompenses plus régulières. Mais connaissez-vous réellement le fonctionnement de ces pools de minage sur Bitcoin ? Dans cet article, nous étudions en détail leurs mécanismes, leurs protocoles de communication ainsi que les méthodes utilisées pour calculer les rémunérations établies sur les shares.
Comment fonctionne le minage de Bitcoin ?
Le minage de Bitcoin est l’action de participer au processus de la preuve de travail (Proof-of-Work), un mécanisme permettant la résistance face aux attaques Sybil.
Lorsqu'une transaction est construite et signée par un utilisateur, elle est d'abord diffusée aux nœuds qui la conservent dans leurs mempools. Ces transactions en attente sont ensuite regroupées dans des blocs candidats par les mineurs. La preuve de travail consiste à trouver une valeur modifiable appelée « nonce » dans l’entête du bloc qui, une fois passée dans une fonction mathématique aléatoire (SHA256d), donne un résultat inférieur à un nombre cible.
![](https://a.storyblok.com/f/149950/1280x720/b4fe4e0704/recherche-d-un-entete-de-bloc-qui-donne-une-empreinte-inferieure-a-la-cible.png/m/filters:quality(70))
Cette cible est ajustée tous les 2016 blocs, soit environ toutes les deux semaines, et vient donc modifier la difficulté pour miner un bloc valide. Cet ajustement vise à maintenir le temps moyen de validation d'un bloc à environ 10 minutes, en fonction de l'évolution de la puissance de calcul du réseau Bitcoin. S'il y a plus de mineurs et que les blocs sont trouvés trop rapidement, la difficulté augmente. Inversement, si le réseau perd de la puissance de calcul, la difficulté diminue.
![](https://a.storyblok.com/f/149950/1280x720/906d1dbbb9/ajustement-de-la-difficulte-de-minage.png/m/filters:quality(70))
Les mineurs sont incités à participer au réseau grâce à des récompenses. Lorsque l’on trouve un bloc valide, on reçoit une récompense composée de la subvention de bloc (la création de nouveaux bitcoins) et des frais des transactions incluses dans le bloc.
Bien qu’en théorie, il soit possible de miner avec n'importe quel ordinateur, l’augmentation de la puissance de calcul sur Bitcoin a rendu cette méthode obsolète. Aujourd'hui, pour avoir une chance raisonnable de trouver un bloc valide, il faut utiliser des puces spécialement conçues pour cette tâche, capables d'exécuter rapidement la fonction SHA256d. Ces machines spécialisées sont connues sous le nom d'ASICs (Application-Specific Integrated Circuits).
C’est quoi une pool de minage ?
Une pool de minage est un groupement de mineurs individuels qui unissent leur puissance de calcul pour collaborer dans la recherche de blocs valides. Face à la difficulté croissante du minage, il est devenu de plus en plus improbable pour un mineur individuel de trouver un bloc et de recevoir des récompenses de manière régulière. Les pools de minage offrent une solution à ce problème.
Les mineurs au sein d'une pool partagent leurs ressources pour rechercher collectivement des preuves de travail valides. Lorsqu'un bloc est trouvé par la pool, la récompense, composée des bitcoins nouvellement créés et des frais de transaction, est répartie entre les membres. Cette distribution est proportionnelle à la puissance de calcul que chaque mineur a apportée au groupe.
![](https://a.storyblok.com/f/149950/1280x720/294c68f7b7/les-mineurs-individuels-mutualisent-leur-puissance-de-calcul.png/m/filters:quality(70))
Cette collaboration permet aux mineurs d'augmenter leurs chances de trouver des blocs, ce qui leur garantit ainsi des revenus plus réguliers et prévisibles par rapport au minage individuel. En effet, l'exploitation d'un ASIC entraîne des coûts opérationnels, principalement dus à la consommation électrique de l'appareil, qui fonctionne en continu. Pour un mineur solo, qui a une petite puissance de calcul par rapport au reste du réseau Bitcoin, la découverte de blocs valides peut être extrêmement sporadique. On dit que sa variance augmente. Il va donc avoir des revenus très aléatoires face à des charges régulières. En rejoignant une pool de minage, qui trouve des blocs plus fréquemment grâce à sa puissance de calcul mutualisée, le mineur va pouvoir réduire sa variance, et ainsi lisser ses revenus. Il aura donc une meilleure visibilité sur l'exploitation de son activité et pourra améliorer ses flux de trésorerie.
En français, on pourrait traduire « pool de minage » par « coopérative de minage », mais très peu de personnes utilisent ce terme.
Quelle est la différence avec une ferme de minage ?
Attention, il ne faut pas confondre les pools de minage avec les fermes de minage. Une pool, comme nous venons de le voir, est un groupement de mineurs individuels qui mutualisent leur puissance de calcul pour augmenter leurs chances de trouver des blocs. Une ferme de minage, en revanche, est une installation physique où de nombreuses machines de minage (ASICs) sont regroupées sous un même opérateur.
La ferme de minage vise à optimiser tous les coûts opérationnels en réalisant des économies d’échelles sur la gestion, l'entretien, le refroidissement et la consommation d'énergie des machines. Au contraire, les ASICs d’une pool de minage sont dispersées à travers le monde et appartiennent à des individus différents, puisque ce n’est qu’un collectif virtuel de ressources partagées. De plus, les fermes peuvent faire partie d’une pool de minage.
Comment fonctionnent les pools de minage ?
Une pool de minage se compose d'un serveur central qui coordonne le travail des mineurs et communique avec le réseau Bitcoin. Le serveur fournit aux mineurs individuels ce que l’on appelle des « block templates » contenant les informations nécessaires pour créer un nouveau bloc candidat (les transactions à inclure et l'entête du bloc). Une fois le block template reçu, le mineur individuel commence à chercher une preuve de travail valide pour celui-ci en modifiant le nonce et en passant l’entête dans la fonction de hachage.
![](https://a.storyblok.com/f/149950/1280x720/808bd04627/echanges-entre-le-serveur-de-la-pool-et-le-mineur-individuel.png/m/filters:quality(70))
Pour optimiser les communications entre chaque partie, et ainsi augmenter leur rentabilité, les pools de minage utilisent généralement un protocole réseau superposé au réseau Bitcoin nommé Stratum. Stratum a été créé fin 2011 par Marek Palatinus (alias « Slush »), le fondateur de la toute première pool de minage nommée Slush Pool, aujourd'hui rebaptisée Braiins. Stratum est venu remplacer l'ancien protocole Getwork, alors devenu obsolète. Il est important de comprendre que Stratum n'est pas intégré en tant que norme dans Bitcoin, mais il s'est imposé comme la référence pour le minage depuis plus de dix ans. Sa seconde version, Stratum V2, est actuellement en développement.
En réalité, dans les pools, les mineurs individuels ne cherchent pas un hachage inférieur à la cible de difficulté de Bitcoin. En effet, dans un second temps, il faudra que la pool soit capable de déterminer le taux de participation de chaque mineur durant un intervalle de temps. Les mineurs qui ont fourni beaucoup de puissance de calcul à la pool doivent être plus récompensés que ceux qui en ont moins fourni. Le problème qui se pose est celui du calcul de cette participation.
Une méthode naïve consisterait à demander aux mineurs d'envoyer tous leurs hachages calculés à la pool, qu'ils répondent ou non aux critères de difficulté, pour prouver leur travail. Cependant, si la pool devait recalculer ces hachages pour confirmer leur véracité, cela conduirait à une duplication du travail, annulant l'efficacité de l'opération puisque la pool se retrouverait à refaire tout le travail que les mineurs ont déjà accompli.
Pour résoudre ce problème, les pools de minage ont mis en place le concept de « shares ». Une share, ou une part en français, est une unité qui sert à mesurer la contribution de chaque mineur au sein de la pool. Une share est simplement un hachage du bloc candidat qui satisfait une cible de difficulté supérieure à la vraie cible de difficulté de Bitcoin.
Pour bien comprendre ce principe, faisons une analogie. Imaginez un dé avec 20 faces. Sur Bitcoin, imaginons qu’il faut faire un lancé inférieur à 3 avec ce dé pour valider un bloc. Dans ce contexte, la pool de minage pourrait dire que la difficulté de la share est de 10. Ainsi, pour un mineur individuel dans cette pool, chaque lancer de dés qui donne un résultat inférieur à 10 compte comme une share valide, même si ce n’est pas forcément un bloc valide.
À chaque hachage du bloc candidat effectué par un mineur individuel, il peut donc y avoir 3 issues possibles :
Si le hachage est supérieur à la cible de difficulté de la share, il est inutile et ne rapporte rien. Le mineur modifie le nonce et retente sa chance ;
Si le hachage est inférieur à la cible de la share, mais supérieur à celle de Bitcoin, il est accepté comme share valide ;
Si le hachage est inférieur à la cible de Bitcoin, il est accepté comme un bloc valide et une share valide.
![](https://a.storyblok.com/f/149950/1280x720/53a63ff826/difference-entre-la-difficulte-de-la-share-et-la-difficulte-de-minage.png/m/filters:quality(70))
Toutes les shares valides trouvées par un mineur individuel sont transmises à la pool, même si elles ne correspondent pas à un résultat valide pour un bloc sur Bitcoin. Ce système permet donc aux pools de mesurer le travail réalisé par chaque mineur, sans devoir recalculer individuellement l’intégralité des hachages de tous les mineurs. La pool vérifie seulement les hachages inférieurs à une certaine cible, afin de restreindre le nombre de vérifications nécessaires. Ainsi, on dit parfois que les mineurs individuels dans une pool ne sont plus des mineurs, mais deviennent simplement des « hacheurs ».
La pool va ajuster la difficulté de la share en fonction de chaque mineur individuel, pour équilibrer la charge de vérification et s'assurer que tous les mineurs, quel que soit leur hashrate, soumettent des shares à intervalles réguliers. Cela permet de mesurer avec précision le hashrate de chaque mineur et de distribuer les récompenses en conséquence.
Il existe ensuite plusieurs méthodes pour calculer la rémunération des mineurs en fonction des shares soumises à la pool. Chaque méthode possède ses spécificités et influence différemment la répartition des gains. Voici les plus courantes :
PPS (Pay Per Share) : Les mineurs sont payés pour chaque share valide soumise, indépendamment du fait que la pool trouve ou non un bloc valide ;
FPPS (Full Pay Per Share) : Similaire au PPS, mais inclut aussi une part de la récompense des blocs trouvés. Cela augmente la rémunération des mineurs en cas de hausse du marché de frais ;
PPLNS (Pay Per Last N Shares) : Récompense les mineurs en fonction de leur contribution en shares sur une période donnée. Les paiements sont effectués seulement lorsque la pool trouve un bloc, ce qui favorise les mineurs fidèles à la pool et actifs sur le long terme ;
SCORE ou BPM (Bitcoin Pooled Mining) : Pondère les shares en fonction du moment de leur soumission. Les shares soumises tardivement dans le cycle de minage ont plus de valeur, ce qui incite les mineurs à rester dans la pool ;
TIDES (Transparent Index Of Distinct Extended Shares) : Introduit par la pool Ocean en 2023, cette méthode répartit les récompenses en fonction d'un pourcentage pondéré du travail consacré aux shares récemment trouvées.
Mais il existe aussi plein d’autres méthodes de calcul de rémunération moins connues :
PPLNSG (Pay Per Last N Shares Grouped) : Fonctionne comme PPLNS, mais en regroupant les shares en équipes, qui sont ensuite rémunérées ensemble ;
PROP (Proportional) : La récompense obtenue par la pool est distribuée proportionnellement aux shares soumises par chaque mineur depuis le dernier bloc trouvé ;
SMPPS (Shared Maximum Pay Per Share) : Variante de PPS qui limite les paiements pour ne jamais excéder les revenus de la pool, afin de maintenir son équilibre financier ;
RSMPPS (Recent Shared Maximum Pay Per Share) : Similaire à SMPPS mais avec une priorité accordée aux mineurs ayant contribué récemment ;
POT (Pay On Target) : Récompense pour chaque share soumise par un mineur en fonction de la difficulté de cette share spécifique, ce qui implique une plus grande variance des revenus pour le mineur…
➤ En savoir plus sur la construction des blocs Bitcoin.
Quelles sont les plus grosses pools de minage sur Bitcoin ?
D'après le site mempool.space, le taux de hachage total du réseau Bitcoin est actuellement autour de 600 EH/s, soit 600 trillions de hachages à chaque seconde.
Depuis le début de l’année 2024, plus de la moitié des blocs minés se partagent entre les 2 géants Foundry USA (29 %) et AntPool (25 %). Parmi les autres grosses pool de minage, on retrouve ViaBTC (13 %) et F2Pool (12 %). Les autres pools sont nettement plus petites :
➤ Découvrir la différence entre un soft fork et un hard fork.
Conclusion
Les pools de minage permettent aux mineurs individuels de lisser leurs revenus en réduisant l’intervalle entre chaque rémunération et en réduisant le risque de ne pas trouver de bloc grâce à la mutualisation de la puissance de calcul.
La participation de chaque mineur est calculée à partir des shares, des blocs qui ont une preuve de travail satisfaisant une cible moins difficile que la vraie cible de Bitcoin. En fonction du nombre de shares envoyées par chaque mineur, leur rémunération est calculée selon la méthode choisie (PPS, FPPS, PPLNS…).
Selon Eric Voskuil, dans son livre Cryptoeconomics, les dynamiques économiques sous-jacentes au protocole Bitcoin encouragent naturellement une concentration de la puissance de hachage. Les économies d'échelle et la prime à la proximité conduisent les mineurs à se regrouper en grandes fermes, tandis que la variance dans la récompense des blocs les incite à former des pools. Bien que les mineurs puissent techniquement changer de pool en déconnectant leur matériel pour le reconnecter ailleurs, ils sont généralement incités à rester au sein des plus grandes pools. Cette tendance pourrait progressivement mener à une centralisation du minage de Bitcoin. Il n’existe aucune incitation économique qui puisse empêcher cela. C’est un défaut de Bitcoin qui est naturel, mais qui pourrait être à terme corrigé au niveau du protocole.