لدى قرائتك لهذه المقالة، ستتعرف على المواضيع التالية:

  • ما هو الهاش والهاشينغ و ما هي استخدامتها في شبكة البلوك تشين؟
  • ما هو معدل هاش البيتكوين؟
  • الهاش هو تابع یلبي طلب التشفير اللازم لمحسابات البلوك تشين
  • الهاش مشابه لطريقة الحل أو جواب المسألة، وهو يشكّل أساس شبكة البلوك تشين 
  • للهاشات حجم ثابت وواضح، الأمر الذي يجعل من المستحيل على الشخص الذي يحاول حل شيفرة الهاش تخمين طوله
  • يتم تطوير الهاش بناءً على المعلومات الموجودة في ترويسة  كل بلوك (block header)

 

دعونا في البداية نتعرف على المفهوم العام للهاش (hash):

 تابع الهاش (Hash Function) هو في الحقيقة تابع يأخذ مُدخلاً مكوّناً من حروف وأعداد ذات طول ثابت ويقوم بتحويلها إلى حروف وأعداد مشفّرة.

تُستخدم توابع الهاش في جميع أنحاء الإنترنت، فمثلاً يتم استخدامها في تخزين كلمات المرور والحفظ بسرعة والعثور على السجلات المكرّرة واسترجاع المعلومات وما إلى ذلك.

يتم إيجاد الهاش باستخدام خوارزمية معيّنة، ويعد ضرورياً لإدارة البلوك تشين، كما يعتبر أساس شبكة البلوك تشين، حيث يلعب الهاشيغ دوراً أساسياً في إنشاء تقنية البلوك تشين.

إذا كنت ترغب في فهم كيفية عمل تقنية البلوك تشين، فأنت بالتأكيد بحاجة إلى فهم مصطلح الهاشينغ بشكل صحيح.

 

ولكن ماذا يعني الهاشينغ؟

يستخدم الهاشينغ دالّة رياضيّة لتحويل قيمة إلى أخرى. الهاشينغ هو أحد الطرق لتوفير الأمان عند إرسال رسالة (عندما نريد أن نجعل رسالة قابلة لأن يتم التعرف عليها من قبل مستلم معيّن فقط).

لفهم هذا الموضوع بشكل أفضل، تخيّل معنا المثال البسيط التالي:

لنفترض أنك تريد إرسال رسالة مهمة إلى شخص ما، ويجب أن تصل هذه الرسالة إلى ذلك الشخص بذات التنسيق والمحتوى.. كيف تفعل ذلك؟

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

 

حسناً يا أصدقاء.. دعونا نقوم بمناقشة الموضوع بشكل أكثر تخصصيّة:

يبدأ فك تشفير هاش معين باستخدام المعلومات الموجودة في ترويسة البلوك (block header)، ويتطلب بالضرورة حل مسائل رياضية معقّدة.

تحتوي كل ترويسة بلوك على رقم إصدار (version number)، وطابع زمني (timestamp)، والهاش المُستخدم في البلوك السابق، وهاش ميركل روت (Merkel Root)؛ وهو هاش لجمیع الهاشات الموجودة لجميع معاملات الشبكة، و الـ نونس(nonce)؛ وهو العدد الذي يحاول المعدّنون العثور عليه، وهاش الهدف (target hash).

يركز المعدنون على النونس (nonce)، والذي هو عبارة عن سلسلة من الأرقام. يضاف هذا الرقم إلى العناصر التي تم تطبيق الهاش عليها في البلوك السابق، ثمّ يتم عمل هاش لهم معاً.

إذا كان الهاش الجديد أقصر أو مساوٍ لهاش الهدف، فيتم قبوله كحل (solution)، وفي هذه الحالة، يتلقّى المُعدّن مكافأته، وتتم إضافة البلوك إلى شبكة البلوك تشين.

ملاحظة مهمّة: تعتمد عمليّة التحقق من صحة المعاملة في البلوك تشين على المعلومات التي يتم تشفيرها باستخدام خوارزمية الهاش (hashing algorithmic).

يتطلّب حل الهاش تحديد سلسلة من الأرقام التي يجب استخدامها على أنّها نونس (nonce)، حيث تتطلّب هذه العمليّة أيضاً الكثير من التجربة والخطأ، وذلك لأن النونس هو عبارة عن سلسلة عشوائية من الأرقام.

