Benötigen Sie Hilfe?

Blockchain Basics - Mining-Job

Sie haben vielleicht gehört, dass Jobs aus dem Pool an den Miner gesendet werden. Oder Sie haben vielleicht gesehen, dass der Miner-Job in der Miner-Konsole akzeptiert wurde. In diesem Artikel erklären wir, was ein Mining-Job ist.

Was ist ein Mining-Job?

Kurz gesagt, ein Mining-Job ist eine Nachricht, die vom Pool an den Miner gesendet wird. Diese Nachricht enthält Pool-Zielschwierigkeiten, Extranonce1-, Extranonce2-Informationen und andere Blockchain-Besonderheiten, die im Block enthalten sind.

Wenn Sie diesen Artikel über das Pool-Mining lesen, werden Sie erfahren, dass ein Pool den Minern mitteilen muss, welche Zahlen sie erraten müssen, um die Arbeit auf alle Worker zu verteilen.

Der Pool und die Worker werden immer miteinander kommunizieren. Der Pool sendet die Jobdaten, die gelöst werden müssen, während der Miner oder Arbeiter die Lösungen zurücksendet. Ein Mining-Job ist eine Nachricht, die der Pool und der Worker sich gegenseitig senden.

Wenn der Miner eine Lösung für die vom Pool bereitgestellten Daten findet, sendet der Miner eine Mining-Job-Lösung zurück, die auch als akzeptierter Share bezeichnet wird.

Welche Daten sind im Mining-Job enthalten?

This depends on the blockchain. Different coins and algorithms use different messages. Below you will find the data that is being included in the mining job:

  • Job ID: ID des Jobs. Miner (Worker) verwenden dies, wenn sie einen Share (Lösung) übermitteln, die aus dieser Job-ID generiert wurde.
  • Vorheriger Block Hash: Hash-Output des vorherigen Blocks.
  • Coinbase1: Der Miner fügt ExtraNonce1 und ExtraNonce2 nach diesem Abschnitt der Transaktionsdaten ein.
  • Coinbase2: Dies hängt der Miner nach dem ersten Teil der Transaktionsdaten und den beiden ExtraNonce-Werten an.
  • Merkle_Branch: Die Coinbase-Transaktion wird gegen die Merkle-Branch gehasht, um den endgültige Markle-Root zu bilden.
  • Version: Bitcoin Block-Version
  • nBits: Codierte Netzwerkschwierigkeiten
  • nTime: Aktuelle Uhrzeit
  • Clean_Job: Wenn dies zutrifft, hört der Miner auf, an früheren Jobs zu arbeiten und beginnt mit der Arbeit an dem neuen Job, den er aus dem Pool erhält.

Beispiel eines Mining-Jobs, der vom Pool an den Worker gesendet wird

Die Payloads zwischen dem Miner und dem Pool werden als JSON-RPC-Nachrichten codiert.

"id":null,"method":"mining.notify","params":["0000000053c411aa","b87d45785c4cc00150867971b7233c4446dfb4bd0003cb690000000000000000","01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5103539f0b082f5669614254432f2cfabe6d6d138e19afd289f4e1bcc69389a865ede0bd9d642189026485bd4bde3e062686b3100000000000000012734e8daaaa0f6280bf91","ffffffff03e44e2826000000001976a914536ffa992491508dca0354e52f32a3a7a679a53a88ac00000000000000002b6a2952534b424c4f434b3a51115f17d525a3952237430d78f5f4b2f4bc63148fd82f364f77c5260048d97e0000000000000000266a24aa21a9edfcfe2c5bd8a7df958c20d29cd5457ef6565a30ae10bf137602d4b838288908a500000000",["93cbc2abc1128cc9569a4ecbba4188b25ce7c9c8b5e5c9a2810cf0973d82f717","322139a87a09d3037d340f393a1d89ad34b163a07a9a7012fd58d92ca5e038c5","34cfc928a8bb978ab345d66c4940f566b5a36a1b6f7f5c2a617f68acc4f0a1e8","e4cc101b5df77d48d7abeb9a52d1a4bd8768a5cab4b568f804849d793eb8c432","ef14da7b3a470fdd3074633f711a0dcf003c91f4b6b02074d64e51878aafbd37","5ddd66513381c05cb479bfd062daa043295ee608f7bb22082f7c9c2d7f0aac40","bfc4e8f1e80ae3697bccfea631520e2907c7ad9ae5f5e3385aa4c8472ad39624","e6edd6c37b6924f4d5ab9350b33d5c7912d6df8a77be4d2d432d91134c0e83da","7aac970301559306792b9d017e54012ac3b1711c10d2c147fb9cbc32d1f1c63a","40329f69e3152d4537fa6e84e62e2f0830a18e3089455a78d58a54efd9479005","9a9f5af30e3bbc67e282fda897531337ab7d87e1da95d79f4831e8867b888c92","415bb76a0d8183657e0a5ac2bab8676e6ffa27ee3b2565ba1769af7503e9efad"],"20000000","1707a429","6364e9cf",false]}

Die obige Nachricht erscheint für das menschliche Auge unlesbar, daher ist hier ein etwas einfacheres Format, um die Nachricht zu verstehen:

"id":null,"method":"mining.notify","params":["JobID","PreviousBlockHash","Coinbase1","Coinbase2",[MerkleBranch],"Version","nBits","nTime",false]}

Beispiel einer Mining-Job-Lösung, die vom Worker an den Pool gesendet wird

{"id":15866,"method":"mining.submit","params":["3HJ4xQWjAsKuTwL1QBg4b5875hNcYRrtAr.workerName","0000000053c411aa","0446000000","6364e9cf","75a22825"]}

Und eine Erklärung des mining.submit:

{"id":15866,"method":"mining.submit","params":["username","JobID","Extranonce2","nTime","nonce"]}

Wie Sie sehen können, sind die Job-IDs beider Jobs gleich

GESCHRIEBEN VON
Marko Tarman
Marko ist Mining-Hardware-Spezialist und Content-Creator von NiceHash. Er begann 2012 mit dem Mining, bevor die ersten ASICs veröffentlicht wurden. Er ging beim GPU-Mining von BTC, über LTC zu VTC und sogar DOGE. Sein Mining-Motto: "Ich habe 99 Probleme, alle sind ein schlechter Riser".