ساهم الرعيل الأول من مُستخدمي بيتكوين في نشر فكرة خاطئة حول هذه العُملة والتي تنص على أنه يتم استخراج هذه العُملات من مناجم (أي يتم التنقيب عنها). قد نفهم السبب الكامن وراء اختيار هذا المُصطلح لربط هذه العُملة بالمعادن الثمينة كالذهب والفضة، لكن يبدو بأن اختيار هذا المُصطلح أضاف الكثير من الغموض ولم يُسهل فهم آلية عمل هذه العُملة. لكي تتضح الصورة بشكل أفضل فيجب أن نعلم بأن مُبدعي عُملة بيتكوين لم يخترعوا أية آليات جديدة في عالم التشفير وإنما اعتمدوا على ما هو مُتعارف عليه في مجال التشفير ليضمنوا أن عمليات الدفع التي تتم عبر هذه العُملة آمنة عبر شبكات الند للند وهو أمر في يُعتبر في حد ذاته إنجازا عظيما.
منصة تنقيب
مبدئيا يُمكن اعتبار بيتكوين كسجل حسابات ضخم يحتفظ بأي “عنوان” يملك أي بيتكوين. تقون كل نسخة من تطبيق بيتكوين بتحميل نسخة كاملة من هذا الدفتر وهو ما يُمكن الجميع من التوافق والتفاهم على أي عُنوان يُملك أي بيتكوين. تقوم شبكة بيتكوين بحماية هذا السجل من أي عمليات تغيير مُحتملة عبر جُملة من عمليات التشفير التي تنتج عنها هاشات Hash وعمليات إثبات العمل proof of work. لا تعرف ما المقصود بهذه المُصطلحات؟ إليك شرحا لها:
يتم استخدام تقنيات Hashing في عدة مجالات برمجية. الفكرة التي تقوم عليها هذه العمليات هو أخذ بيانات ذات طول مُعين وتوليد “توقيع” خاص بها ذي طول مُحدد يكون عادة أقصر بكثير من طول البيانات الأصلية لكنه يقوم بتمثيلها والنيابة عنها.
لنأخذ المثال التالي: لنفرض بأنني أرسلت إليك ملفا كبير الحجم ترغب في تحميله، ولنفرض بأن هناك احتمال أن يُصاب هذا الملف بعطب خلال عملية التحميل. لنتحقق من أن الملف الذي أنهيت تحميله هو نفس الملف الذي قمت بإرساله لك من دون أية أعطاب أو تغييرات فإنه يكفي أن نقارن ناتج عملية تدقيق المجموع checksum (أحد أبسط الأمثلة عن استخدام تقنيات Hashing) للملف المُرسل والملف الذي تم تحميله. كل ما تحتاجه للقيام بعملية checksum هو جمع جميع البايتات (Bytes) في الملف وكلما تجاوز المجموع قيمة مُعينة تقوم أنت بتحديدها (ولنفرض أننا نود الحصول على نتيجة من رقمين فقط) فإننا نتخلص من الفائض ونواصل عملية الجمع. بمعنى أنه لو كانت نتيجة الجمع الحالية تُساوي 89 وكانت القيمة التالية التي ستقوم بإضافتها هي 22 فإن المجموع الذي كان يُفترض به أن يكون 111 سيتحول إلى 11 فقط (بعد التخلص من الفائض المُتمثل في المئة) ونواصل عملية الجمع. بعد إنهاء عملية الجمع هذه سينتج لديك عدد مُكون من رقمين فقط يقوم بتمثيل الملف، حيث أن أي تغيير أو عطب يُصيب الملف لدى التحميل سينتج عنه تغير في قيمة عملية checksum الملف المُحمّل مُقارنة بناتج نفس العملية على الملف الأصلي. بعبارة أخرى إن كانت نتيجة عملية checksum على الملفين مُتطابقة فإن احتمال تعرض الملف لعطب أو تغيير مُنخفض جدا. يتم استخدام الهاشات أيضا للتحقق من سلامة البيانات وعدم تعرضها للتغيير، فلو كنت أملك قيمة الهاش لمعلومة مُعينة فإنه يُمكنني معرفة ما إذا تم إحداث تغيير عليها بمُجرد التحقق من قيمة الهاش ومُقارنتها بالقيمة الأولى، وهذا بالتحديد ما يقوم به بيتكوين للحفاظ على سلامة بيانات سجله الضخم، إلا أن العملية التي يستخدمها بيتكوين ليست عملية checksum التي لا تملك أي بُعد تشفيري، وإنما يستخدم الهاشات التي تنتج عن خوارزمية التشفير SHA256 رغم أن مبدأ عمل الخوارزمية هو نفسه.
يقوم بيتكوين بحفظ كل معلومة/مُدخلة في سجله مرفقة بهاش خاص بها وبالتالي فإنه يُمكن للجميع التحقق من صحة البيانات وعدم تغييرها. لكن ألا يكفي إن أردت تغيير البيانات في حد ذاتها أن أقوم بإعادة احتساب الهاش من جديد؟ نعم هذا صحيح، ولهذا يستخدم بيتكوين مبدأ إثبات العمل Proof of work لتجنب ذلك.