Aller au contenu principal
Minage

Shares difficulty

La share difficulty est la difficulté propre aux shares envoyées au pool, beaucoup plus basse que celle du bloc. Permet aux mineurs de prouver leur travail régulièrement. Ajustée individuellement selon le hashrate. Indépendante de la difficulté réseau.

Définition

La share difficulty est le seuil de difficulté utilisé par un pool de minage pour valider les shares soumises par ses mineurs. Elle est largement inférieure à la difficulté réseau Bitcoin (block difficulty), mais suit la même mécanique : un hash double-SHA256 doit être inférieur à une cible numérique exprimée en 256 bits.

Pourquoi une difficulté séparée

Si le pool exigeait la difficulté réseau, seul un mineur trouvant un vrai bloc soumettrait une "share" — et un petit mineur n'en trouverait quasi jamais. Inversement, une difficulté trop basse génère des milliers de shares par seconde et sature les serveurs du pool.

La share difficulty est donc un curseur d'équilibre :

| Trop basse | Trop élevée | |------------|-------------| | Saturation des serveurs | Variance excessive du mineur | | Trafic réseau important | Récompenses irrégulières | | Difficulté à mesurer le hashrate | Risque de "perte" de shares |

Ajustement par mineur

Les pools modernes (Stratum) utilisent un mécanisme appelé vardiff (variable difficulty) qui ajuste la difficulté par connexion :

  • Le pool vise typiquement 1 share toutes les 5-20 secondes par mineur.
  • À chaque submission, il mesure le temps réel et recalibre.
  • Un mineur de 100 TH/s aura une diff bien plus élevée qu'un Bitaxe à 1 TH/s.

Cela permet d'agréger des mineurs aux hashrates très hétérogènes (de 1 TH/s à 50 PH/s) sur la même infrastructure.

Indépendance de la difficulté réseau

Contrairement à la difficulté Bitcoin qui s'ajuste tous les 2016 blocs (~2 semaines), la share difficulty est :

  • Locale au pool, voire à la connexion.
  • Modifiable à la volée sans consensus extérieur.
  • Asynchrone par rapport au protocole.

Les deux difficultés vivent en parallèle : un share peut être valide localement (au-dessus de la share difficulty) tout en étant rejeté pour le bloc (en-dessous de la block difficulty), et inversement, une share qui satisfait la block difficulty est aussi un bloc valide (le pool la diffuse immédiatement à Bitcoin).

Format de représentation

Les pools représentent souvent la difficulté en "difficulty units" plutôt qu'en cible binaire :

target = 0xFFFF * 2^208 / difficulty

Une diff 1 correspond à la difficulté minimale de Bitcoin, soit ~2^32 hashes en moyenne. Un Bitaxe à 1 TH/s opère typiquement à diff 1 000-10 000 ; un farm industriel à diff 1 000 000+.

Conséquences pratiques

  • Mesure du hashrate : le pool estime votre hashrate à partir du débit et de la difficulté des shares (hashrate ≈ shares/sec × 2^32 × diff).
  • Stabilité du revenu : à diff bien réglée, vos paiements (PPS) sont stables et prédictibles.
  • Détection de fraude : un mineur qui soumet trop ou trop peu de shares pour son matériel déclaré est suspect.

À retenir

La share difficulty est l'huile invisible qui fait tourner les pools de minage : elle adapte la granularité du travail prouvé à la puissance de chaque mineur, lisse les revenus, et permet à des millions de TH/s hétérogènes de coopérer harmonieusement.

Termes lies

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.