Was bedeutet Nonce?

Ich versuche zu lernen, wie Litecoins funktionieren (und gleichzeitig eine neue Programmiersprache zu lernen, indem ich einen beschissenen kleinen Miner schreibe).

Ich stecke fest getdata. Hier http://litecoin.info/wiki/Scrypt heißt es, dass die Daten 160 Zeichen lang sind. Aber es ist nicht. Es ist ein ganzes Stück länger als das.

Also meine Fragen sind:

  • 1.) Was ist nonceund wie verwende ich es?
  • 2.) Was ist bits?
  • 3.) Was sind die ganzen 0 nach dem bits.

EDIT: Ok, ich glaube, ich muss nur die ersten 160 Zeichen verwenden dataund den Rest ignorieren. Richtig?

Antworten (1)

Ein Nonce ist nur ein Wert, den Sie ständig ändern, in der Hoffnung, dass der Hash nach dem Hashen aller Daten kleiner als der Zielwert ist. Siehe https://en.bitcoin.it/wiki/Block_hashing_algorithm (litecoin verwendet ähnlich nur scrypt anstelle der sha256-Hash-Funktion.)

Es ist auch erwähnenswert, dass Nonce ein allgemeiner Begriff in der Kryptographie ist, der sich auf jede Zahl oder Bitfolge bezieht, die nur einmal verwendet wird. Das Wort „Nonce“ wird außerhalb der USA immer noch als einfaches englisches Wort verwendet, das „vorläufig“ bedeutet. Natürlich ist es in bestimmten Teilen der Welt auch Slang für einen Pädophilen, also ist es vielleicht besser, wenn wir die Etymologie hier weglassen ...
Okay, wenn ich also versuche, einen Block aufzulösen, verwende ich zuerst 160 Hexadezimalzeichen aus Daten in getdata und lasse dann einen Arbeiter versuchen, ihn aufzulösen, indem er Scrypt-Hashing davon durchführt. Meine Nonce beginnt also mit 1 und steigt um eins, bis ich den in Bits angegebenen Wert erreiche? Ich hash die Little-Endian-Version des vorherigen Blocks hash+merkleroot+timestamp+nonce? Korrigieren Sie mich, wenn ich falsch liege, ich versuche nur herauszufinden, wie das funktioniert.