Co to jest skrypt?

Scrypt to funkcja wyprowadzania klucza oparta na hasłach (PBKDF), która została pierwotnie zaproponowana jako alternatywa dla innych funkcji wyprowadzania kluczy, takich jak PBKDF2 i bcrypt. Został zaprojektowany tak, aby był bezpieczniejszy przed określonymi typami ataków, szczególnie tymi, które wykorzystują specjalistyczny sprzęt, taki jak układy scalone specyficzne dla aplikacji (ASIC) i jednostki przetwarzania grafiki (GPU).

Główne cechy i cele projektowe Scrypt to:

1. Twardość pamięci: Scrypt wymaga dużej ilości pamięci do działania, co czyni go odpornym na ataki ze strony niestandardowych implementacji sprzętu, takich jak układy ASIC lub procesory graficzne, które mają ograniczoną pamięć w porównaniu do ich mocy obliczeniowej.

2. Odporność na równoległość: Scrypt jest z natury sekwencyjny, co oznacza, że ​​obliczeń nie można łatwo zrównoleglić, co ogranicza potencjalne przyspieszenie wynikające z użycia wielu jednostek przetwarzających lub rdzeni.

3. Rozciąganie klucza: Podobnie jak inne PBKDF, Scrypt służy do rozciągania klucza, co polega na wyprowadzaniu długiego klucza z krótkiego hasła lub hasła, co czyni go bardziej odpornym na ataki typu brute-force.

Scrypt jest używany w różnych kryptowalutach, w tym Litecoin, Dogecoin i Verge, jako funkcja wyprowadzania klucza dla ich algorytmów konsensusu Proof-of-work (PoW). Korzystając z Scrypt, te kryptowaluty mają na celu uczynienie procesu wydobycia bardziej dostępnym dla zwykłych komputerów i przeciwstawienie się centralizacji mocy wydobywczej, która może wystąpić w przypadku wyspecjalizowanego sprzętu, takiego jak układy ASIC.

Chociaż Scrypt został zaprojektowany tak, aby był bezpieczniejszy przed niektórymi rodzajami ataków, należy pamiętać, że jego gwarancje bezpieczeństwa opierają się na określonych zastosowanych parametrach i dostępności wystarczających zasobów pamięci. W miarę ewolucji mocy obliczeniowej i możliwości sprzętu może zaistnieć potrzeba ponownej oceny efektywności Scrypt i zbadania alternatywnych funkcji wyprowadzania klucza twardego z pamięci.