Warum ist SHA3 für ASIC weniger förderlich?

Bitcoins werden mit SHA-256 verschlüsselt und Ethereum wird mit SHA3 verschlüsselt. Warum können Miner für die SHA-256-Verschlüsselung Hashes in den TH/s erraten, wenn Miner für die SHA3-Verschlüsselung nur in den MH/s hashen können? Ist der Algorithmus komplexer?

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .

Antworten (2)

Ich bin kein Experte, aber ich bin gut darin, akademische Literatur zu durchsuchen, und das habe ich über SHA3 mit Relevanz für FPGAs und ASICS (und im Vergleich zu SHA2) gefunden.


Beachten Sie, dass dieses Papier aus dem Jahr 2011 stammt. Der Gewinner von SHA3 stand noch nicht fest, da NIST den SHA3-Standard erst 2015 veröffentlichte. Sehen Sie sich das Keccak-Ergebnis in diesem Papier an. Der ASIC-Bereich, zumindest ASICs mit dem speziellen Zweck des Hashings, hat sich in den letzten 6 Jahren stark entwickelt und die Zahlen sind wahrscheinlich nicht aktuell.

Diese Grafiken (und die entsprechenden Tabellen) haben gezeigt, dass Keccak der einzige Kandidat ist, der SHA-2 für alle betrachteten FPGA-Familien und zwei Hash-Funktionsvarianten (mit 256-Bit- und 512-Bit-Ausgabe) durchweg übertrifft.


Ein weiteres Papier , das ebenfalls ziemlich alt ist und aus dem Jahr 2010 stammt, enthält Hinweise darauf, dass Keccak (SHA3) schneller als SHA-256 ist.

Abbildung 5 veranschaulicht, wie Architekturunterschiede die Leistungsergebnisse beeinflussen. Einige Kurven, wie die von Keccak und Luffa, sind sehr steil. Das bedeutet, dass eine kleine Flächenvergrößerung zu einer erheblichen Leistungssteigerung führt.


Außerdem sind mir keine ASICs für Ethereum bekannt, sie werden derzeit mit GPUs abgebaut. Wie Sie wahrscheinlich bereits wissen: GPUs sind um Größenordnungen langsamer als ASICs, daher ist es keine Überraschung, dass sie im MH/s-Bereich liegen.

Tatsächlich sind Speicher mit hoher Bandbreite und großen Speichermengen ziemlich teuer und schlecht parallelisierbar, weshalb ETHash als "ASIC-unfreundlich" angesehen wird, während CPUs und GPUs einen Hochleistungszugriff auf große Speichermengen haben. Aber wie auch immer, Willkommen bei Crypto.SE :)
Warum kann niemand einen ASIC mit einer großen Speicherkapazität und einem Hochgeschwindigkeitsbus herstellen?

Ihre Prämisse ist fehlerhaft. Ich denke, dass Keccak gut für ASIC war, war einer der Gründe, warum Keccak gewonnen hat: Es war sowohl das schnellste als auch das beste Leistungs-/Flächenverhältnis unter den Finalisten für die ASIC-Referenzimplementierung.

Übrigens ist es leicht zu verstehen, warum es einfacher ist, Hardware einzufügen, wenn man bedenkt, dass es nur einfache und/xor/rot/not-Operationen verwendet und diesen fiesen 32-Bit-Addierer in SHA-2 überflüssig macht.

Obwohl SHA-3 in der Software tatsächlich langsamer ist, sollten wir nicht vergessen, dass es so konzipiert wurde, dass es nicht anfällig für Längenerweiterungsangriffe ist, sodass einzelnes SHA-3 anstelle von Bitcoins doppeltem SHA-2 verwendet werden kann.

Verweise:

Übrigens, was ist der Sinn des ASIC-Widerstands? „Pool-Widerstand“ ist viel wichtiger, und das könnte erreicht werden, indem das Hashing (nicht das Hashing!) so gestaltet wird, dass den Minern keine Informationen vorenthalten werden können, vielleicht so einfach, wie den vollständigen Block zum Gegenstand des Hashings zu machen statt nur den Kopf.