عندما نسمع كلمة التشفير، يتبادر إلى أذهاننا بشكل مباشر عملية إخفاء المعلومات بطريقة لا تسمح لأحد بقراءتها. وفي عالم البلوكتشين يتم استخدام تقنية أخرى لا تقل أهمية عن عمليات التشفير، وهي دوال التجزئة Hashing، والتي تعتبر أحد أهم الأسس التي تعمل عليها العملات الرقمية المشفرة.
على الرغم من أن Hashing تُعد أحد علوم التشفير، إلا أنها في الحقيقة لا تهدف إلى إخفاء البيانات، بل تعمل على إنتاج بصمة رقمية فريدة من نوعها تمثل تلك البيانات. بحيث يتم استخدام هذه البصمات الرقمية للتحقق من سلامة المعلومات الأصلية ومنع التلاعب بها. لهذا السبب تعتمد معظم شبكات البلوكتشين على عمليات التجزئة، سواء في عمليات الربط بين البيانات أو في تنفيذ عمليات التعدين وحتى في التحقق من المعاملات.
ما المقصود بعمليات التجزئة Hashing؟
التجزئة (Hashing) هي عملية رياضية تستقبل بيانات بأي حجم كان، ثم تعمل على تحويلها إلى قيمة رقمية ذات طول ثابت يُطلق عليها اسم Hash Value أو البصمة الرقمية، وذلك من خلال استخدام خوارزميات وبرمجيات متخصصة في تنفيذ مثل هذه العمليات يُطلق عليها اسم Hash Function (دوال التشفير).
تتميز عمليات Hashing بعدد من الخصائص، ومنها:
- إمكانية إدخال أحجام متفاوتة من البيانات، من ملف صغير الحجم إلى قاعدة بيانات ضخمة، وتكون النتيجة دائمًا بنفس الطول.
- التعديل الطفيف جدًا في البيانات المدخلة، حتى لو كان مسافة فارغة، ينتج عنه بصمة مختلفة تمامًا.
- من غير الممكن استعادة البيانات الأصلية من خلال قيمة Hash.
لذلك، يتم استخدام Hash Function من أجل التحقق من سلامة البيانات، وليس لتخزينها أو إخفائها.
مبدأ عمل دوال التجزئة
تعمل دوال التجزئة من خلال منح كل خوارزمية Hash طول ثابت من المخرجات، حيث تنتج خوارزمية SHA-256 قيمة بطول 256 بت، بينما تنتج خوارزمية SHA-1 قيمة بطول 160 بت. على سبيل المثال، لو قمنا بتمرير كلمة Blockchain عبر خوارزمية SHA-256، ثم غيّرنا حرفًا واحدًا من الكلمة، فإن قيمة Hash الناتجة ستتغير بالكامل، على الرغم من أن التغيير في البيانات الأصلية كان بسيطًا للغاية. وهذا ما يجعل دوال التجزئة وسيلة فعالة لاكتشاف أي تعديل يحدث في البيانات المسجلة على السجل الموزع في شبكات البلوكتشين المختلفة.
لماذا تعتبر دوال Hash أحادية الاتجاه؟
يُطلق على دوال Hash بأنها أحادية الاتجاه، وهذا يعني أنه من السهل إنتاج قيمة Hash إذا انطلقنا من البيانات الأصلية، بينما يُعد استرجاع البيانات إذا انطلقنا من قيمة Hash أمرًا غير عملي من الناحية الحسابية. حيث يجب على الشخص الذي يرغب بمعرفة البيانات الأصلية من قيمة Hash، تجربة كمية هائلة ولا نهائية من الاحتمالات تُدعى Brute Force، الأمر الذي يستنزف القدرة الحوسبية والطاقة الكهربائية بشكل مبالغ فيه. لذلك، يتم استخدام دوال Hash في العديد من التطبيقات التي تسعى إلى تأمين المعلومات مثل التوقيعات الرقمية، التحقق من سلامة الملفات، تخزين كلمات المرور، وحماية شبكات البلوكتشين.
لماذا يعتمد البلوكتشين على Hashing؟
هناك العديد من الأغراض التي تتطلب من البلوكتشين الاعتماد على Hash، ومن أهمها ما يلي:
- إنشاء شجرة تاريخ شبكة البلوكتشين (Merkle Tree)، التي تسهّل عمليات التحقق من المعاملات.
- المساهمة في التحقق من صحة المعاملات وسلامتها.
- ربط Blocks (الكتل) ببعضها البعض بطريقة تمنع أي تعديل في السجل التاريخي.
- دعم طريقة التعدين وإثبات العمل Proof of Work.
لذلك، يمكن اعتبار Hashing أحد الأعمدة الرئيسية التي تمنح البلوكتشين خاصية ثبات المعلومات وعدم قابليتها للتعديل Immutability.
خصائص دوال التجزئة
تتميز دوال Hash بعدد من الخصائص التي تمنحها القابلية لأن تكون مناسبة للاستخدامات الأمنية:
- مقاومة الاصطدام (Collision Resistance)من غير العملي إنتاج قيمة Hash واحدة لمدخلين مختلفين، على الرغم من أن هذا الاحتمال ممكن نظريًا. والسبب يعود إلى محدودية كمية المخرجات مقارنة بكمية المدخلات الممكنة. لهذا السبب لم تعد الخوارزميات القديمة مثل SHA-1 مناسبة للاستخدام في المجالات الأمنية، حيث تعتمد معظم تطبيقات البلوكتشين اليوم على SHA-256 وكذلك SHA-3.
- مقاومة الاسترجاع (Preimage Resistance)عدم إمكانية معرفة البيانات الأصلية انطلاقًا من قيمة Hash بشكل عملي، حيث تُعد هذه الخاصية من أهم الأسباب التي جعلت استخدام Hash في التحقق من صحة البيانات دون الحاجة إلى الكشف عن محتواها.
- مقاومة الاسترجاع الثاني (Second Preimage Resistance)يُقصد هنا أنه من غير الممكن عمليًا العثور على بيانات مختلفة تنتج نفس قيمة Hash المعروفة الخاصة بها. حيث تمنع هذه الخاصية المهاجمين من استبدال البيانات الأصلية بأخرى مختلفة مع الاحتفاظ بالبصمة الرقمية نفسها.
العلاقة بين التجزئة Hashing والتعدين Mining
دور Hashing في البلوكتشين يتجاوز التحقق من صحة وسلامة البيانات إلى العديد من العمليات التي تضمن سير العمل في الشبكة. حيث تمثّل Hashing الأساس الذي تعتمد عليه خوارزمية إثبات العمل Proof of Work، تلك الخوارزمية التي تعتمد عليها شبكة البيتكوين من أجل التوصل إلى توافق بين جميع المشاركين في الشبكة.
في كل عملية Mining (تعدين)، يعمل المعدّنون على تنفيذ أعداد وكميات هائلة من عمليات Hash، وذلك من أجل البحث عن قيمة تحقق الشروط التي تفرضها الشبكة. هذا الأمر يجعل تأمين شبكة البلوكتشين مبنيًا على العمل الحسابي الحقيقي، وليس على الثقة بين الأطراف.
مبدأ عمل عملية التعدين Mining
يلتبس على الكثيرين دور التعدين في شبكات البلوكتشين، حيث أن التعدين لا يعني صناعة عملات بيتكوين جديدة، بل هي عملية تحقق من المعاملات وإضافة كتلة من البيانات Block إلى سلسلة الكتل Blockchain.
يعمل المعدّنون على جمع المعاملات المعلّقة (التي لم يتم التحقق منها واعتمادها) وتنظيمها داخل مجموعة بيانات جديدة تُدعى كتلة Block، ثم يضيفون قيمة رقمية عشوائية تُسمى Nonce، ويعيدون تشغيل خوارزمية SHA-256 مرات متتالية. يستمر المعدّنون في تغيير قيمة Nonce وإعادة حساب Hash في كل مرة، حتى يحصلوا على قيمة تحقق شرطًا معينًا تفرضه الشبكة، وهو أن يبدأ ناتج Hash بعدد محدد من الأصفار.
لسوء الحظ، ليس هناك طريقة رياضية تتنبأ بشكل استباقي بالقيمة الصحيحة، لذلك تعتمد العملية بالكامل على التجربة والخطأ Brute Force، وهذا ما يجعل عمليات التعدين تحتاج إلى قدرة حوسبية وطاقة كهربائية هائلة.
ما هو دور التعدين في تأمين شبكة البيتكوين؟
في شبكة البيتكوين لا يبحث المعدّنون عن حدوث التصادم Collision في دوال Hash، بل يبحثون عن قيمة Hash التي تحقق مستوى الصعوبة التي تحددها الشبكة. وبسبب أن الوصول إلى هذه القيمة يتطلب تنفيذ كمية هائلة من العمليات الحسابية واستهلاك قدر كبير من الطاقة الكهربائية، فإن محاولة إعادة كتابة السجل الموزع أو التلاعب به تصبح مكلفة اقتصاديًا إلى درجة تجعلها غير مجدية في العديد من الحالات. وبذلك يزداد مستوى أمان شبكة البيتكوين كلما زادت القدرة الحاسوبية المشاركة في التعدين، وذلك بسبب أن تكلفة مهاجمة الشبكة ترتفع بصورة مستمرة.
الخلاصة
قد يتبادر إلى ذهننا للوهلة الأولى أن دوال التجزئة مجرد خوارزميات رياضية، لكنها في الحقيقة تمثل الأساس الذي تقوم عليه الثقة في شبكات البلوكتشين. حيث أنها لا تقتصر على سلامة البيانات فحسب، بل تعمل على ربط الكتل ببعضها البعض، وحماية المعاملات من التلاعب، بالإضافة إلى كونها الركيزة الأساسية لآليات التعدين وإثبات العمل PoW. بفضل هذه الخصائص، أصبح بإمكاننا إنشاء سجل رقمي موزع يتميز بدرجة عالية من الأمان والموثوقية دون الحاجة إلى جهة مركزية للإشراف عليه.
لذلك لم يعد فهم Hashing مجرد معرفة تقنية، بل خطوة أساسية لفهم الكيفية التي تعمل بها العملات الرقمية المشفرة وتقنيات البلوكتشين بصورة شاملة.