Aller au contenu principal
Minage

GetBlockTemplate

GetBlockTemplate (BIP-22/23) est le RPC permettant à un mineur de demander un block template à son nœud. Standard pour le solo mining et les pools. Successeur de GetWork. Plus flexible que Stratum V1.

Définition et origine

GetBlockTemplate, souvent abrégé GBT, est un appel RPC standardisé par les BIP-22 (2012) et BIP-23 (2012). Il permet à un mineur ou à un pool d'obtenir auprès de son nœud Bitcoin Core un block template : la liste des transactions à inclure, la cible de difficulté, le coinbase à compléter, etc. C'est l'alternative ouverte au protocole GetWork historique, qui était devenu obsolète face aux ASICs.

Comment ça fonctionne

Le mineur envoie un appel JSON-RPC getblocktemplate à un nœud complet. Le nœud répond avec un objet contenant notamment :

  • la version du bloc, la racine de Merkle des transactions à inclure
  • le hash du bloc précédent et la cible de difficulté
  • la liste des transactions sélectionnées (typiquement les plus rémunératrices)
  • les contraintes pour le coinbase (montant exact à coder)

Le mineur construit le coinbase, recalcule la racine de Merkle, puis itère sur le nonce et l'extranonce pour trouver un hash sous la cible. S'il trouve une solution, il soumet le bloc via submitblock.

Comparaison avec Stratum

| Protocole | Couche | Usage typique | |-----------|--------|---------------| | GetWork | RPC | Historique, abandonné | | GetBlockTemplate | RPC | Solo mining, pools internes | | Stratum V1 | TCP | Pools commerciaux | | Stratum V2 | TCP | Future norme, plus sécurisée |

GBT laisse au mineur le contrôle total du contenu du bloc. C'est essentiel pour le solo mining décentralisé, et c'est précisément ce que Stratum V2 cherche à réintroduire dans le minage de pool.

Cas d'usage actuels

  • Solo mining via Bitaxe, NerdMiner ou un ASIC connecté en direct à son nœud.
  • Pools open source comme Public Pool ou Solo CKpool, qui exposent GBT.
  • Pools propriétaires qui utilisent GBT en interne pour générer les jobs distribués via Stratum.

Limites

GBT échange beaucoup de données pour chaque template (la liste complète des transactions), ce qui n'est pas adapté aux fermes ASIC de millions de TH/s qui doivent rafraîchir les jobs en permanence. D'où l'invention de Stratum, qui ne transmet que les delta.

À retenir

GetBlockTemplate est la fondation ouverte du minage Bitcoin : il garantit que tout mineur peut, avec son propre nœud, construire et publier un bloc sans dépendre d'un intermédiaire.

Termes lies

← Retour au glossaire complet

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