Fungsi "Memory-Hard" vs. "Memory-Bound"?
Salah satu pendekatan untuk mencegah serangan Sybil atau DoS adalah PoW yang terikat pada CPU. Namun, karena pengaruh hukum Moore, pendekatan berbasis memori disarankan.
Sebenarnya ada dua istilah yang berbeda: (1) fungsi memori-hard dan (2) fungsi terikat memori ;
Apakah itu berarti kita memiliki dua teknik berbasis memori yang berbeda?
Dan jika ya, Apa perbedaan antara kedua istilah ini?
Jawaban
Definisi Wikipedia jelas;
fungsi yang terikat memori ;
Memori terikat mengacu pada situasi di mana waktu untuk menyelesaikan masalah komputasi tertentu ditentukan terutama oleh jumlah memori yang diperlukan untuk menyimpan data.
Ini diusulkan untuk digunakan melawan spam, pertama terikat dengan CPU, kemudian terikat dengan memori. Algoritme ini membutuhkan untuk mengakses memori dengan cara yang tidak dapat diprediksi sehingga cache tidak efektif. Ini mencegah para spammer.
fungsi memori-hard
Dalam kriptografi, memory hard function (MHF) adalah fungsi yang membutuhkan banyak memori untuk dievaluasi. Ini berbeda dari fungsi terikat memori, fungsi yang terakhir menimbulkan biaya dengan memperlambat komputasi melalui latensi memori. MHF menemukan penggunaannya sebagai bentuk bukti kerja.
Ini bertentangan dengan paralelisasi besar-besaran dari hashing, dll. Misalnya penambang bitcoin membuat peternakan untuk perhitungan SHA2d karena SHA2 bukanlah hard memory.
Ada dua varian
- Tergantung Data
- Data independen
Misalnya Argon2 memiliki kedua mode dan bahkan digabungkan. Argon2i untuk data independen dan Argon2d untuk data dependen. Dalam mode gabungan Argon2id.