السلام عليك و رحمة الله تعالى و بركاته و مرحبا بكم في الجزء الثاني من شرح تعدين البيتكوين و انشاء الله سنتطرق في هذا الجزء الى ما يسمى ب البلوك "block" دعونا نبدا
في الجزء الاول تطرقنا الى ماهية التعدين بالاضافة الى شرح مبسط عنه و ايضا الى مشكل الانفاق المزدوج و ان ارسال البيتكوين شبيه بارسال ملف من حاسوبك و لكن اليوم سنتعمق قليلا في الموضوع, اولا و قبل كل شيء فلا وجود لاي ملف مرسل عند ارسال البيتكوين و انما هو فقط تبسيط للامر, فعملية تحويل البيتكوين ليست الا تنازل على ملكية الكمية المحددة من البيتكوين لصالح عنوان اخر, فلكل محفضة عنوان و صاحب هذا العنوان هو الوحيد القادر على مصادقة و التوقيع على عملية التحويل التي قام بها (الارسال او الاستقبال).
اجهزة المعدنين تقوم بالتحقق من شيئين عنما يوضع طلبك, اولا التوقيع للتاكد من انك مستقبل المدخلات "inputs", و ثاني شيء من انه لم يتم استعمال او انفاق هذه المدخلات, و للتاكد من هذه الاخيرة يتم الولوج الى قاعدة البيانات التي تخزن فيها جميع التحويلات التي اسميناها في الجزء الاول ب block chain لمعرفة هل تم استخدام نفس المدخلات في عملية تحويل سابقة ام انها لا زالت متاحة, فالمعدنين في هذه الحالة كانهم الصرافون في البنوك الذي يكمن دورهم في فحص الشيكات و التواقيع و ارقام الحسابات الخ...
ماهو البلوك "block"؟
عند استكمال التحقق من كل شيء اجهزة المعدنين ستقوم بإضافة التحويلات الصحيحة الى لائحتهم الخاصة و في كل بضع دقائق يتم اختيار واحد فقط من هؤلاء المعدنين لإضافة لائحته الخاصة او البلوك "block" او بالعربية الكتلة الى الــ block chain او سلسلة الكتلة.
الان سندخل الى بعض الامور الصعبة و المعقدة لكن لن تكون صعبة و معقدة اذا انتبهت جيدا و قرات بتمعن.
بلوك او كتلة المعدن تصبح جزءا من السلسلة العامة كيفما كان حجم و عدد المعدنين, هؤلاء الذين يتحققون من التوقيع الرقمي للبلوك المقترح, هذا التوقيع يتم انشاؤه حاسوبيا من طرف ثلات مدخلات "inputs":
1- توقيع للبلوك السابق.
2- لائحة التحويلات الصحيحة التي سبقت هذا التوقيع.
3- رقم عشوائي خاص يسمى تقنيا بــ nonce.
و لتبسيط الامر عليكم نوعا ما, نحتاج بعض المعلومات عن التواقيع الالكترونية.
التواقيع الالكترونية تعمل عن طريق استخدام خواص الهاش hash, التي هي عبارة عن معادلات رياضية تاخد البيانات من المدخلات "inputs" لانشاء مخرجات "outputs" بشكل عشوائي و تطابق المدخلات بشكل جد دقيق.
للــ hash خواص عدة سناخد كمتال الخاصية المستعملة في البيتكوين التي تسمى تقنيا بــ SHA256 سنتطرق اليه بشكل جيد في الجزء الثالت, ناخد متال لتتوضح لديكم الفكرة:
اذا كانت المدخلات مثل النص الكتابي التالي:
مسابقة افضل تدوينة
فستكون المخرجات او "outputs" على الشكل التالي :
5ab21e164d8cb144a4b81a4d2a5bdc409e490a41b31797c3e3ba29e308235cfc
و يمكنكم تجربة ذلك بنفسكم من خلال موقع xorbin, ما عليكم الا الدخول للموقع و كتابة " مسابقة افضل تدوينة " و ستحصل على نفس السلسلة الموجودة اعلاه و اي تغيير و لو كان فاصلة فسيؤتر على المخرجات كمتال:
مسابقة افضل تدوينة؟
المخرج سيكون على هذا الشكل:
c34295a962bb54dde4c40614cd89a08ee6075bde9efdd9054cb63d878290f5de
جميع المعدنين لديهم القدرة على كتابة توقيع للكتلة او البلوك السابقة بكل سهولة باستعمال اجهزة تعدينهم القوية, و لكي يكون هناك فائز في كل فترة بانتضام يجب جعل المعدنيين يتنافسون حول المكافأة, و الحل هو طلب سلسلة من الصعب انشائها بسهولة و تبدا بعدد من الاصفار متل المثال التالي:
0000000000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
هذا السطر الطويل في بداية الــ hash هو صعب التخميين, لذلك فان المدخلات دائما ينتج عنها مخرجات الــ hash التي تبدا بكل هذه الاصفار و هذا الدمج يشرك معه رقم عشوائي و يسمى تقنيا كما قلنا سابقا بــ nonce الذي يجب على المعدنين تخمينه, فالمعدنين الذين يتوفرون على اجهزة قوية يمكنهم تخمين الحل بسرعة كمتال شخص اشترى عدد كبير من اوراق اليانصيب فهو لديه احتمالية كبيرة على ان يفوز, متل المعدنين فكلما زادت قوة التعدين زادت معها الحضوض للحصول على هذا الــ hash المميز, فلو وجد احد المعدنين التخمين الصحيح لذلك البلوك بالتوقيع الصحيح فسيقوم بنشره ليتحقق باقي المعدنين منه و تذهب المكافاة الى صاحب الحل, لتبدا منافسة جديدة بعد ذلك لايجاد حل بلوك اخر.
ماهي مكافأة حل البلوك؟
في بدايات البيتكوين كانت قيمة البلوك الواحد هي 50 بيتكوين و يتم تخفيضها الى النصف كل اربع سنوات ففي سنة 2012 تم تخفيضه الى النصف و هذه العملية تسمى بانقسام البيتكوين و كما قلنا فهي تحدت كل اربع سنوات وهي من الاشياء التي اتت مع خطة العمل و حدت نفس الشيء في هذه السنة, تقريبا قبل حوالي اسبوعين من تاريخ كتابة هذه التدوينة الذي صار الان بقيمة 12.5 بيتكوين و لهذا السبب صار المعدنون يشتركون في ما يسمى ب mining pools.
ما هو الــ mining pools و ما هي انواع اجهزة التعدين كل هذا سنعرفه في الجزء التالت و الاخير.
في الجزء الاول تطرقنا الى ماهية التعدين بالاضافة الى شرح مبسط عنه و ايضا الى مشكل الانفاق المزدوج و ان ارسال البيتكوين شبيه بارسال ملف من حاسوبك و لكن اليوم سنتعمق قليلا في الموضوع, اولا و قبل كل شيء فلا وجود لاي ملف مرسل عند ارسال البيتكوين و انما هو فقط تبسيط للامر, فعملية تحويل البيتكوين ليست الا تنازل على ملكية الكمية المحددة من البيتكوين لصالح عنوان اخر, فلكل محفضة عنوان و صاحب هذا العنوان هو الوحيد القادر على مصادقة و التوقيع على عملية التحويل التي قام بها (الارسال او الاستقبال).
اجهزة المعدنين تقوم بالتحقق من شيئين عنما يوضع طلبك, اولا التوقيع للتاكد من انك مستقبل المدخلات "inputs", و ثاني شيء من انه لم يتم استعمال او انفاق هذه المدخلات, و للتاكد من هذه الاخيرة يتم الولوج الى قاعدة البيانات التي تخزن فيها جميع التحويلات التي اسميناها في الجزء الاول ب block chain لمعرفة هل تم استخدام نفس المدخلات في عملية تحويل سابقة ام انها لا زالت متاحة, فالمعدنين في هذه الحالة كانهم الصرافون في البنوك الذي يكمن دورهم في فحص الشيكات و التواقيع و ارقام الحسابات الخ...
ماهو البلوك "block"؟
عند استكمال التحقق من كل شيء اجهزة المعدنين ستقوم بإضافة التحويلات الصحيحة الى لائحتهم الخاصة و في كل بضع دقائق يتم اختيار واحد فقط من هؤلاء المعدنين لإضافة لائحته الخاصة او البلوك "block" او بالعربية الكتلة الى الــ block chain او سلسلة الكتلة.
الان سندخل الى بعض الامور الصعبة و المعقدة لكن لن تكون صعبة و معقدة اذا انتبهت جيدا و قرات بتمعن.
بلوك او كتلة المعدن تصبح جزءا من السلسلة العامة كيفما كان حجم و عدد المعدنين, هؤلاء الذين يتحققون من التوقيع الرقمي للبلوك المقترح, هذا التوقيع يتم انشاؤه حاسوبيا من طرف ثلات مدخلات "inputs":
1- توقيع للبلوك السابق.
2- لائحة التحويلات الصحيحة التي سبقت هذا التوقيع.
3- رقم عشوائي خاص يسمى تقنيا بــ nonce.
و لتبسيط الامر عليكم نوعا ما, نحتاج بعض المعلومات عن التواقيع الالكترونية.
التواقيع الالكترونية تعمل عن طريق استخدام خواص الهاش hash, التي هي عبارة عن معادلات رياضية تاخد البيانات من المدخلات "inputs" لانشاء مخرجات "outputs" بشكل عشوائي و تطابق المدخلات بشكل جد دقيق.
للــ hash خواص عدة سناخد كمتال الخاصية المستعملة في البيتكوين التي تسمى تقنيا بــ SHA256 سنتطرق اليه بشكل جيد في الجزء الثالت, ناخد متال لتتوضح لديكم الفكرة:
اذا كانت المدخلات مثل النص الكتابي التالي:
مسابقة افضل تدوينة
فستكون المخرجات او "outputs" على الشكل التالي :
5ab21e164d8cb144a4b81a4d2a5bdc409e490a41b31797c3e3ba29e308235cfc
و يمكنكم تجربة ذلك بنفسكم من خلال موقع xorbin, ما عليكم الا الدخول للموقع و كتابة " مسابقة افضل تدوينة " و ستحصل على نفس السلسلة الموجودة اعلاه و اي تغيير و لو كان فاصلة فسيؤتر على المخرجات كمتال:
مسابقة افضل تدوينة؟
المخرج سيكون على هذا الشكل:
c34295a962bb54dde4c40614cd89a08ee6075bde9efdd9054cb63d878290f5de
جميع المعدنين لديهم القدرة على كتابة توقيع للكتلة او البلوك السابقة بكل سهولة باستعمال اجهزة تعدينهم القوية, و لكي يكون هناك فائز في كل فترة بانتضام يجب جعل المعدنيين يتنافسون حول المكافأة, و الحل هو طلب سلسلة من الصعب انشائها بسهولة و تبدا بعدد من الاصفار متل المثال التالي:
0000000000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ماهي مكافأة حل البلوك؟
في بدايات البيتكوين كانت قيمة البلوك الواحد هي 50 بيتكوين و يتم تخفيضها الى النصف كل اربع سنوات ففي سنة 2012 تم تخفيضه الى النصف و هذه العملية تسمى بانقسام البيتكوين و كما قلنا فهي تحدت كل اربع سنوات وهي من الاشياء التي اتت مع خطة العمل و حدت نفس الشيء في هذه السنة, تقريبا قبل حوالي اسبوعين من تاريخ كتابة هذه التدوينة الذي صار الان بقيمة 12.5 بيتكوين و لهذا السبب صار المعدنون يشتركون في ما يسمى ب mining pools.
ما هو الــ mining pools و ما هي انواع اجهزة التعدين كل هذا سنعرفه في الجزء التالت و الاخير.