Hashwerte speichern

Hi,

macht es für Miner Sinn, die errechneten Hashwerte zu speichern? Auch wenn sie den aktuellen Block nicht finden, könnten sie beim nächsten Block prüfen, ob sie den gesuchten Hashwert bereits schon einmal errechnet haben.

Wenn nicht, woran scheitert es? Scheitert es an der Masse an Einträgen oder wird sowieso nach jedem Block eine andere Hashfunktion verwendet?

Erstens scheitert es an den unvorstellbaren Datenmengen und zweitens vermutlich auch an der Geschwindigkeit, denn für das Speichern wird im Vergleich zur Generierung des Hashwertes eine deutlich längere Zeit gebraucht. Selbst mit M2.SSD. :wink:

Es gibt sogenannte Rainbow-Tables für MD5. Die sind recht groß, aber im Vergleich zu den Möglichkeiten noch sehr klein. Außerdem ist MD5 eine schlechte HASH-Funktion, da zu wenig Bit.

Nein, die Hashfunktion ist immer dieselbe.

1 „Gefällt mir“

Alle Versuche zu speichern wäre unmöglich, das sieht man an einem einfachen Rechenbeispiel:
Ein Antiminer S9 kann ca. 14 TH/s berechnen.

14 TH/s * 256 bit = 445 TB/s

Die Miner müssten als 445 Terrabyte pro Sekunde abspeichern.

4 „Gefällt mir“

Boah, immer diese Mathe-Pros hier…ich fühle mich so dumm.

3 „Gefällt mir“

…einmalig!
Und dann jedes Mal diese riesigen Datenmengen abfragen. Da hier Speicher genutzt werden müsste, der nicht intern im ASIC sein kann, ist auch die Datenabfrage vergleichsweise langsam.

Es ist definitiv deutlich schneller den Hashwert jedes Mal neu zu berechnen.
Und bei Minern ist Geschwindigkeit King!

1 „Gefällt mir“

Ja, vor allem da die Daten vollständig durch die Inputs repräsentiert werden können. Es macht keinen Sinn, Trillionen von Hashes zu speichern, wenn man einfach bei 0 anfängt und dann hochzählt. Darin sind alle notwendigen Informatinen bereits enthalten, um nicht einen einzigen Hash merhmals zu berechnen.

2 „Gefällt mir“