Bitcoin Forum

Local => Mining (Deutsch) => Topic started by: linlin on January 10, 2013, 04:39:24 PM



Title: FPGA Einsatz für ltc/btc mining
Post by: linlin on January 10, 2013, 04:39:24 PM
Hallo an alle,

ich bin auf der Suche nach know-how. Ich möchte einen FPGA Miner (zumindest im Simulator) für litecoins oder bitcoins entwickeln und habe schon einiges in VHDL geschrieben: HMAC-SHA256, rs232 für Kommunikation mit dem Rechner und salsa20/8. Daraus sollte scrypt entstehen, aber ich verstehe nicht so ganz wie alles zusammenspielt.

Was soll ich als Eingang für Mining auf der FPGA Seite nehmen? Wie lang (in bytes) ist diese Datei für Eingang? Ausgang ist immer 256 bit lang, was muss ich mit diesem neuen Wert machen? Mit irgendwelchen vordefiniertem Wert vergleichen um festzustellen, ob mein Ergebnis genug Nullen Vorne hat?

Bitte um Verzeihung, dass ich so doofe Fragen stelle. War meine Recherche richtig und es wirklich kein Buch über Mining gibt?

Danke und Grüße
linlin


Title: Re: FPGA Einsatz für ltc/btc mining
Post by: Nachtwind on January 10, 2013, 04:48:56 PM
Scrypt kannst du im Grunde wieder sein lassen. Um Scrypt zu minen brauchst du eine größere Menge Ram oder Cache. Beides ist idR auf FPGAs nicht vorhanden.


Hashing Algorithmen

Bitcoin:
hash = SHA256(SHA256(bigEndianToLittleEndianForEach32BitBlock(data)))

Litecoin:
hash = Scrypt(Scrypt(bigEndianToLittleEndianForEach32BitBlock(data),1024,1,1)1024,1,1)
Scrypt parameter sind N=1024, p=1, r=1.


Die Daten für das Hashen erhältst du mit dem Getwork RPC Call.

Für Bitcoin macht es noch am ehesten Sinn etwas zu schreiben, aber Litecoin brauchst du eigentlich gar nicht anfangen.


Title: Re: FPGA Einsatz für ltc/btc mining
Post by: linlin on January 10, 2013, 05:02:40 PM
Bitcoin:
hash = SHA256(SHA256(bigEndianToLittleEndianForEach32BitBlock(data)))

Litecoin:
hash = Scrypt(Scrypt(bigEndianToLittleEndianForEach32BitBlock(data),1024,1,1)1024,1,1)
Scrypt parameter sind N=1024, p=1, r=1.


Wie lang ist data?

Ergebnis von SHA256 und Scrypt ist doch 256 bits lang. Was passiert mit restlichen 256 bits beim zweiten Lauf von SHA256/Scrypt? Werden die mit Nullen ergänzt? Und von Links oder Rechts?