سيتناول الموضوع التالي الأسئلة التالية فيما يخص بروتوكول ال bitcoin :
ما هو مصدر ال private key أو كيف يتم ايجاده؟
ما هي خوارزمية ال SHA256 ؟
ما هو الهاش؟ hash
الرمز السري Private Key
ال private key باختصار هو رمز تم صنعه من مصدر عشوائي .
ربما قد طُلب منك في بعض محافظ البيتكوين تحريك الماوس بشكل عشوائي ليتم صناعة ال Private key، وذلك لأن عملية تحريكك للماوس تعتبر غير متوقعة وتستعمل كبداية في صنع ال private key.
يسمى المصدر هذا ب secure source of entropy
ينص بروتوكول البيتكوين أن يكون الرقم الذي يمثل ال private key أكبر من 1 و أقل من n-1 ، تبلغ قيمة الثابت n ب:
n = 1.158 * 10^77
يتم تمرير الرقم الناتج من المصدر العشوائي على hash function وتحويله إل سلسلة من ال bits ، وسينتج في النهاية رقم مكون من 256 bits
اذا وافى الرقم النهائي شرط المعادلة أعلاه ، يمكن استعماله ك PRIVATE KEY
**خوارزمية الهاش Hash Functions **
خوارزمية الهاش hash algorithm تقوم بتحويل بيانات بأحجام مختلفة arbitary sizes إلى بيانات مشفرة بحجم ثابت ، في هذه الحالة 256 bits. تسمى خوارزمية الهاش في البيتكوين ب SHA256 .
لنجرب معا عملية تكوين هاش باستخدام أي سلسلة من ال Bits. لنفترض أن الرقم الصادر عن المصدر العشوائي secure source of entropy هو :
7889771718
لنقم بتحويل هذا الرقم إلى binary باستعمال الموقع https://www.binaryhexconverter.com/decimal-to-binary-converter …
شاهد الصورة. الناتج هو:
111010110010001000101110011000110
سنقوم الأن بأخذ ال bits وتمريرها على خوارومية الهاش sha256 سينتج الأتي:
e4bacb1ae98c37533d2db304d693d096de828a669d4c3a6c60596a31c039b27f
تم استعمال موقع: https://www.freeformatter.com/sha256-generator.html
لاحظ أن الهاش مكتوب بصيغة ال hexa ولو قمنا بتحويله ل bits سينتج لدينا 256 bits (لأن كل حرف هاش مكون من 4 bits )، شاهد الصورة:
وتبقى الخطوة الأخير وهي بأن يوافي الرقم المعادلة الخاصة بخوارزمية ال bitcoin وهو أن يكون أكبر من 1 و أقل من n-1 :
n = 1.158 * 10^77
فلنقم بتحويل الرقم إلى decimal (الصيفة الاعتيادية) :
سنجد أنه موافي للشروط وبالتالي يمكن استعماله ك private key.
لو قمت بتجريب أي رقم أخر ، ومررته لخوارزمية ال sha256 ، أيضا سنيتج هاش بنفس الحجم ، فلنأخذ رقم بسيط:
22
لنحوله إلى bits :
00010110
كما في المثال السابق ، سنقوم الأن بأخذ ال bits وتمريرها على خوارومية الهاش sha256 سينتج الأتي:
3e7c6782cd35e44f5ee5eb0c29f13045de3ce9ba0bc578cb9c417521bde231f0
الهاشان الناتجان من الرقمين 7889771718 و 22 مشفران ويمتلكان نفس الحجم data size ولا يمكن توقع أو ايجاد الرقم الأصلي منهما. وهنا يكمن الغرض من sha256. الرجوع من الهاش للرقم الاصلي غير ممكن.
امتلاكك لل Private key هو سبيلك الوحيد لعملاتك.
احرص دائما على سريته.
ودمتم سالمين.