Danke Richard für die Information.
Ich habe mir dann gleich am Freitag den Quellcode für den JS-Teil von Anubis angeschaut und so
ähnlich habe ich vor, eine solche Funktionalität in das meiner Library
Kurz die Take-Aways meiner Code-Review:
Anubis verwendet als Proof-of-Work den SHA256-Hasher, der in jedem Browser eingebaut ist:
als Fallback haben sie noch eine JS-Implementierung, bei der ich mich aber frage, wie sinnvoll
die heutzutag noch ist:
Weil PoW ja lange dauern soll und synchrone Funktionen in JavaScript einen relativ kurzen Timeout
haben, verwendet Anubis den Service-Worker:
Damit kann die Berechnung des Hashes asynchron erfolgen.
Was mich bei der ganzen Sache interessieren würde, wir haben einerseits sehr potente
Clients mit einem Haufen CPU-Leistung und dann wiederum alte Smartphones mit schwachen
CPUs. Die Challenge muss aber so gewählt werden, dass auch letztere in akzeptabler Zeit
zu einer Lösung kommen. Hat da jemand Erfahrung, um wie viele Größenordnungen wir da
auseinanderliegen?
Können und werden SHA256-Berechnungen auf GPUs ausgelagert?
Danke und liebe Grüße,
Jacob
PS: Eine Auslagerung auf den Webserver, wie es Anubis und der genannte Vorschlag macht,
kommt für mich nicht in Frage, weil es sich ja um eine Library handelt.