Job Negotiation désigne la coordination d’un travail personnalisé entre mineur et pool. La spécification Stratum V2 la décrit dans Job Declaration Protocol avec la distribution des modèles et des tâches de minage.
Mining Protocol peut fonctionner sans Job Declaration ni Template Distribution. Le pool distribue alors toujours unilatéralement le travail. Un choix autonome exige un client, un fournisseur de modèles et un pool compatibles, pas simplement un autre transport. [Stratum V2 — Mining Protocol and Custom Jobs] [SRI — Pool and miner application roles]
Via CoinbaseOutputConstraints, Template Provider reçoit les besoins en sorties coinbase supplémentaires et sigops. JDC doit les déterminer pour les pools utilisés. Sans réserves correctes, ajouter des sorties de paiement peut dépasser les limites du bloc ; le choix des transactions dépend donc de son assemblage. [Stratum V2 — Template Distribution Protocol]
En Full-Template, JDC envoie DeclareMiningJob à JDS. Le serveur peut demander les transactions manquantes par ProvideMissingTransactions. Confirmer la déclaration et accepter ensuite le travail personnalisé au niveau du pool sont deux étapes distinctes, pas un message unique. [Stratum V2 — Job Declaration Protocol]
Coinbase-only n’utilise pas DeclareMiningJob et JDC ne révèle pas l’ensemble des transactions. Le pool évalue le revenu à partir de la coinbase. La confidentialité ne prouve ni la validité ni les frais déclarés ; la spécification décrit explicitement ce risque. [Stratum V2 — Job Declaration Protocol]
SetCustomMiningJob référence un mining_job_token de JDS. À l’acceptation, le pool renvoie SetCustomMiningJob.Success avec son propre job_id. Ces identifiants ont des rôles différents ; les résultats sont soumis pour la tâche confirmée avec le job_id correspondant. [Stratum V2 — Mining Protocol and Custom Jobs]
Avec les données nécessaires, le minage optimiste peut commencer avant SetCustomMiningJob.Success. Les shares trouvées sont conservées jusqu’à confirmation. Hacher ne signifie donc pas que le pool a déjà accepté le travail ou crédité sa récompense. [Stratum V2 — Mining Protocol and Custom Jobs]
Après SetCustomMiningJob.Error ou un délai dépassé, la spécification recommande un autre pool ou le minage solo. La résistance dépend d’un fallback opérationnel. Continuer silencieusement avec le modèle du pool qui refuse ne préserverait pas le choix initial des transactions. [Stratum V2 — Mining Protocol and Custom Jobs] [SRI — Pool and miner application roles]
JDC doit attribuer une valeur à la sortie désignée du pool pour bénéficier de ses récompenses. Détourner une part du revenu vers d’autres sorties peut réduire proportionnellement la récompense. Job Declaration ne transforme donc pas la comptabilité collective en paiement direct automatique au mineur. [Stratum V2 — Job Declaration Protocol]
Pour une vision complète, lisez aussi Stratum V2, getblocktemplate, Mining Pool, Block Template. Cette entrée est également citée par Stratum V2, Mining Pool Centralization.