المؤلف: أونكار سينغ، كوينتيليغراف؛ المترجم: سونغ شيو، جولدن فاينانس
1. دور الأرقام العشوائية في blockchain
الرقم العشوائي (Nonce) هو رقم خاص يتم تعيينه للكتلة أثناء عملية تعدين blockchain، وهو جزء مهم من آلية توافق إثبات العمل (PoW).
باعتباره لغزًا مشفرًا، فإن الرقم nonce هو متغير يتلاعب به القائمون بالتعدين لإنشاء تجزئات تلبي متطلبات محددة. يستمر القائمون بالتعدين في تغيير الرقم حتى يعثروا على تجزئة تحتوي على الخصائص الضرورية، وعادةً ما تكون عبارة عن عدد معين من الأصفار البادئة. هذه العملية التكرارية، والتي تسمى التعدين، تضمن أمان blockchain.
تُعد الأعداد العشوائية الصحيحة ضرورية للتحقق من شرعية الكتل، وتلعب دورًا محوريًا في إنشاء الكتل. من خلال جعل العمل الحسابي اللازم للتلاعب بالبيانات كبيرًا جدًا، تقل احتمالية قيام الجهات الخبيثة بالتلاعب بالبيانات.
تُصبح عملية التعدين أكثر تعقيدًا بسبب أسلوب المحاولات والخطأ الذي ينطوي عليه العثور على العدد العشوائي الصحيح. إذا عثر المُعدّن على العدد العشوائي الصحيح، يُعتبر أن الكتلة صالحة، ما يبرز الدور الحاسم للأعداد العشوائية في الحفاظ على توافق سلسلة الكتل (البلوك تشين) وأمانها وسلامتها.
ثانيًا، أهمية الأعداد العشوائية في أمان سلسلة الكتل
إن تعدد وظائف الأعداد العشوائية يجعلها مهمة للغاية لدعم أمن البلوك تشين.
يعد ذلك حاسمًا لمنع الإنفاق المزدوج (double-spending)، لأن الإنفاق المزدوج قد يهدد سلامة العملة المشفرة. تتطلب سلسلة الكتل من المعدّنين تنفيذ عمليات حسابية عالية المتطلبات لاكتشاف قيمة عدد عشوائي محدد، مما يقلل احتمالية التلاعب الاحتيالي. وهذا يضمن تأكيد كل معاملة بشكل فريد.
بالإضافة إلى ذلك، من خلال فرض تكلفة حسابية على المهاجمين الذين يحاولون السيطرة على معظم الشبكة، يعزز المَجهول (العدد العشوائي) الحماية ضد هجمات الويفتش. يمكن لهذه الاستراتيجية منع الجهات الخبيثة من حقن هويات مزيفة في النظام.
علاوة على ذلك، تلعب الأعداد العشوائية دورًا مهمًا في الحفاظ على لا تتغير (ثبات) الكتل. أي محاولة لتغيير محتوى الكتلة تتطلب إعادة حساب العدد العشوائي، وهي مهمة غير عملية، لكنها تعزز سلامة البلوك تشين وقدرته على مقاومة العبث.
ثالثًا، كيف تُستخدم الأعداد العشوائية في شبكة بلوك تشين البيتكوين؟
يستخدم المُعدّنون الأعداد العشوائية في البيتكوين أثناء عملية التجربة والخطأ للعثور على قيمة تجزئة محددة تلبي معيار صعوبة الشبكة، وبالتالي يتحققون ويضيفون كتلة جديدة إلى سلسلة الكتل.
تشرح العملية خطوة بخطوة التالية كيفية حساب واستخدام العدد العشوائي في تعدين البيتكوين:
إعداد الكتل: يقوم المُعدّنون بتجميع مجموعة من المعاملات قيد الانتظار لإنشاء كتلة جديدة.
تتضمن الأعداد العشوائية: إضافة عدد عشوائي فريد إلى رأس الكتلة.
محاولات التجزئة: يستخدم المُعدّنون SHA-256 لعمل تجزئة للكتلة.
فحص الصعوبة: تتم مقارنة قيمة التجزئة بهدف الصعوبة الخاص بالشبكة.
عملية التكرار: يقوم المُعدّنون بضبط العدد العشوائي حتى يعثروا على قيمة تجزئة (هاش) تلبي الصعوبة، ثم يتحققون مما إذا كانت هذه الكتلة ستُضاف إلى سلسلة الكتل.
في سلسلة كتل البيتكوين، يتم ضبط صعوبة العثور على عدد عشوائي صالح ديناميكيًا للحفاظ على معدل ثابت لإنشاء الكتل. ولمواجهة التحدي الذي يواجهه المُعدّنون في إيجاد العدد العشوائي الصحيح الذي يبحث عن قيم تجزئة صالحة بالتوازي، بحيث يتناسب مع قدرات التجزئة الخاصة بالشبكة، فإن الصعوبة التكيفية تتكيف مع التغيرات في قدرات الحساب لدى الشبكة.
تزداد الصعوبة مع زيادة قدرات الشبكة، ما يتطلب قدرًا أكبر من القدرة الحاسوبية للعثور على العدد العشوائي المناسب. ومن ناحية أخرى، عندما تنخفض قدرة معالجة الشبكة، تنخفض الصعوبة أيضًا، مما يجعل إنشاء الكتل أسهل.
رابعًا، ما الأنواع المختلفة للأعداد العشوائية؟
سواء كانت الأعداد العشوائية مشفرة أم مرتبطة بدوال التجزئة أم توليدية في البرمجة، فهي تحمل أغراضًا مختلفة تهدف إلى ضمان سلامة البيانات في تطبيقات حسابية متنوعة.
على الرغم من أن هذا المفهوم يُستخدم على نطاق واسع في تقنية البلوك تشين، توجد أنواع مختلفة من الأعداد العشوائية في التطبيقات المختلفة. أحد الأنواع الشائعة هو الأعداد العشوائية التشفيرية، التي تُستخدم في البروتوكولات الأمنية، من خلال توليد قيمة فريدة لكل جلسة أو معاملة لمنع هجمات إعادة التشغيل.
نوع آخر من الأعداد العشوائية يشمل أعدادًا عشوائية مرتبطة بدوال التجزئة التشفيرية، حيث تُستخدم في خوارزميات التجزئة لتغيير قيمة المدخل العشوائي من أجل تغيير ناتج التجزئة. في البرمجة، قد يُشير مصطلح العدد العشوائي إلى القيم التي يتم توليدها لضمان تفرد البيانات أو تجنب التعارضات.
يعد فهم السياق والأهداف المحددة أمرًا بالغ الأهمية، لأن الأعداد العشوائية تأتي بأشكال متعددة، ويهدف كل شكل إلى تلبية متطلبات أمان أو وظائف محددة ضمن مجالات أوسع من علوم الحاسوب والتشفير.
خامسًا، ما الفرق بين قيمة التجزئة والعدد العشوائي؟
تعمل قيمة التجزئة كالبصمة الرقمية للبيانات، بينما يُعد العدد العشوائي رقمًا خاصًا يُستخدم ضمن لغز التشفير الآمن لإنشاء العملة الرقمية.
في سياق البلوك تشين، يُعد العدد العشوائي متغيرًا يستخدمه المُعدّنون لتوليد قيمة تجزئة تحقق شروطًا محددة، بينما تُعد قيمة التجزئة ناتجًا ثابت الحجم يُشتق من بيانات الإدخال. يوضح الجدول التالي الفرق بين قيم التجزئة والأعداد العشوائية.

