إن حجر الأساس للسيادة الذاتية للبيتكوين هو التحكم في مفاتيحك الخاصة. وبدون ذلك، بطريقة أو بأخرى، فإنك تتخلى عن السيطرة على أموالك لشخص آخر. “ليست مفاتيحك، ولا عملاتك المعدنية” كما يقول المثل. أحد الجوانب غير البديهية للبيتكوين بالنسبة للأشخاص الذين ليسوا على دراية بالأسس التقنية لها هو “أين” يوجد البيتكوين الخاص بك بالفعل. عندما يفكر الناس في المحفظة، فإنهم يفكرون في “المكان الذي أحتفظ فيه بأموالي”. لا تحتوي محفظة البيتكوين الخاصة بك في الواقع على عملة البيتكوين الخاصة بك، بل تقوم فقط بتخزين مفاتيحك الخاصة. إن عملة البيتكوين الخاصة بك هي مجرد إدخالات للبيانات الموجودة على blockchain التي يستضيفها جميع المشاركين في الشبكة. عندما تذهب لإنفاق عملة البيتكوين الخاصة بك، فإن ما تفعله في الواقع هو اقتراح تحديث للبيانات المخزنة على blockchain. المفتاح الخاص هو الطريقة التي يضمن بها البروتوكول أنك أنت وحدك، يمكنك السماح بتحديث blockchain الذي ينفق Bitcoin الخاص بك.
إذن ما هي مفاتيحك الخاصة؟ فقط أعداد كبيرة جداً كبيرة جدًا. هذا مفتاح خاص في النظام الثنائي:
11100010110110010111101111000001010000001000100111101011101101010111011100111111111110101011101001011101001110100111001 01001101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100010010011110110101010110011 01101010
256 1s و 0s عشوائية. هذا الرقم العشوائي هو ما يؤمن في النهاية عملة البيتكوين الخاصة بك. قد لا يبدو الأمر كثيرًا، لكن عشوائيته هي ما يضمن أمان محفظتك. يوجد تقريبًا عدد من المفاتيح الخاصة للبيتكوين يماثل عدد الذرات الموجودة في الكون المرئي. هذا هو عدد الأرقام التي يجب على الكمبيوتر حسابها لإنشاء وفهرسة جميع المفاتيح الخاصة المحتملة. طالما أن العملية المستخدمة لإنشاء المفاتيح عشوائية حقًا، فإن مفاتيحك آمنة.
هذا هو الشكل الذي يبدو عليه المفتاح الخاص بالنظام السداسي العشري (يستخدم المفتاح الثنائي رقمين لتشفير رقم، 1 و0، ويستخدم النظام السداسي العشري 16 رقمًا، 0-9 وAF):
E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A
هذا هو الشكل الذي يبدو عليه المفتاح الخاص في تنسيق استيراد المحفظة غير المضغوط (WIF):
5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G
تنسيق WIF هو الطريقة التي استخدمها الجميع للتفاعل مع مفاتيحهم الخاصة في الأيام الأولى للبيتكوين. في هذا العصر، يمكنك إنشاء مفتاح خاص واحد في كل مرة، ثم يمكنك إنشاء المفتاح العام من ذلك. إن عملية إنشاء مفتاح عام هي في الأساس مجرد مضاعفة لأعداد كبيرة جدًا ولكن هناك ما هو أكثر من ذلك بقليل. جميع المفاتيح العامة عبارة عن نقطة x وy على رسم بياني يوضح جدًا، جداً منحنى كبير يدور حول نفسه.
على منحنى الرسم البياني، في حالة Bitcoin Secp256k1، هناك نقطة تسمى “نقطة المولد”. يمكن اعتبار نقطة المولد هذه بمثابة “نقطة الأساس” على منحنى Secp256k1. إنه جزء لا يتجزأ من عملية إنشاء المفاتيح والتوقيع معهم. هذه هي نقطة المولد لمنحنى البيتكوين:
ز = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
لإنشاء المفتاح العام من مفتاحك الخاص، عليك أن تأخذ المفتاح الخاص الذي أنشأته وتضربه في نقطة المولد. هذا كل شيء. يؤدي هذا الآن إلى إنشاء نقطة على الرسم البياني لها علاقة رياضية بالمفتاح الخاص الذي أنشأته والذي لا يعرفه أحد سواك.
هذا مفتاح عام غير مضغوط يُظهر النقطتين x وy:
04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED
من الشائع جدًا “ضغط” المفاتيح العامة في حالة نادرة للتفاعل معها فقط لتخزين الإحداثي x بالبايت لإخبارك ما إذا كان الإحداثي y سالبًا أم موجبًا. وهذا يختصرها إلى حد كبير:
04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED
عندما تذهب لتوقيع معاملة باستخدام مفتاحك الخاص، فإن الأمر يتلخص مرة أخرى في الضرب بشكل أساسي. من خلال توليد رقم عشوائي (nonce)، واستخدامه ومفتاحك الخاص لمضاعفة تجزئة المعاملة التي تقوم بالتوقيع عليها، فإنك تنتج التوقيع (الذي يتكون من قيمتين، r وS). يسمح هذا لشخص ما بتشغيل خوارزمية للتحقق من توقيع الرسالة بواسطة المفتاح الخاص المناسب دون الكشف عن هذا المفتاح. إن الشيء الذي يضمن أنك الوحيد الذي يمكنك السماح بإنفاق عملة البيتكوين الخاصة بك هو في الأساس مجرد مضاعفة أعداد كبيرة جدًا.
إذا لم تكن على دراية بهذه المفاهيم قبل قراءة هذا، فربما يبدو كل هذا مخيفًا إلى حد ما. الثنائية؟ السداسي عشري؟ نقاط الرسم البياني؟ كيف يمكنك عمل نسخة احتياطية من WIF؟
منذ تطوير طرق أكثر سهولة للتعامل مع هذه البيانات، لم يعد معظم المستخدمين على دراية بهذه التنسيقات المعقدة. على الأرجح، لديك خبرة أكبر في استخدام بذور الكلمات، والمعروفة أيضًا باسم عبارات البذور.
BIP 39 بذور ذاكري
تم إنشاء بذور ذاكري، أو عبارات أولية، لمعالجة مشكلة تجربة التفاعل مع مفاتيحك الخاصة.
كما ناقشنا سابقًا، فإن المفاتيح الخاصة هي في النهاية مجرد سلسلة طويلة من الآحاد والأصفار التي يتم إنشاؤها عشوائيًا. تخيل أنك تحاول إنشاء نسخ من هذا وتأكد من أنك لم ترتكب خطأً في نسخها:
11100010110110010111101111000001010000001000100111101011101101010111011100111111111110101011101001011101001110100111001 01001101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100010010011110110101010110011 01101010
كل ما يتطلبه الأمر هو خطأ واحد في نسخ رقم واحد لجعل النسخة الاحتياطية من مفاتيحك عديمة الفائدة. هذا هو المكان الذي تكون فيه بذور التذكير مفيدة. 256 1 و0 متتالية ليست طريقة صديقة للإنسان للتفاعل مع المعلومات الحساسة. تسجيل هذا الرقم بشكل غير صحيح يعني فقدان الوصول إلى حسابك.
شاحنة تجديد غضب حمار تذكير إصلاح الكمبيوتر المحمول التفاصيل تقسيم الحزن بسبب الدهون
وهذا أسهل بكثير للتعامل معه، أليس كذلك؟ 12 كلمة فقط. إذًا كيف يعمل ذلك، من مجموعة من الآحاد والأصفار العشوائية إلى سلسلة من الكلمات التي لها معنى فعليًا بالنسبة لك؟ نظام ترميز، تمامًا مثل النظام الثنائي أو السداسي العشري!
كل كلمة من تلك الكلمات الـ 12 الموجودة في تلك البذرة التذكيرية أعلاه هي رقم ثنائي في مخطط الترميز تعيين سلاسل محددة من 1 و 0 إلى الكلمات. إذا نظرنا مرة أخرى إلى مثال المفتاح الخاص WIF سابقًا، فقد كان ذلك مجرد رقم مشفر في نظام تشفير محدد، في هذه الحالة، الأساس 58، والذي يستخدم كل رقم وحرف من الأبجدية باستثناء 0 و1، وO وl ( حساسية الموضوع). تم استبعاد هذه الأحرف خصيصًا لجعل أخطاء النسخ غير محتملة عن طريق الخلط بين 1 لـ l أو 0 لـ O. bech32 وbech32m المستخدمان من قبل Segwit وTaproot ينقلان هذا إلى المستوى التالي باستخدام هذه المجموعة من الأحرف فقط ( qpzry9x8gf2tvdw0s3jn54khce6mua7l).
قدم اقتراح تحسين البيتكوين 39 (BIP 39)، نظام تشفير موحد حيث يتم تعيين كل كلمة في قاموس معد خصيصًا أبجديًا إلى رقم ثنائي من 00000000001 إلى 11111111111. توضح بذرة العرض التوضيحي أعلاه ما يلي:
شاحنة: 11101001001
تجديد: 10110110001
غضب: 01011110011
حمار : 01000001001
تذكير: 10110101110
لاب توب : 01111101000
الإصلاح: 10110100010
التفاصيل: 00111100010
تقسيم: 11010010001
حزن: 01100110100
لأن: 00010011110
سمين : 01010011011
في ثنائي فقط يبدو مثل هذا:
11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 000 10011110 0101001 1011
هناك 2048 كلمة، تم تعيين كل منها إلى سلسلة محددة مكونة من 11 رقمًا من 1 و0، خصيصًا لتسهيل تفاعل الأشخاص مع مفاتيحهم الخاصة. عندما تقوم بإنشاء رقم عشوائي لمفتاحك الخاص، تقوم محفظتك بتقطيع هذا الرقم إلى أجزاء مكونة من 11 رقمًا ثنائيًا وتعيينها إلى قاموس BIP 39 Mnemonic. ولا يزال نفس العدد الكبير، ولكن يمكنك الآن قراءته ككلمات إنجليزية. نظرًا لأن عقلك معتاد على هذا التنسيق أكثر من السلاسل الطويلة المكونة من 1 و0، فهذا بشكل جذري يقلل من احتمالات قيامك بتدوين شيء خاطئ وفقدان عملة البيتكوين الخاصة بك في هذه العملية.
ربما لاحظت أنه في التشفير الثنائي الخام للكلمة “seed” أعلاه، هناك أربعة أرقام (1011) تجلس بمفردها، وآخر “كلمة” هي في الواقع 8 أرقام فقط. هذا هو المجموع الاختباري للتأكد من صحة العبارة الأولية. عندما تقوم بإنشاء رقمك العشوائي، لا توجد أرقام كافية لتعيينه بالضبط إلى 12 (أو 24) كلمة. تقوم المحفظة بتجزئة تلك الأرقام الموجودة التي قمت بإنشائها وتأخذ الأرقام القليلة الأولى من التجزئة لإضافتها إلى نهاية رقمك العشوائي. يمنحك هذا أرقامًا كافية لتعيين الكلمة الأخيرة.
تسمح لك هذه الكلمة الأخيرة بإجراء فحص السلامة على نسخ البذور الخاصة بك. إذا قمت بإدخال بذرة التذكر الخاصة بك في المحفظة بشكل غير صحيح، فلن يتطابق المجموع الاختباري. تحتوي كل بذرة مكونة من 12 أو 24 كلمة على عدة كلمات مجموع اختباري صالحة، ولكن إذا كانت الكلمة الأخيرة لا تتطابق مع المجموع الاختباري للبذرة الصحيحة، فستحذرك محفظتك من أنها غير صالحة. يمنح هذا الأشخاص طريقة بديهية ولكنها لا تزال رياضية لضمان صحة النسخ الاحتياطية الخاصة بهم، على عكس العملية الفوضوية المتمثلة في نسخ الأرقام الثنائية الأولية ونسخها احتياطيًا.
لقد ذهب اختيار الكلمات المحددة في القائمة إلى حد ضمان عدم احتواء أي من الكلمات البالغ عددها 2048 على نفس الأحرف الأربعة الأولى. تم القيام بذلك لتقليل احتمالية ارتكاب الأشخاص لأخطاء في النسخ عن طريق الخلط بين الكلمات المتشابهة والانتهاء بنسخة احتياطية غير صحيحة من مفاتيحهم الخاصة.
ترجمة هذه الكلمات إلى أ تعيين يعد إنشاء مفاتيح خاصة/عامة متعددة أمرًا بسيطًا للغاية. يتم أخذ بذرة ذاكرتك وتجزئتها باستخدام SHA512، والذي ينتج تجزئة مكونة من 512 1 و0. يتم استخدام نصف هذا الإخراج كمفتاح خاص فعلي، ويتم استخدام النصف الآخر كمدخل إلى SHA512 مع رقم فهرس والمفتاح الخاص أو العام الحالي لإنشاء زوج مفاتيح جديد. يمكنك القيام بذلك عدة مرات كما تريد لإنشاء مفاتيح خاصة/عامة جديدة يمكن استردادها جميعًا من عبارة تذكيرية واحدة.
وهذا يضمن أنه يمكنك إدارة مفاتيحك الخاصة بسهولة، و بأمان، قدر الإمكان مع أقل احتمالات ارتكاب خطأ يخسر أموالك. وكل ذلك تم باستخدام الرياضيات! نأمل أن يكون لديك الآن فهم جيد لسبب اعتقاد الناس أن عملة البيتكوين هي أموال “مؤمنة بالرياضيات”.