Le mythe des serveurs stratum multiples :
miner plus proche aide-t-il vraiment ?
Une analyse basée sur les données de la latence, des stale shares et du risque d'orphan dans les mining pools de cryptomonnaies.
Pour les cryptomonnaies avec des temps de bloc de 60 secondes ou plus, se connecter à un serveur stratum géographiquement plus proche n'apporte aucun avantage significatif. Les différences de latence sont négligeables par rapport au temps de bloc, le hashrate n'est absolument pas affecté par le ping, et l'augmentation du taux de stale shares pour du mining intercontinental est inférieure à 0,1 %.
Données réseau actuelles
Tous les chiffres de cette analyse sont basés sur les données réelles du mainnet C64Chain, mais les conclusions s'appliquent à toute cryptomonnaie CryptoNote ou RandomX avec des temps de bloc similaires.
| Scénario de latence | Temps aller-retour |
|---|---|
| Même région (EU↔EU, Asie↔Asie) | ~20 ms |
| Intercontinental (EU↔Asie) | ~200 ms |
Les 3 opérations sensibles à la latence
1. Distribution des jobs — Nouveau modèle de bloc
Quand quelqu'un sur le réseau trouve un bloc, le pool doit envoyer aux miners un nouveau job pour qu'ils arrêtent de miner l'ancien bloc (désormais obsolète). C'est l'une des principales causes de stale shares et de shares rejetées.
→ Propagation P2P vers le daemon (~1-5 s)
→ Le stratum interroge le daemon (intervalle jusqu'à 1 s)
→ Le stratum envoie le job au miner (latence réseau)
| Configuration | RTT interrogation daemon | Fenêtre stale pire cas |
|---|---|---|
| Daemon local + stratum local | ~1 ms | ~1,0 s |
| Daemon distant (EU) + stratum local | ~200 ms | ~1,2 s |
Travail stale supplémentaire : ~200 ms. Par rapport au temps de bloc de 300 s : 200 ms / 300 000 ms = 0,067 % de hashrate gaspillé.
Imaginez que vous êtes dans un examen de 5 heures et que vous perdez 0,36 seconde parce que l'horloge au mur a un léger retard sur l'horloge officielle. Voilà l'ampleur de ce « désavantage ».
2. Soumission de shares — Le cas normal (99,999 % des shares)
Le miner trouve une share → l'envoie au stratum → le stratum valide localement → enregistre en base de données.
| Configuration | Validation hash | Écriture en base | Le miner attend ? |
|---|---|---|---|
| Tout en local | <1 ms | <1 ms | Non |
| Base distante (WAN) | <1 ms (RandomX local !) | ~200 ms | Non |
Le miner n'attend PAS l'écriture en base de données. Le stratum valide le hash localement avec RandomX, renvoie « accepted » au miner immédiatement, puis écrit en base de données de manière asynchrone. Le miner continue à hasher à pleine vitesse pendant tout ce temps.
Quand vous déposez une lettre dans une boîte aux lettres, vous ne restez pas planté là à attendre qu'elle arrive à destination. Vous partez et continuez vos activités. C'est pareil ici — le miner dépose la share et continue à hasher.
3. Soumission de solution de bloc — Le chemin critique (mais rare)
C'est la seule opération où la latence pourrait théoriquement coûter de l'argent réel. Quand une share atteint la difficulté du réseau, le stratum doit la soumettre au daemon aussi vite que possible.
→ Le stratum valide le hash (RandomX local, <1 ms)
→ Le stratum appelle submit_block sur le daemon
→ Daemon LOCAL : <1 ms RTT
→ Daemon DISTANT : ~200 ms RTT
→ Le daemon valide + propage via P2P
200 ms de délai supplémentaire causent-ils réellement des orphans ?
Un orphan se produit lorsque deux miners trouvent des blocs valides presque en même temps et qu'un seul survit. Calculons la probabilité avec les données réelles du réseau :
// Valeurs réelles du réseau C64Chain
Hashrate réseau : 1 000 000 H/s
Difficulté réseau : 300 000 000
Taux de blocs (λ) : 1 000 000 / 300 000 000 = 0,00333 blocs/s
P(bloc concurrent dans 200 ms) = 1 - e(-0,00333 × 0,2)
= 1 - e(-0,000667)
≈ 0,000667
= 0,067 %
Imaginez que vous pêchez dans un lac immense avec une seule autre personne. La probabilité que vous attrapiez tous les deux un poisson dans les mêmes 0,2 secondes est essentiellement nulle. C'est à quel point une course de blocs est improbable sur une cryptomonnaie avec un temps de bloc de 5 minutes.
Daemon local vs daemon distant
| Aspect | Daemon local | Daemon distant (WAN) |
|---|---|---|
| Latence du modèle de job | <1 ms | ~200 ms |
| Latence de soumission de bloc | <1 ms | ~200 ms |
| Taux de stale shares | ~0,33 % | ~0,40 % |
| Augmentation du risque d'orphan | Référence | +0,067 % |
| Espace disque requis | Blockchain complète | Aucun |
| Bande passante | Trafic de sync P2P | Appels RPC uniquement |
| Maintenance | Doit rester synchronisé | Zéro |
| Mode de défaillance | Survit aux coupures WAN | Mort en cas de coupure WAN |
Un daemon local, ce n'est pas une question de vitesse — c'est une question de résilience. Si la liaison WAN tombe pendant 30 secondes, un daemon local maintient le stratum en fonctionnement. Sans daemon local, le moindre accroc Internet entre les continents arrête toute l'opération pour ces miners.
Un daemon local, c'est comme avoir un groupe électrogène de secours chez vous. Les lumières restent allumées même si la ligne électrique principale tombe brièvement. Sans lui, la moindre coupure Internet tue le pool entier pour ces miners.
Le miner bénéficie-t-il d'un ping de 20 ms vs 300 ms ?
La question centrale : un miner en Asie bénéficie-t-il de la connexion à un serveur stratum asiatique (20 ms de ping) plutôt qu'au serveur EU (300 ms de ping) ?
Impact sur le hashrate : zéro
La latence ne réduit pas le hashrate. Point final.
La boucle de mining tourne en continu. Que la réponse « accepted » revienne en 20 ms ou en 300 ms, le miner continue à hasher à pleine vitesse. Il n'y a ni pause, ni attente, ni dépendance au temps de trajet aller-retour.
while (true) {
nonce++
hash = RandomX(blob, nonce)
if (hash < share_target) {
send_share(nonce) // non bloquant, envoyer et oublier
}
// continue immédiatement — n'attend PAS le "accepted"
}
Impact sur les stale shares : négligeable
Quand un nouveau bloc apparaît, le job atteint le miner 280 ms plus tard avec une connexion à 300 ms vs 20 ms. Pendant ces 280 ms, le miner hashe l'ancien bloc (obsolète).
Temps stale supplémentaire : 280 ms
Temps de bloc : 300 000 ms
Augmentation taux stale : 280 / 300 000 = 0,093 %
Un miner à 10 KH/s produit environ 2,8 hash stale supplémentaires par transition de bloc. Avec 288 blocs/jour, cela représente ~806 hash gaspillés sur 864 000 000 hash totaux par jour.
Délai de découverte de bloc
Si le miner trouve un bloc, la solution traverse le système avec une latence aller supplémentaire :
| Configuration du miner | Miner → Stratum | Stratum → Daemon | Délai total |
|---|---|---|---|
| 20 ms ping + daemon local | 10 ms | 1 ms | 11 ms |
| 20 ms ping + daemon distant | 10 ms | 100 ms | 110 ms |
| 300 ms ping + daemon local | 150 ms | 1 ms | 151 ms |
| 300 ms ping + daemon distant | 150 ms | 100 ms | 250 ms |
Pire différence : 239 ms. Probabilité d'orphan due à ce délai supplémentaire : toujours seulement ~0,067 %.
Considérez le mining comme une loterie où vous grattez des tickets en continu. Que le bureau de loterie soit à 1 minute ou 5 minutes de distance n'a pas d'importance — vous continuez à gratter à la même vitesse dans tous les cas. Le seul minuscule désavantage, c'est que quand les numéros gagnants changent, vous l'apprenez quelques secondes plus tard et pourriez gratter un ticket périmé de plus. Mais vous grattez des millions de tickets par jour, donc ce ticket gaspillé est insignifiant.
Quand la latence compte-t-elle vraiment ?
| Temps de bloc | Exemple | Impact stale (300 ms) | Risque d'orphan | La latence compte ? |
|---|---|---|---|---|
| 1 seconde | Solana | 30 % | Très élevé | OUI — critique |
| 10 secondes | — | 3 % | Élevé | Oui — significatif |
| 15 secondes | ancien Ethereum | 2 % | Modéré | Perceptible |
| 60 secondes | — | 0,5 % | Faible | À peine |
| 300 secondes | C64Chain | 0,1 % | Négligeable | Non |
| 600 secondes | Monero | 0,05 % | Négligeable | Non |
La règle générale : la latence compte quand elle représente une fraction significative du temps de bloc. Pour plus de contexte sur les temps de bloc et leur relation avec le mining, consultez notre guide de démarrage. Pour C64Chain avec des blocs de 5 minutes, même la latence intercontinentale est une erreur d'arrondi.
Conclusion
| Facteur | Impact d'un stratum distant | À optimiser ? |
|---|---|---|
| Hashrate | Aucune différence | Non |
| Stale shares | +0,07–0,09 % | Non |
| Risque d'orphan | 1 sur 3 000 blocs | Uniquement si la crypto a beaucoup de valeur |
| Résilience WAN | Le stratum meurt en cas de coupure | Oui — la vraie raison |
Pour les miners : connectez-vous au serveur stratum que vous voulez. Votre hashrate et vos gains seront identiques que vous soyez à 20 ms ou 300 ms de distance. Les différences sont plus petites que la variance normale de chance du pool.
Pour les opérateurs de pool : la seule raison légitime de faire tourner des serveurs stratum régionaux est la résilience de disponibilité contre les coupures WAN — pas la vitesse. Si votre liaison intercontinentale est stable, un seul emplacement stratum est parfaitement suffisant pour des temps de bloc de 60 secondes ou plus.
Le mythe démystéfié : « stratum plus proche = plus de coins » est faux pour toute cryptomonnaie avec un temps de bloc supérieur à 30 secondes. Les mathématiques ne mentent pas — 200 ms de latence sur un temps de bloc de 300 secondes, c'est 0,067 % de différence, complètement éclipsé par la variance normale de chance de mining de 10 à 50 %.
Articles connexes
Comprendre la difficulté de mining
Ce que signifie la difficulté, comment elle s'ajuste, et pourquoi elle compte pour votre mining.
Stale shares et shares rejetées
Ce qui cause les stale shares et les shares rejetées, et comment y remédier.
Mining solo vs mining en pool
Les calculs derrière le mining solo et le mining en pool, et quand chacun est pertinent.