Aller au contenu principal
Minage

Block template

Un block template est le squelette d'un bloc à miner, fourni par un nœud (getblocktemplate, BIP-22) ou un pool (Stratum). Inclut la coinbase, la liste des transactions et la cible. Le mineur n'a plus qu'à itérer le nonce. Stratum V2 redonne au mineur le contrôle du template.

Qu'est-ce qu'un block template

Un block template est un « bloc prêt à miner » : son en-tête est presque complet (version, hash du bloc parent, merkle root provisoire, timestamp, nBits reflétant la cible), il contient une coinbase template, une liste ordonnée de transactions du mempool, et il manque uniquement les bits que le mineur va faire varier (nonce, extranonce, parfois timestamp). Le rôle du mineur ASIC est purement de tester des hash jusqu'à en trouver un inférieur à la cible.

Deux producteurs possibles

Historiquement, deux acteurs construisent un template :

| Source | Protocole | Qui décide des tx ? | |--------|-----------|---------------------| | Nœud solo | getblocktemplate (BIP-22/23) | Le mineur | | Pool de minage | Stratum V1 | Le pool | | Pool moderne | Stratum V2 | Le mineur ou le pool (configurable) |

Sous Stratum V1, dominant depuis 2012, le pool envoie aux ASIC un template déjà décidé, ne laissant aux mineurs que l'itération du nonce. Cela concentre le pouvoir de censure entre quelques pools.

Le cas Stratum V2 et Job Negotiation

Stratum V2, finalisé par Braiins, Spiral et bitcoin-dev, redécentralise cette étape. Avec le Job Declarator Client, le mineur construit lui-même son template via son nœud bitcoind local, et n'utilise le pool que pour mutualiser la rémunération. C'est un pilier de la résistance à la censure : si Foundry ou AntPool décidaient de filtrer des transactions OFAC, leurs mineurs pourraient construire et soumettre leurs propres templates.

Anatomie de la coinbase template

La coinbase contient un script libre où le mineur ou le pool insère :

  • Le block height (BIP-34)
  • Le scriptSig typique avec extranonce
  • Souvent un commitment SegWit dans un OP_RETURN
  • Parfois une AsicBoost commitment ou la signature « /mined by / »

C'est aussi via la coinbase que se paie la subvention (block reward) et les frais agrégés.

Limites et points d'attention

Un template construit par un seul nœud reflète le mempool de ce nœud. Si une transaction n'est pas relayée par son réseau de pairs, elle ne sera jamais incluse. C'est tout l'enjeu autour de pools opaques comme Marathon Slipstream ou Mempool Accelerator : injecter des transactions hors-mempool dans des templates spécifiques.

À retenir

Le block template est l'interface entre la couche logicielle (qui choisit le contenu) et la couche physique (qui hashe). Qui contrôle le template contrôle ce qui entre dans la blockchain : Stratum V2 est donc une étape essentielle pour préserver la résistance à la censure.

Termes lies

← Retour au glossaire complet

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