De nombreuses pools, surtout des pools "solo", apparaissent en ce moment.
Un scam fréquent consiste à faire croire au mineur qu'il mine en solo alors qu'en réalité la pool utilise un proxy et redirige le hashrate vers une grande pool en PPS ou FPPS.
Dans ce cas, le mineur ne mine pas réellement en solo et ne voit jamais les block templates produits par la pool.
Il devient donc important de vérifier ce que les pools envoient réellement au lieu de leur faire confiance aveuglément.
J'ai développé BlockTemplate Inspector, un script Python qui analyse un message Stratum V1 mining.notify et affiche la structure complète du job reçu.
Ce que l’outil permet de vérifier :
- si la pool génère elle-même ses block templates
- si la coinbase contient la signature de la pool
- si votre adresse solo apparaît réellement dans la coinbase ; si ce n'est pas le cas, vous n'êtes pas en solo
- si l’extranonce et les merkle branches changent correctement
- si le job correspond à du solo mining et non à un job provenant d'une grande pool PPS/FPPS
Fonctionnalités :
- connexion à n'importe quelle pool Stratum V1 (TCP ou SSL)
- envoi automatique de mining.subscribe et mining.authorize
- capture du premier mining.notify
- affichage détaillé du job :
job ID
prevhash (LE/BE)
version, nbits, ntime, clean_jobs
coinbase1 et coinbase2
extranonce1 et taille de l’extranonce2
merkle branches - reconstruction de la coinbase
- décodage de la coinbase
- aucune dépendance externe (standard library Python)
L’outil ne mine pas et ne soumet pas de shares.
Utilisation :
python3 blocktemplate_inspector.py
--host stratum+tcp://pool.example.com:3333
--user mon_worker
--password x
Dépôt GitHub :
https://github.com/Les-Chauffagistes/BlockTemplate-InspectorCet outil permet de vérifier ce que les pools envoient réellement et de détecter les détournements de hashrate.
N'hésitez pas à faire des retours.