173 / 736AUXPOW

Merged Mining

Un même travail de minage pour plusieurs réseaux

Une machine peut mettre les mêmes calculs au service de plusieurs réseaux. D’où viennent les récompenses supplémentaires, pourquoi les monnaies restent-elles distinctes et qu’est-ce qui protège réellement le petit réseau ?

Merged Mining permet d’utiliser une même recherche de hash, le résultat d’un calcul de minage, pour plusieurs réseaux compatibles. Un bloc regroupe des transactions destinées à rejoindre l’historique public du réseau. Les mineurs cherchent un résultat de calcul qui leur permette de soumettre ce bloc à la vérification des autres participants. Chaque réseau conserve son historique et ses règles. Partager le travail ne signifie donc pas partager une monnaie ni bénéficier automatiquement de la même sécurité.

Jan mine par l’intermédiaire d’un Mining Pool, un service qui coordonne le travail des mineurs. Un jour, une récompense Namecoin apparaît aussi dans son tableau de bord. Cela ne veut pas dire que son ASIC, une machine spécialisée dans le minage, a cessé de travailler pour Bitcoin la moitié du temps. Le pool peut préparer une tâche dont la recherche de hash sert aux deux réseaux. Si le résultat remplit les conditions nécessaires, le travail peut aussi être prouvé au réseau auxiliaire. La puissance de la machine n’a pas doublé : son travail trouve un usage supplémentaire. La récompense de l’autre réseau ne crée pas de bitcoins en dehors des règles de Bitcoin. [1] [4]

Bitcoin est ici la chaîne parente, et Namecoin la chaîne auxiliaire. Mais Bitcoin n’en devient pas responsable pour autant. Un Bitcoin Full Node, un ordinateur dont le logiciel vérifie lui-même les règles, contrôle les transactions et les blocs de Bitcoin. Il ne juge pas la validité des transactions Namecoin : les nœuds Namecoin doivent le faire. Chaque réseau conserve donc son historique et son registre de monnaies dépensables. Une panne d’application sur le réseau auxiliaire n’invalide pas à elle seule un paiement Bitcoin, et ce réseau ne peut pas modifier les règles de Bitcoin avec les siennes. [1] [2]

Le résultat du calcul est comparé à une cible : une limite numérique que le hash ne doit pas dépasser. Le hash est calculé à partir de l’en-tête, qui résume les données du bloc proposé. Le mineur fait varier une partie de ces données et répète le calcul jusqu’à obtenir un nombre suffisamment petit. La condition du réseau auxiliaire peut être plus facile. Le résultat de Jan peut alors suffire pour son bloc sans suffire pour un bloc Bitcoin. Rootstock distingue explicitement ces situations : satisfaire les deux réseaux, Rootstock seulement, ou simplement la condition plus facile du pool pour une share, une preuve de travail transmise au fil du minage. Une share seule n’est un bloc d’aucun des réseaux. Atteindre la cible n’excuse pas non plus des transactions invalides : le bloc doit respecter les autres règles de son réseau. [3] [4]

Il n’est pas nécessaire de refaire tous les calculs, mais le fonctionnement demande du travail. Quelqu’un doit préparer les blocs auxiliaires, faire tourner leurs nœuds, maintenir le logiciel et envoyer les preuves. L’opérateur du pool peut s’en charger, sans que l’ASIC de Jan fasse lui-même tourner un nœud de chaque projet. Le paiement est une autre question. Namecoin verse des récompenses en NMC, sa propre monnaie. Les conditions du pool déterminent s’il les verse à Jan, les convertit ou les intègre autrement à son offre. Ce qui compte est le montant réellement reçu après retenues, pas un bonus coloré à l’écran. [1] [5]

Cette affirmation ne dit pas encore combien de mineurs participent réellement. Un petit réseau ne reçoit pas automatiquement toute la puissance de Bitcoin. Le travail engagé, sa concentration entre opérateurs et leurs incitations à entretenir honnêtement le réseau comptent. Namecoin accepte aussi d’autres chaînes parentes utilisant SHA-256d, soit deux applications de la même fonction de hachage. Le hashrate annoncé, la vitesse de calcul, doit donc être replacé dans son contexte. Il ne suffit pas à établir une résistance identique à la réécriture de l’historique récent, ni une certitude équivalente pour un même nombre de confirmations. Les confirmations comptent le bloc contenant la transaction et les blocs ajoutés à sa suite sur le réseau concerné. [1] [4]

Devant une récompense supplémentaire, Jan doit d’abord savoir de quel réseau et de quelle monnaie il s’agit, puis comment elle arrivera réellement dans son portefeuille. L’utilisateur du réseau auxiliaire doit aussi comprendre qui vérifie ses règles et les risques de son logiciel. Le minage partagé n’échange pas à lui seul une monnaie contre une autre. Si le projet propose un pont, un mécanisme de transfert de valeur entre réseaux, celui-ci a ses propres conditions et risques. « Miné avec Bitcoin » explique l’origine d’une partie de la protection, pas tout le produit ni la sécurité de l’argent qu’on y conserve. [1] [4]

Namecoin appelle sa preuve AuxPoW, un Proof of Work auxiliaire. Pour empêcher quelqu’un de récupérer un hash déjà trouvé et d’y rattacher ensuite un autre bloc, le bloc auxiliaire doit être lié cryptographiquement au calcul avant celui-ci. Son hash, une empreinte numérique, est relié par un Merkle Tree à une donnée de la coinbase parente, la première transaction spéciale du bloc. Un Merkle Tree est un arbre de hash qui permet de prouver l’inclusion de données. Une autre branche prouve son inclusion dans le résumé des transactions de l’en-tête parent. Les nœuds contrôlent toute la liaison, la position de la donnée, la taille de l’arbre et un indice dérivé notamment du chain ID, l’identifiant de chaîne. Un hash emprunté sans ce lien ne suffit pas. [2]

BIP 301 décrit Blind Merged Mining (BMM). Un BIP est un document proposant ou décrivant des règles et des pratiques pour Bitcoin ; sa publication ne modifie pas à elle seule les règles du réseau. D’autres participants y assemblent les blocs auxiliaires et proposent aux mineurs Bitcoin des frais pour inclure l’engagement correspondant, une référence vérifiable au bloc choisi. Les mineurs n’ont donc pas à choisir eux-mêmes son contenu. Cette proposition possède ses propres règles nécessitant une modification du consensus, les règles de validation communes au réseau ; ce n’est pas un nouveau nom pour le Namecoin AuxPoW déjà utilisé. Lors de cette révision, BIP 301 porte le statut Draft, projet, dans le registre officiel. Ni un numéro BIP ni une implémentation ne prouvent à eux seuls une activation sur Bitcoin. [5]

Pour une vision complète, lisez aussi Minage, Proof of Work, Bitcoin, Mining Pool, ASIC Miner, Full Node. Cette entrée est également citée par Sergio Demian Lerner.

DOC · 001Namecoin — Merged mining and independent chainsSource primaire DOC · 002Namecoin Core — AuxPoW commitment checksDocumentation DOC · 003Namecoin Core — Proof-of-work target checksDocumentation DOC · 004Rootstock — Merged mining architectureDocumentation DOC · 005BIP 301 — Blind Merged Mining draftSpécification
Révisé le: Sources d’abord · Pas un conseil financier