سادسًا، الهجمات المتعلقة بالأعداد العشوائية في العملات الرقمية وكيفية الوقاية منها
في مجال التشفير، تتركز الهجمات المتعلقة بالأعداد العشوائية بشكل رئيسي حول استغلال العيوب في إنشاء الأعداد العشوائية أو إدارتها، لا سيما العيوب الموجودة في بروتوكولات التشفير.
ومن الأمثلة البارزة هجوم “إعادة استخدام العدد العشوائي”، حيث يتمكن الطرف الخبيث من إعادة استخدام الأعداد العشوائية أثناء عملية التشفير، مما يزيد من احتمال تعرض خصائص الأمان للأذى. ويعد هذا مهمًا بشكل خاص للأنظمة التي تعتمد على أن يظل العدد العشوائي فريدًا (مثل التوقيعات الرقمية والتشفير).
هجوم “العدد العشوائي القابل للتنبؤ” هو نوع شائع آخر من الهجمات، حيث يمكن للخصم التنبؤ بعمليات التشفير والتلاعب بها لأن الأعداد العشوائية تُظهر أنماطًا يمكن التنبؤ بها. بالإضافة إلى ذلك، يشمل هجوم “العدد العشوائي المتقادم” استخدام أعداد عشوائية قديمة أو كانت صالحة سابقًا لخداع النظام.
يجب على بروتوكولات التشفير ضمان فريدة وعدم قابلية التنبؤ بالأعداد العشوائية لمنع الهجمات المرتبطة بها. يعد التنفيذ الصحيح لتوليد الأعداد العشوائية أمرًا حاسمًا لضمان أن تكون احتمالات التكرار منخفضة. بالإضافة إلى ذلك، ينبغي أن يتضمن البروتوكول آليات لاكتشاف ورفض إعادة استخدام الأعداد العشوائية. في التشفير غير المتماثل، قد يؤدي تكرار استخدام الأعداد العشوائية إلى آثار خطرة، مثل كشف مفاتيح التشفير أو الإضرار بخصوصية الاتصالات المشفرة.
بالإضافة إلى ذلك، يساعد التحديث المستمر لمكتبات التشفير والبروتوكولات، والمراقبة الدائمة للاتجاهات غير الطبيعية لاستخدام الأعداد العشوائية، في الدفاع ضد متجهات الهجوم المتغيرة باستمرار. إن تقليل الثغرات المرتبطة بالأعداد العشوائية يتطلب اتباع أفضل ممارسات الأمن، مثل إجراء تقييمات دورية لتنفيذات التشفير والالتزام الصارم بالخوارزميات القياسية للتشفير.
