كل المقالات

Scrypt: لماذا تحتاج الخوارزمية إلى كل هذه الذاكرة

دبي، عبر سلطة تنظيم الأصول الافتراضية (VARA) التي أُنشئت عام 2022، وأبوظبي عبر مركزها المالي العالمي، جعلتا من الإمارات إحدى أكثر البيئات ترحيبًا بتنظيم العملات المشفرة في العالم، ما جذب شركات تعدين وتداول كبرى إلى المنطقة. بيتكوين يعتمد على SHA-256، لكن عملات مثل Litecoin تعتمد على scrypt تحديدًا لأن طبيعته "الشرهة للذاكرة" جعلت تعدينها بأجهزة ASIC المتخصصة أقل جدوى اقتصاديًا لفترة أطول بكثير.

ما هي دالة memory-hard

تُصمَّم خوارزمية memory-hard عمدًا بحيث يتطلب حساب تجزئة واحدة الاحتفاظ بكمية كبيرة من البيانات الوسيطة في الذاكرة. محاولة توفير الذاكرة على حساب إعادة حساب القيم تزيد بدلًا من ذلك وقت الحوسبة بشكل حاد — أي أن على المهاجم التضحية إما بالذاكرة أو بالسرعة.

لماذا يُصعّب هذا الهجمات على الأجهزة المتخصصة

شرائح ASIC ووحدات GPU فعّالة جدًا في تنفيذ عمليات حسابية بسيطة بالتوازي على نطاق واسع، لكن إضافة الذاكرة إلى كل مسار حوسبة متوازٍ تكلّف أكثر بكثير وتتوسّع بشكل أسوأ. تجعل scrypt الهجوم المباشر على أجهزة كهذه أقل جدوى اقتصاديًا مقارنة بدوال التجزئة الكلاسيكية.

لماذا نحتاج هذا

  • اختيار خوارزمية تجزئة كلمات مرور مقاومة لهجمات مزارع GPU.
  • فهم مفهوم دوال memory-hard في سياق التشفير.
  • مقارنة موازنات scrypt مقابل bcrypt وArgon2 لنظام معيّن.

كم من الذاكرة يلزم فعليًا

تبلغ الذاكرة اللازمة لعملية حساب واحدة من scrypt تقريبًا 128 × N × r بايت. عند المعاملات النموذجية (N=16384، r=8) يعادل ذلك نحو 16 ميغابايت لكل هاش — وهو أمر ضئيل بالنسبة لعملية تسجيل دخول واحدة، لكن إذا كان على الخادم معالجة آلاف عمليات المصادقة المتزامنة، يصبح إجمالي الذاكرة المطلوبة قيدًا فعليًا حقيقيًا عند اختيار المعاملات، لا مجرد متطلّب أمني نظري.

جرّب الأداة