Aller au contenu principal
Minage

GetWork

GetWork est le protocole historique de minage pré-2012. Limité à un nonce de 32 bits, vite obsolète face aux ASIC. Remplacé par GetBlockTemplate puis Stratum. Ne sert plus aujourd'hui.

Définition et contexte historique

GetWork est le tout premier protocole de communication entre un mineur et un nœud Bitcoin, présent dès les versions 0.1 du client Satoshi (2009). À l'époque, le minage se faisait sur CPU puis sur GPU, avec des hashrates de l'ordre de quelques MH/s par machine, et un nonce de 32 bits suffisait largement à explorer l'espace de recherche entre deux blocs.

Comment ça fonctionnait

L'appel RPC getwork retournait un mini-paquet contenant uniquement :

  • l'en-tête du bloc partiellement construit
  • la cible de difficulté
  • un nonce à itérer

Le serveur (nœud ou pool) gardait pour lui la construction de la racine de Merkle et la sélection des transactions. Le mineur n'avait qu'à incrémenter le nonce. Une fois une solution trouvée, il la renvoyait via un second appel RPC.

Pourquoi GetWork est devenu obsolète

L'apparition des ASICs en 2013 (Avalon, Butterfly Labs) a explosé les hashrates :

| Période | Matériel | Hashrate typique | |---------|----------|------------------| | 2009-2010 | CPU | 1-10 MH/s | | 2011-2012 | GPU | 100-500 MH/s | | 2013+ | ASIC | 1-100 GH/s | | 2024 | ASIC moderne | 200 TH/s |

Un nonce 32 bits = 2^32 = 4,3 milliards de hashes. Un ASIC le balaie en quelques secondes. GetWork imposait alors au pool de générer un nouveau template à chaque tick, saturant la bande passante. Inadapté.

Successeurs

GetBlockTemplate (2012) a donné le contrôle du template au mineur, élargissant l'espace de recherche grâce à l'extranonce et permettant au mineur de choisir ses transactions. Puis Stratum (2012-2013) a optimisé la couche réseau pour les pools commerciaux.

Encore utilisé ?

Non. Aucun pool sérieux ni firmware ASIC ne supporte GetWork aujourd'hui. Il subsiste uniquement comme curiosité historique et dans certains scripts de test.

À retenir

GetWork est le protocole de minage de l'enfance de Bitcoin. Son obsolescence raconte l'histoire de la course aux performances entre matériel et protocole.

Termes lies

← Retour au glossaire complet

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