Semua artikel

Scrypt: mengapa algoritma ini membutuhkan begitu banyak memori

Di Indonesia, aset kripto diakui secara hukum sebagai komoditas yang diperdagangkan di bawah pengawasan Bappebti, bukan sebagai alat pembayaran sah — sebuah posisi tengah yang membuat perdagangan tetap legal sambil membatasi penggunaannya untuk transaksi sehari-hari. Bitcoin memakai SHA-256, tapi koin seperti Litecoin dan Dogecoin memakai scrypt untuk proof-of-work-nya, dan sifat memory-hard scrypt membuat penambangan ASIC khusus jauh lebih lambat berkembang dibanding untuk bitcoin.

Apa itu fungsi memory-hard

Algoritma memory-hard sengaja dirancang agar menghitung satu hash membutuhkan penyimpanan data perantara dalam jumlah besar di memori. Mencoba menghemat memori dengan mengorbankan perhitungan ulang nilai justru meningkatkan waktu komputasi secara tajam — artinya penyerang harus mengorbankan memori atau kecepatan.

Mengapa ini mempersulit serangan pada perangkat keras khusus

Chip ASIC dan GPU sangat efisien dalam menjalankan operasi aritmatika sederhana secara paralel massal, tapi menambahkan memori ke setiap thread komputasi paralel jauh lebih mahal dan skalanya lebih buruk. Scrypt membuat serangan brute force pada perangkat keras semacam itu secara ekonomi kurang menarik dibandingkan fungsi hash klasik.

Untuk apa ini dibutuhkan

  • Memilih algoritma hashing kata sandi yang tahan terhadap serangan farm GPU.
  • Memahami konsep fungsi memory-hard dalam konteks kriptografi.
  • Membandingkan trade-off scrypt versus bcrypt dan Argon2 untuk sistem tertentu.

Berapa Banyak Memori yang Sebenarnya Dibutuhkan

Jumlah memori untuk satu komputasi scrypt kurang lebih sama dengan 128 × N × r byte. Pada parameter umum (N=16384, r=8), ini sekitar 16 megabyte per hash — tidak signifikan untuk satu login, tetapi jika server harus menangani ribuan autentikasi bersamaan, total kebutuhan memori dengan cepat menjadi batasan nyata dalam pemilihan parameter, bukan sekadar persyaratan keamanan abstrak.

Coba alat