Technique › Réseau

Minage et RandomX

Une preuve de travail conçue pour les processeurs ordinaires

En bref

Monero utilise la preuve de travail (Proof-of-Work) comme Bitcoin, mais avec l’algorithme RandomX (depuis novembre 2019). RandomX génère et exécute des programmes aléatoires sur une machine virtuelle qui ressemble à un processeur ordinaire, en utilisant ~2 Go de mémoire. Un processeur ordinaire finit par être presque aussi efficace qu’une puce spécialisée — ce qui maintient un minage décentralisé.

La preuve de travail en deux phrases

Un mineur assemble un bloc de transactions et essaie des valeurs de nonce jusqu’à ce que le hachage du bloc soit inférieur à une cible. Trouver un tel hachage est difficile, le vérifier est facile. La difficulté est recalculée à chaque bloc pour qu’un bloc apparaisse en moyenne toutes les 2 minutes.

Pourquoi pas SHA-256

SHA-256 a depuis longtemps ses ASIC — des puces qui ne font que cela et sont des milliers de fois plus efficaces qu’un processeur. Le minage de Bitcoin est concentré entre les mains de ceux qui peuvent acheter des ASIC et de l’électricité bon marché. Monero a visé dès le départ le minage sur des ordinateurs ordinaires : d’abord CryptoNight (modifié plusieurs fois par des hard forks pour neutraliser les ASIC naissants), puis RandomX.

Comment fonctionne RandomX

  1. Clé d’époque. Tous les 2048 blocs, une clé (le hachage d’un bloc plus ancien) est choisie. On en construit un cache de 256 Mo et un jeu de données (dataset) d’environ 2 Go.
  2. Programme aléatoire. Un programme pour la machine virtuelle RandomX est généré à partir de l’en-tête du bloc : arithmétique entière, virgule flottante, branchements conditionnels, lectures dans le dataset.
  3. JIT. Le programme est compilé en code machine du processeur et exécuté. Le résultat est le hachage.

Construire un ASIC pour RandomX revient essentiellement à construire un processeur généraliste doté d’un gros cache et d’une mémoire rapide — c’est-à-dire un processeur ordinaire. L’avantage du matériel spécialisé est faible.

ModeMémoirePour qui
Mode rapide~2080 Moles mineurs
Mode léger256 Moles nœuds qui vérifient les blocs (plus lent, mais suffisant)

Avantages et inconvénients

+

  • N’importe qui avec un ordinateur ordinaire peut miner — le hashrate est plus largement réparti.
  • P2Pool pour Monero permet de miner en pool sans opérateur central.
  • Des années d’audits et pratiquement pas d’ASIC.

−

  • Les botnets : les ordinateurs infectés sont aussi des « processeurs ordinaires », et le minage de Monero est une cible populaire des logiciels malveillants.
  • La vérification des blocs est plus lente qu’avec SHA-256.
  • De grands pools restent possibles : en 2025, le pool Qubic a brièvement contrôlé une grande part du hashrate et provoqué des réorganisations — ce qui a lancé une discussion sur des défenses supplémentaires.