Qu'est-ce que qhash, le hash à circuit quantique ?
Comment marche qhash : le SHA-256 de l'en-tête règle un circuit simulé de 16 qubits, dont la sortie mesurée est rehachée, et pourquoi les GPU le minent.
Qu'est-ce que qhash ?
qhash est la preuve de travail de Qubitcoin : un hash qui contient un petit circuit quantique. Entre deux étapes SHA-256, il exécute ce circuit, simulé sur une carte graphique ordinaire.
La plupart des cryptomonnaies à preuve de travail hachent l'en-tête du bloc avec une seule fonction, comme SHA-256. Elles comparent le résultat à une cible. qhash fait la même comparaison.
Le travail d'un mineur, c'est la simulation du circuit. Elle est faite une fois pour chaque nonce que le mineur essaie. Un nonce est le nombre qu'un mineur change pour obtenir un nouveau hash.
Comment qhash fonctionne-t-il, étape par étape ?
- Hacher l'en-tête du bloc de 80 octets avec SHA-256.
- Découper ce hash en 64 petits morceaux. Ils servent d'angles de rotation à un circuit simulé de 16 qubits.
- Le circuit a deux couches de rotations et une chaîne de portes CNOT.
- Mesurer chaque qubit et transformer le résultat en un nombre de 16 bits. On obtient 32 octets.
- Hacher le premier hash avec ces 32 octets, à l'aide de SHA-256.
- Ce résultat est le hash du bloc. Comme pour toute preuve de travail, il doit être inférieur à la cible du réseau.
Pourquoi les GPU minent-ils qhash ?
Simuler un circuit est exactement le genre de calcul parallèle pour lequel les cartes graphiques sont conçues. Le logiciel de minage du projet l'exécute avec la bibliothèque cuQuantum de NVIDIA.
- SRBMiner-Multi et WildRig NG : cartes NVIDIA, AMD et Intel.
- ForgeMiner : cartes NVIDIA et AMD.
Un ASIC Bitcoin ne calcule que du SHA-256. Il ne peut donc pas exécuter l'étape du circuit.
Que change qhash pour vous en tant que mineur ?
Rien ne change dans la façon de vous connecter. Le pool envoie un job, et votre GPU cherche des nonces. Chaque share est vérifié avec le même code qhash que celui du réseau.
La chaîne a modifié qhash plusieurs fois depuis son lancement. Utilisez donc une version récente de votre logiciel de minage, sinon ses shares ne correspondront pas au réseau.