ما هي دالة التجزئة؟
دالة التجزئة هي عملية رياضية أحادية الاتجاه تحول أي مدخل إلى إخراج قصير ثابت الحجم يسمى هاش. نفس المدخل، نفس الإخراج، في كل مرة. فكر فيها كبصمة رقمية للبيانات التي ترفض أن تُفكّ تشفيرها عكسياً، نعم، هي بسيطة إلى هذا الحد.
دالة التجزئة ليست تشفيراً يمكنك فكّه لاحقاً. هي أحادية الاتجاه من التصميم، لذا تقارن الهاشات للتحقق من النزاهة بدلاً من "فك التشفير" لأي شيء.
كيف تعمل دالة التجزئة
جولة سريعة، بدون حشو. تخيَّل أنك تكتب رسالة أو تجمع مجموعة من المعاملات. الخوارزمية تقضم ذلك الإدخال وتخرج سلسلة طول ثابت تبدو عشوائية لكنها متسقة تماماً مع ذلك الإدخال بالذات.
- الخطوة 1: تغذي البيانات، بأي حجم، من كلمة واحدة إلى رأس كتلة كامل.
- الخطوة 2: تقلب الخوارزمية البتات بطريقة دقيقة؛ حتى "hello" يخرج إلى هضم hex محدد.
- الخطوة 3: تحصل على إخراج بطول ثابت، مما يجعل التخزين والمقارنة بسيطين.
- الخطوة 4: تغيير حرف واحد وتتغير الإخراج بشكل غير متوقع. لا يوجد هاșhes "قريبة من بعضها".
- الخطوة 5: على سلاسل الكتل، المعدّنون يحاولون عدد لا حصر له من النونسات حتى يتناسب الهاش مع هدف الشبكة.
هذه اللعبة البحثية تسمى التعدين، وتبقي الكتل صادقة.
لماذا تهم دالة التجزئة
إذن ما المشكلة؟ لأن هذا هو الطريقة التي تحافظ بها البلوكتشينات على السجلات وتؤكدها بسهولة وبدون تلاعب.
- الفائدة: فحوصات النزاهة السريعة توفر الوقت والرسوم والدراما عند نقل البيانات والقيمة.
- وجهة نظر: إنها العمود الفقري لـ Proof of Work، تحويل الكهرباء والحوسبة إلى أمان يمكن التحقق منه.
- الصلة: ترى ذلك في المعاملات، رؤوس الكتل، Merkle roots، وحتى تنزيلات الملفات.
عند التحقق من ملف أو معاملة، قارن الهَاشات من مصدرين موثوقين على الأقل. إذا اختلف رقم واحد، اعتبره علامة حمراء.
السمات الرئيسية لدالة التجزئة
هذه السمات تجعلها أداة مفضلة من البيتكوين إلى فحوصات الملفات الأساسية:
- تحديدية: نفس المدخل يعطي دائماً نفس الإخراج.
- موحدة: تظهر الإخراجات بشكل موزع بالتساوي، مما يساعد على تجنب الأنماط التي قد يستفيد منها المهاجمون.
- ثابتة: طول الإخراج لا يعتمد على حجم المدخل، مما يسهل التخزين والمقارنة.
- انفجار/انزياح (Avalanche): تغييرات دقيقة في المدخل تُنتج هاشاً مختلفاً كلياً.
- أحادي الاتجاه: بالنظر إلى الهاش، العثور على مدخل ينتجه يجب أن يكون مستحيلاً.
- تصادم: العثور على مدخلين مختلفين لهَاش واحد يجب أن يكون صعباً للغاية.
التنوعات
سلاسل الكتل والتطبيقات مختلفة تختار خوارزميات مختلفة، كل منها له مقايضاته وأجواؤه:
- SHA256: مستخدمة في كتل Bitcoin وفي العديد من أنظمة الإثبات، مجربة ومراجَعة على نطاق واسع.
- Keccak: تستخدم Ethereum Keccak 256 للعناوين والعقود، كما أنها شائعة في أدوات العقود الذكية.
- BLAKE3: تصميم أحدث يركز على السرعة والأداء المتوازي للبيانات الكبيرة.
- السرعة: بعض الخوارزميات أسرع، مفيدة للقدرات العالية من التدفق.
- الأمان: اختر تلك التي خضعت لدراسة علنية لسنوات.
- التوافق: اختر ما تدعمه الحزمة والمكتبات لديك بشكل واضح.
هاش فقط يثبت أن البيانات بقت كما هي. هو لا يثبت من أنشأها ما لم تقارنها بالتوقيعات.
مثال
Bitcoin يحوّل المفتاح العام إلى عناوين المحفظة عبر هَاشه من خلال الخوارزميات القياسية، لذا فالعنوان قصير وقابل للتحقق وآمن للمشاركة.
معلومة ممتعة
MD5 وSHA1 لديهما تصادمات معروفة، وهذا هو السبب في أن مجتمع التشفير يعاملها كتقنية قديمة لكنها لا تعتمد عليها للأمان. قديمة، لكنها ليست لأموالك.
الختام
ملخص سريع: تمنح دالة التجزئة البيانات بصمة فريدة حتى تتمكن من اكتشاف التلاعب بسرعة وتوثيق الإيصالات دون الحاجة إلى وسيط.