Kurz erklärt: Scrypt ist eine ursprünglich zur Passwort-Absicherung entwickelte, absichtlich speicherintensive Schlüsselableitungsfunktion, die in einigen Kryptowährungen als Proof-of-Work-Algorithmus dient.
Herkunft und ursprünglicher Zweck
Scrypt wurde 2009 von Colin Percival vorgestellt, ursprünglich für das Backup-System Tarsnap. Ziel war eine Funktion, die nicht nur Rechenzeit, sondern auch nennenswerten Arbeitsspeicher benötigt („memory-hard“). Dadurch sollten Angriffe mit spezialisierter Hardware, die primär auf Rechenparallelität setzt, erschwert werden. Scrypt ist als Schlüsselableitungsfunktion in RFC 7914 dokumentiert.
Einsatz als Mining-Algorithmus
Im Kryptobereich wurde Scrypt bekannt, weil es 2011 von Litecoin als Proof-of-Work-Verfahren gewählt wurde, um sich von der auf SHA-256 basierenden Bitcoin-Kette abzugrenzen. Die Speicherintensität sollte Mining zunächst breiter zugänglich halten und die frühe Dominanz spezialisierter Hardware verringern.
- Litecoin (LTC): erste bekannte Scrypt-Kryptowährung.
- Dogecoin (DOGE): nutzt ebenfalls Scrypt und wird über Merged Mining häufig gemeinsam mit Litecoin geschürft.
- Weitere frühere Scrypt-Coins waren unter anderem verschiedene „Altcoins“ der Jahre 2013 bis 2015.
Entgegen der ursprünglichen Erwartung wurden im Lauf der Zeit spezialisierte ASIC-Miner auch für Scrypt entwickelt, sodass der beabsichtigte ASIC-Widerstand nur zeitweise Bestand hatte.
Technische Merkmale
Scrypt füllt bei der Berechnung einen großen Speicherbereich mit pseudozufälligen Werten und greift anschliessend in schwer vorhersehbarer Reihenfolge darauf zu. Parameter steuern Rechenaufwand, Speicherbedarf und Parallelisierung. Der hohe Speicherbedarf verschiebt den Engpass von reiner Rechenleistung hin zu Speicher, was den Vorteil hoch paralleler Spezialhardware zumindest verkleinert.
Als Konzept steht Scrypt damit in einer Reihe mit anderen speicherintensiven Ansätzen wie Ethash, verfolgt jedoch ein anderes technisches Design und wird zusätzlich ausserhalb von Kryptowährungen zur Passwort-Speicherung genutzt.
Häufige Fragen
Wofür wurde Scrypt ursprünglich entwickelt?
Colin Percival entwarf Scrypt 2009 als speicherintensive Schlüsselableitungsfunktion, unter anderem zur sicheren Ableitung von Schlüsseln aus Passwörtern.
Welche Kryptowährungen nutzen Scrypt?
Am bekanntesten sind Litecoin und Dogecoin. Beide werden häufig über Merged Mining gemeinsam geschürft.
Warum galt Scrypt zunächst als ASIC-resistent?
Der hohe Speicherbedarf sollte den Vorteil hochparalleler Spezialhardware verringern. Später wurden dennoch Scrypt-ASICs entwickelt.
Was bedeutet memory-hard?
Eine memory-hard Funktion benötigt nicht nur Rechenzeit, sondern auch erheblichen Arbeitsspeicher, wodurch reine Rechenparallelisierung an Wert verliert.
Wird Scrypt nur im Mining eingesetzt?
Nein, Scrypt wird auch ausserhalb von Kryptowährungen zur sicheren Speicherung von Passwörtern verwendet und ist in RFC 7914 standardisiert.
Zusammenfassung
Scrypt ist eine 2009 von Colin Percival entworfene, speicherintensive Schlüsselableitungsfunktion, die als Proof-of-Work-Algorithmus vor allem von Litecoin und Dogecoin genutzt wird. Der hohe Speicherbedarf sollte Spezialhardware erschweren, was jedoch nur zeitweise gelang. Scrypt dient zudem ausserhalb des Krypto-Bereichs zur Passwort-Absicherung.
Weiterführende Quellen
- RFC 7914: The scrypt Password-Based Key Derivation Function: www.rfc-editor.org
- Wikipedia: scrypt: de.wikipedia.org