احتمال أن يتمكّن المعدّن من العثور على النونس من المحاولة الأولى ضعيفٌ جداً، الأمر الذي يعني أنّه من الممكن أن يقوم المُعدّن باختبار عدد كبير من خيارات النونس لإيجاد نونس صحيح.

كلّما كان هذا الأمر أكثر صعوبة، وهو مقياس لمدى صعوبة إنشاء الهاش المطابق لاحتياجات هاش الهدف (target hash)، كلّما احتاج المعدّن إلى مزيد من الوقت لإنتاج هذا الحل.

مثال عن الهاش

الآن دعونا نبسّط ذلك بمثال:

الهاش الذي يأخذ كلمة “hello” كمُدخَل، سيُنشئ مخرجاً بطول جملة “I am going to store”. التابع الذي يتم استخدامه لإنشاء الهاش هو تابع جبري (deterministic)، مما يعني أنّه سيولد نفس المُخرجات عن طريق إعطاء نفس المدخلات بمرور الوقت.

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

الهاش والتعدين

تتطلب معالجة توابع الهاش المُستخدمة في تشفير البلوكات الجديدة قدراً كبيراً من قوّة المعالجة، حيث أن قوة المعالجة العالية هذه مكلفة. من أجل لفت انتباه الأفراد والشركات المعروفين باسم “المعدّنين“، وبهدف الاستثمار في التكنولوجيا اللازمة للتعدين، فإن شبكة العملات المشفّرة تقدّم لهم رموز العملات المشفّرة بالإضافة إلى تكاليف معالجة المعاملات.

يحصل المعدّنون على هذه المكافأة فقط إذا كانوا أول من يتمكن من توليد الهاش المطابق للمواصفات المذكورة.

الهاش والتعدين

كيف يتم قياس معدل الهاش؟

لقیاس معدّل الهاش، يجب استخدام وحدة الهاش على الثانية (H/S)، حيث تُستخدم هذه الصيغة لحساب معدّل الهاش في كل ثانية. معدّل الهاش يحتوي على واحدات أصغر وأكبر، والتي أدرجنا بعضها أدناه:

  • كيلو هاش في الثانية ( 1 KH/S) ويعادل: ألف هاش في الثانية
  • ميغا هاش في الثانية (1 MH/ S) ويعادل: مليون هاش في الثانية
  • غيغا هاش في الثانية (1 GH/S) ويعادل: مليار هاش في الثانية
  • تيرا هاش في الثانية (1 TH/S) ويعادل: ترليون هاش في الثانية
  • بيتا هاش في الثانية (1PH/S) ويعادل: كوادريليون هاش في الثانية
  • إكسا هاش في الثانية (1 EH/S) ويعادل: كوينتيليون هاش في الثانية
  • زيتا هاش في الثانية (1 ZH/S)ويعادل: سكستليون هاش في الثانية
  • يوتا هاش في الثانية (1 YH/S) ويعادل: سيبتليون هاش في الثانية

ما هو معدل هاش البيتكوين؟

كما أسلفنا ، فإن وحدة قياس معدل الهاش هي هاش في الثانية أو H/S، ويستخدم هذا المعيار لقياس قوة معدِّن ما في تعدين البیتکوین.

على سبيل المثال ، إذا كان معدل الهاش لجهاز ما هو 60 هاش في الثانية ، فهذا يعني تقديم 60 هاش مختلف كإجابة لحل البلوك، والذي يعتبر لغزاً في الواقع. كلما ارتفع رقم معدل الهاش ، زادت صعوبة تعدين البيتكوين.

 

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

 

کم بیتکوین في كل تيرا هاش؟

حالياً، معدل هاش البيتكوين الحالي هو خمسون إكسا هاش في الثانية، وبالطبع، يزداد هذا المعدل بدخول معدّنين جدد إلى الشبكة، وبالتالي تزداد صعوبة التعدين.

 

نتمنّى أن تكونوا قد استفدتم من هذه المقالة. إذا كان لديكم أي سؤال اتركوا لنا تعليقاً في الأسفل، وسنقوم بالرد عليه.

فيديو عن الموضوع الهاش

اسأل هنا