ما هي المحفظة؟

في هذا المنشور، سنغطي ما هي المحفظة، كيف تتم صناعة المحافظ، وكيف يتم استخدام علم التشفير بالمنحنى البيضاوي لتوليد وتأمين أزواج المفاتيح الخاصة والعامة، واشتقاق عبارات البذور، وتيسير تفاعلات سلسلة الكتل الآمنة.

المحافظ هي أدوات أساسية تمكن المستخدمين من إدارة حساباتهم على سلسلة الكتل، وتخزين أصولهم بأمان، وتوقيع المعاملات لإجراء تغييرات على حالة سلسلة الكتل.

في هذه المقالة، سنغطي ما هي المحفظة، كيف يتم صنع المحافظ، وكيفية استخدامها لتوليد وتأمين أزواج المفاتيح الخاصة والعامة باستخدام علم المنحنيات الناحية، واستخراج عبارات البذور، وتيسير تفاعلات سلسلة الكتل الآمنة.

ما هي المحفظة؟

المحفظة هي تطبيق يتيح لك عرض والتفاعل مع حسابات سلسلة الكتل الخاصة بك ؛ هذه الحسابات تمكنك من إرسال المعاملات لأداء إجراءات مثل إرسال الرموز أو التفاعل مع العقود الذكية.

كل حساب في سلسلة الكتلة مكون من زوج مفاتيح تشفيرية؛ مجموعة من مفاتيح 2 مرتبطة ببعضها البعض. في سياق سلاسل الكتل، يُشار عادةً إلى هذا النوع من الحساب بـ حساب المالك الخارجي (EOA)، ويتكون من مفتاح عام ومفتاح خاص:

  • المفتاح العام: عنوان محفظتك. يمكن مشاركته مع أي شخص، ويمكن للأشخاص الآخرين (أو العقود الذكية) استخدامه لإرسال عملة رقمية إليك.
  • المفتاح الخاص: المفتاح 'التوقيع' الذي تستخدمه لتوقيع الرسائل أو العمليات. أي شخص لديه وصول إلى المفتاح الخاص لديه سيطرة كاملة على الأموال في المحفظة.

يحتوي هذا الزوج من المفاتيح على ميزة قوية تسمى وظيفة الفخ المضمرة؛ مما يعني أنها:

  • سهل معرفة المفتاح العام إذا كان لديك المفتاح الخاص (A→B).
  • من غير الممكن معرفة المفتاح الخاص إذا كان لديك المفتاح العام (B→A).

ما هي الأغراض التي تستخدم فيها المحافظ؟

المحافظ تستخدم لتوقيع الرسائل أو المعاملات باستخدام المفتاح الخاص للمحفظة ليتم إرسالها إلى سلسلة الكتل.

توفر المحافظ طريقة لمعرفة الرسائل أو المعاملات التي وافقت عليها المحفظة؛ حيث يمكن استعادة المفتاح العام لمرسل المعاملة من توقيع المعاملة. هذا أمر ضروري لمنع قبول المعاملات المزورة / الخبيثة في البلوكشين.

على سبيل المثال ، يمكن لجارود تقديم معاملة تدعي أن أبريل أرسل له 5 ETH حتى لو لم توافق أبدا على هذه المعاملة. ومع ذلك ، نظرا لأن blockchain يتحقق من توقيع كل معاملة ، فإنه سيرفض المعاملة بسرعة لأن العنوان المسترد من التوقيع لا يتطابق مع "مرسل" المعاملة (أي أبريل).

تستخدم بلوكشينات مثل إيثيريوم ECDSA (خوارزمية توقيع رقمي بمنحنيات النقطة البيضاء المنحنية) للتحقق مما إذا كانت المفتاح العام المسترد من توقيع المعاملة يتطابق مع المفتاح العام للشخص الذي أرسل المعاملة إلى الشبكة.

كيف يتم إنشاء المحافظ؟

لإنشاء محفظة، تحتاج إلى إنشاء زوج مفتاح عام-خاص. ومع ذلك، تحتاج قيم هذا الزوج من المفاتيح إلى اتباع بعض القواعد لكي تعمل على سلسلة الكتل.

  1. تتكون المفتاح الخاص من 64 حرفًا سداسي عشريًا (الحروف 0→F).
  2. تم الحصول على المفتاح العام من المفتاح الخاص باستخدام تشفير المنحنى البيضاوي (ECC).
  3. يتم تجزئة المفتاح العام وتجزئته وتنسيقه ليصبح عنوانًا يحتوي على 42 حرفًا.

هذه العملية المكونة من 3 خطوات هي السير الأساسي لكيفية إنشاء الحسابات على سلسلة الكتل.

بعد ذلك، سنقوم بالانغماس في كيفية استمداد المفتاح العام باستخدام منحنى ناقص ومفتاح خاص. ولكن قبل ذلك، سنجيب على بعض الأسئلة الأخرى التي قد تكون لديك حول المحافظ، مثل:

  • كيف يمكنني التأكد من أن مفتاحي الخاص تم إنشاؤه عشوائيًا؟
  • ماذا لو حصلت على نفس المفتاح الخاص كشخص آخر؟
  • كيف تندرج عبارات البذور في هذه العملية؟
  • كيف يتم إنشاء عدة أزواج مفاتيح من عبارة بذرية واحدة؟

ما هي عبارة البذور؟

على الرغم من أنه من الممكن إنشاء قيمة عشوائية مكونة من 64 عشريًا كما قد قمنا بتوضيحه للتو، إلا أنه عادةً ما يتم إنشاء المفاتيح الخاصة باستخدام معايير محددة نشأت من البيتكوين. تتيح هذه المعايير للمستخدمين تذكر عبارة بذرية، وهي عبارة مؤلفة من 12-24 كلمة يمكن استخدامها لإنشاء أي عدد من الحسابات الجديدة المرتبطة بها.

يتيح هذا للمستخدمين تذكر مجموعة واحدة فقط من الكلمات للوصول إلى جميع حساباتهم؛ كل منها يحتوي على زوج مفتاح عام-خاص فردي. يمكن استمداد أي عدد من المفاتيح الخاصة الجديدة من عبارة بذرة واحدة باستخدام وظيفة استمداد المفتاح المحددة (KDF).

لذا، دعونا نغطي أولا كيفية إنشاء عبارات البذور من خلال الفترة العشوائية وكيف يمكن استخراج المفاتيح الخاصة من عبارة البذرة، قبل أن نعود أخيرا إلى كيفية استخراج المفاتيح العامة من المفاتيح الخاصة.

كيف تعمل عبارات البذور

عندما تقوم بتثبيت تطبيق المحفظة لأول مرة، عادةً ما سيطلب منك كتابة عبارة البذرة وتخزينها بشكل آمن في مكان ما، عادةً ما تكون مجموعة من 12 أو 24 كلمة. يمكنك رؤية قائمة مثالية على الكلمات الإنجليزية الممكنةهنا، الذي ستلاحظ أنه يتكون من 2048 كلمة (سنعود إلى هذا العدد قريبًا).

ما هو BIP-39؟

تم تقديم فكرة تخزين عبارات بذور مونيمونيك في عام 2013 مع مقترح BIP (مقترح تحسين بيتكوين) ؛ BIP-39. يوفر هذا المقترح طريقة موحدة لتوليد عشوائية الكاملة وتحويلها إلى سلسلة من الكلمات سهلة الحفظ.

كيف يتم توليد عبارة البذرة؟

أولاً ، نحتاج إلى التأكد من أن عبارة البذور الخاصة بنا تم إنشاؤها عشوائيًا ، بعد كل شيء ، لا نريد لشخص آخر الوصول إلى محفظتنا عن طريق الخطأ والوصول إلى أموالنا.

للقيام بذلك، يتم إنشاء رقم عشوائي باستخدام مولد أرقام عشوائي آمن من الناحية العلمية (CSPRNG)، والذي يمكنك القيام به في متصفحك:

يُسمى هذا الرقم العشوائي الانحراف. يُستخدم هذا الانحراف لإنشاء مجموعة الكلمات التي تشكل عبارة البذرة. في حالتنا، 128 بت يتم تعيينها إلى 12 كلمة، ولكن من الممكن أيضا استخدام أطوال أخرى مثل:

  • 15 كلمة: 160 بت
  • 18 كلمة: 192 بت
  • 21 كلمة: 224 بت
  • 24 كلمة: 256 بت

إذن، كيف نستخدم هذه البتات لإنشاء عبارة بذرة؟ ما هو العلاقة بين البتات والكلمات؟ أولاً، يتم إنشاء فحص تكميلي للتشويش وإلحاقه بـ 128 بت؛ وهذا هو تجزئة 4 بت للتشويش التي تم إنشاؤها لضمان سلامتها.

لذا، لدينا الآن 128 بت من العشوائية + 4 بت من الفحص، ليصبح المجموع 132 بت. بعد ذلك، يتم تحويل البتات الـ 132 إلى ثنائي. وتحديداً، يتم تقسيمها إلى قطع من 11 بت.

لدينا الآن مجموعة من 12 رقمًا ثنائيًا، وكل رقم يتكون من 11 بت. تلميح: لدينا 12 رقمًا، وسيكون عبارة البذرة لدينا مكونة من 12 كلمة!

تذكر أن لدينا 2048 كلمة في قائمتنا وتم اختيار الرقم 2048 لأن 2048 هو 2^11، حيث يوجد 2048 أرقام ثنائية مختلفة ممكن صنعها باستخدام 11 بت.

الآن نحتاج فقط إلى تحويل هذه الأعداد الثنائية إلى كلمات من قائمتنا. يتم ذلك باستخدام الرقم الثنائي كفهرس للبحث عن كلمة في القائمة. على سبيل المثال ، إذا كان الرقم الثنائي هو 10 ، فإننا نستخدم الكلمة الثامنة في القائمة (نظرًا لأننا نبدأ من الفهرس 0)

  • 000000111، (7 في النظام الثنائي) هو العنصر الثامن في القائمة، وهوملخص! 😉
  • 11111111111، (2047 في النظام الثنائي) هو آخر عنصر في القائمة (الألف الثامن والأربعون)، والذي هو "حديقة الحيوانات".

كرر هذا 12 مرة، واحدة لكل رقم مكون من 11 بت لتشكيل عبارة بذرة تحتوي على 12 كلمة.

من خلال إنشاء قيمة عشوائية للقرون، وتقسيمها إلى قطع ثنائية، واستخدام تلك القيم الثنائية كمؤشر للبحث عن كلمات في قائمة الكلمات، ننتهي في عبارة بذرية عشوائية.

هل يمكن لشخص ما تخمين عبارة البذور الخاصة بي؟

رد فعلك الفوري على هذا قد يكون: "إذا كان هناك 2048 كلمة ممكنة فقط، هل يمكن لشخص ما تخمين عبارة البذرة الخاصة بي؟" حسنًا، من الناحية الفنية نعم، ولكن من غير المرجح حقًا. كيف يمكنك أن تسأل عن ذلك؟

تخيل أننا ننسى خطوة إنشاء 128 بت العشوائية ، ونختار يدويا 12 كلمة من القائمة. في كل مرة نختار فيها كلمة، نختار خيارا واحدا في مجموعة مكونة من 2048 كلمة.

لذلك، يمكننا القول أنه لشخص آخر أيضًا أن يخمن نفس التسلسل من الكلمات، فإنه يحتاج إلى تخمين الكلمة نفسها كما فعلنا بفرصة 1/2048، 12 مرة على التوالي. الآن، ربما تفكر، "حسنًا هذا لا يبدو صعبًا..."، أليس كذلك??" لكن دعونا نلعب هذا الأمر:"

  • الكلمة الأولى: 2048 اختيار
  • الكلمة الثانية: 2048 خيارا
  • وهكذا، حتى 12: 2048 خياراً

هذا هو 2048 × 2048 × 2048 ... 12 مرة. أو 2048 ^ 12. وهو ... عدد ضخم بشكل غير معقول. تقريبًا 5 سبتيليون ، أو 5 تريليون بليون. هذا أمر لا يمكن تصوره بالنسبة لنا ، ولكن دعونا نحاول ...

تخيل لو بدأت في التخمين الآن، باستخدام كمبيوتر قوي للغاية يمكنه تخمين 1 تريليون عبارة بذور في الثانية. ستستغرق هذه الآلة 159 تريليون سنة لتخمين عبارة بذرة واحدة. أو (حسب ما تعتقد)، تقريبًا 11,000 مرة أطول من عمر الكون الحالي.

هل تكون عبارات البذور المؤلفة من 24 كلمة أفضل من 12 كلمة؟

تختار بعض المحافظ 128 بتًا (12 كلمة) ، لكن المحافظ الحديثة تطلب منك تذكر 24 كلمة لعبارة البذرة الخاصة بك! والتي هي مرة أخرى ، كبيرة بشكل سخيف.

كيفية استخراج المفاتيح الخاصة من عبارات البذور

الآن لدينا عبارة بذرة مكونة من 12 كلمة، كيف يتم استخدامها لإنشاء مفاتيح خاصة للحسابات؟ للقيام بذلك، نحتاج إلى تحويل عبارتنا البذرية إلى بذرة ثنائية يمكن استخدامها لإنشاء محافظ. يشمل هذا العملية الخطوات التالية:

  1. اختياريًا، يقدم المستخدم كلمة مرور إضافية.
  2. خوارزمية تسمى PBKDF2 (وظيفة استنباط المفتاح القائمة على كلمة المرور) تأخذ: عبارة البذرة. مزيج من السلسلة "الذاكرية" وكلمة المرور الاختيارية.

يتم في هذه العملية (التي تسمى وظيفة استخراج المفتاح) إخراج قيمة تجزيئية تحوي 64 بايتًا، تُعرف باسم البذرة الثنائية، باستخدام خوارزمية أخرى تسمى HMAC-SHA512 كدالة عشوائية شبه عشوائية.

يمكن استخدام قيمة التجزئة البالغة 64 بايتًا المُخرجة لإنشاء حسابات باستخدام المنطق الذي نشأ من معايير بيتكوين الأخرى، وهي BIP-32 واختياريًا، تمديد لـ BIP-32 وهو BIP-44.

ما هو BIP-32؟

يقدم BIP-32 محافظ محددة بشكل هرمي (HD)؛ حيث يمكن استنتاج العديد من المحافظ من بجذر واحد، ويمكن استنتاج المزيد من المحافظ من تلك المحافظ، مما يخلق 'شجرة' من المحافظ.

ما هو BIP-44؟

BIP-44 يوفر طريقة موحدة لإنشاء تسلسل هرمي لهياكل المحفظة من بذرة ثنائية واحدة من خلال تنفيذ مسار استخراج محدد يتبع الهيكل: m / الغرض' / نوع_العملة' / الحساب' / التغيير / مؤشر_العنوان:

  • الغرض: يحدد المعيار BIP المستخدم؛ بالنسبة لـ BIP-44، فإنه 44’.
  • coin_type: يحدد عملة معماة؛ على سبيل المثال، 0 'لبيتكوين، 60' لإيثيريوم.
  • الحساب: يميز بين حسابات المستخدمين المختلفة.
  • تغيير: يشير نوع العنوان: 0 للاستلام، 1 للتغيير.
  • address_index: يوفر فهرس فريد لكل عنوان تحت نفس الحساب ونوع التغيير.

ليس جميع المحافظ تستخدم BIP-44 ، ولكنها طريقة شائعة لتوحيد كيفية استحصال الحسابات من البذرة الثنائية.

كيف يتم إنشاء المفاتيح الخاصة من البذرة الثنائية؟

كما ذكرنا سابقا، تعتبر المفاتيح الخاصة عبارة عن 64 حرفا هكساديسماليا، وهي تعادل 32 بايتًا. وقمنا للتو بتوليد بذرة ثنائية 64 بايتًا عبر عملية PBKDF2 - فكيف نستخدم قيمة الهاش 64 بايتًا هذه لإنشاء المفاتيح الخاصة؟

أولاً، يتم تقسيم الهاش إلى نصفين، كل منهما بحجم 32 بايت:

  1. النصف الأول هو المفتاح الخاص الرئيسي. هذا هو تطابق مباشر 1-1 للبذرة الثنائية (التي تم إنشاؤها باستخدام عبارة البذرة الخاصة بك) ومحفظتك. يمكن استخدامه في عملية إنشاء مفاتيح خاصة فرعية.
  2. النصف الثاني هو رمز السلسلة. يتم استخدام ذلك لضمان: إذا تعرضت مفتاح الطفل للاختراق ، فإن المفتاح الرئيسي لا يزال آمنًا. يمكن بناء مفاتيح الأطفال بشكل متسق وتكون فريدة كل منها.

الآن نحن نفهم كيف تبدو المفاتيح الخاصة، كيف يتم توليدها عشوائيًا، وكيف يمكن استخلاص مفاتيح متعددة من عبارة بذرة واحدة. المرحلة التالية، دعونا نستكشف كيفية استخلاص المفاتيح العامة من المفاتيح الخاصة.

كيف تعمل المفاتيح العامة والخاصة

باستخدام تشفير المنحنى البيضاوي (ECC) ، يمكننا معرفة المفتاح العام للمفتاح الخاص المعطى. هناك أنواع مختلفة من المنحنيات البيضاوية ، ولكن تلك المستخدمة في كل من بيتكوين وإثيريوم تسمى secp256k1.

تتضمن المواصفات لهذه الانحناء البيضية نقطة أساسية، G، التي تُستخدم كنقطة انطلاق لنا لإنشاء نقاط أخرى على الانحناء. من هذه النقطة الانطلاقية، نقوم بـ‌‌”التنقل” حول الانحناء لعدد معين من المرات (المحددة بواسطة مفتاحنا الخاص)، بطريقة معينة. النقطة على الانحناء التي نصل إليها عندما نتوقف في هذه العملية ستكون مفتاحنا العام.

الطريقة التي "نتحرك" بها حول المنحنى تسمى الضرب القياسي. عند العمل مع المنحنيات الإهليلجية ، يشير العدد القياسي إلى رقم يستخدم لقياس نقطة على المنحنى. نأخذ نقطة الأساس G ونطبق العدد القياسي عليها للوصول إلى نقطة جديدة على المنحنى عن طريق "تمديد" تلك النقطة.

العدد السكالي الذي نطبقه على نقطة البداية هو مفتاحنا الخاص. ببساطة، نأخذ نقطتنا البدائية جي، ونضربها بشكل سكالي بالمفتاح الخاص للوصول إلى المفتاح العام الخاص بنا.

في الواقع ، نظرًا لأن المنحنى معرف على الحقل الأساسي ℤp ، يبدو أكثر مثل مجموعة من النقاط المبعثرة ... ولكن لا يزال لديه نفس خصائص المنحنى البيضاوي.

في نهاية عملية ضرب القيمة المنحنية هذه (التذبذب في عدد المفتاح الخاص) ، سننتهي في نقطة جديدة على المنحنى ، وهي مفتاحنا العام. يمكنك تخيل أن هذه العملية تبدو مثل هذا:

ما هي المفاتيح العامة المستخدمة في سلسلة الكتل؟

المفاتيح العامة، كما يوحي الاسم، يمكن مشاركتها علناً مع أي شخص. إنها مفيدة ل:

  • رؤية من قدم عملية تحويل على سلسلة الكتل
  • استلام الأموال مثل ETH من محافظ أخرى
  • يمكن استخدامها للتحقق مما إذا كانت المفتاح الخاص قد وقعت على رسالة أم لا.

إنهاء

المحافظ هي مكون أساسي للبلوكشينات التي تستخدم تشفير المنحنيات الناحية للسماح للمستخدمين بإرسال المعاملات وتوقيع الرسائل من حساباتهم.

ومع ذلك، تدعم بعض سلاسل الكتل مثل Abstract أيضًا أنواعًا جديدة من المحافظ، تُسمى حسابات العقود الذكية، التي توفر المزيد من الميزات وتمكّن من آليات أمان أقوى وآليات استعادة، والمزيد.

تنصل:

  1. تم نشر هذه المقالة مرة أخرى من [البوابةhttps://abs.xyz/blog], إعادة توجيه العنوان الأصلي 'ما هي المحفظة؟'، جميع حقوق التأليف والنشر تنتمي إلى المؤلف الأصلي [جارود واتس]. إذا كانت هناك اعتراضات على هذا النشر المعاد، يرجى الاتصال بـ بوابة تعلمالفريق، وسيتعاملون معه بسرعة.

  2. تنصل المسؤولية: الآراء والآراء المعبر عنها في هذه المقالة هي فقط تلك للكاتب ولا تشكل أي نصيحة استثمارية.

  3. تتم ترجمة المقالات إلى لغات أخرى من قبل فريق Gate Learn. ما لم يذكر غير ذلك ، فإن نسخ أو توزيع أو سرقة المقالات المترجمة ممنوعة.

ما هي المحفظة؟

مبتدئ10/1/2024, 6:09:44 PM
في هذا المنشور، سنغطي ما هي المحفظة، كيف تتم صناعة المحافظ، وكيف يتم استخدام علم التشفير بالمنحنى البيضاوي لتوليد وتأمين أزواج المفاتيح الخاصة والعامة، واشتقاق عبارات البذور، وتيسير تفاعلات سلسلة الكتل الآمنة.

المحافظ هي أدوات أساسية تمكن المستخدمين من إدارة حساباتهم على سلسلة الكتل، وتخزين أصولهم بأمان، وتوقيع المعاملات لإجراء تغييرات على حالة سلسلة الكتل.

في هذه المقالة، سنغطي ما هي المحفظة، كيف يتم صنع المحافظ، وكيفية استخدامها لتوليد وتأمين أزواج المفاتيح الخاصة والعامة باستخدام علم المنحنيات الناحية، واستخراج عبارات البذور، وتيسير تفاعلات سلسلة الكتل الآمنة.

ما هي المحفظة؟

المحفظة هي تطبيق يتيح لك عرض والتفاعل مع حسابات سلسلة الكتل الخاصة بك ؛ هذه الحسابات تمكنك من إرسال المعاملات لأداء إجراءات مثل إرسال الرموز أو التفاعل مع العقود الذكية.

كل حساب في سلسلة الكتلة مكون من زوج مفاتيح تشفيرية؛ مجموعة من مفاتيح 2 مرتبطة ببعضها البعض. في سياق سلاسل الكتل، يُشار عادةً إلى هذا النوع من الحساب بـ حساب المالك الخارجي (EOA)، ويتكون من مفتاح عام ومفتاح خاص:

  • المفتاح العام: عنوان محفظتك. يمكن مشاركته مع أي شخص، ويمكن للأشخاص الآخرين (أو العقود الذكية) استخدامه لإرسال عملة رقمية إليك.
  • المفتاح الخاص: المفتاح 'التوقيع' الذي تستخدمه لتوقيع الرسائل أو العمليات. أي شخص لديه وصول إلى المفتاح الخاص لديه سيطرة كاملة على الأموال في المحفظة.

يحتوي هذا الزوج من المفاتيح على ميزة قوية تسمى وظيفة الفخ المضمرة؛ مما يعني أنها:

  • سهل معرفة المفتاح العام إذا كان لديك المفتاح الخاص (A→B).
  • من غير الممكن معرفة المفتاح الخاص إذا كان لديك المفتاح العام (B→A).

ما هي الأغراض التي تستخدم فيها المحافظ؟

المحافظ تستخدم لتوقيع الرسائل أو المعاملات باستخدام المفتاح الخاص للمحفظة ليتم إرسالها إلى سلسلة الكتل.

توفر المحافظ طريقة لمعرفة الرسائل أو المعاملات التي وافقت عليها المحفظة؛ حيث يمكن استعادة المفتاح العام لمرسل المعاملة من توقيع المعاملة. هذا أمر ضروري لمنع قبول المعاملات المزورة / الخبيثة في البلوكشين.

على سبيل المثال ، يمكن لجارود تقديم معاملة تدعي أن أبريل أرسل له 5 ETH حتى لو لم توافق أبدا على هذه المعاملة. ومع ذلك ، نظرا لأن blockchain يتحقق من توقيع كل معاملة ، فإنه سيرفض المعاملة بسرعة لأن العنوان المسترد من التوقيع لا يتطابق مع "مرسل" المعاملة (أي أبريل).

تستخدم بلوكشينات مثل إيثيريوم ECDSA (خوارزمية توقيع رقمي بمنحنيات النقطة البيضاء المنحنية) للتحقق مما إذا كانت المفتاح العام المسترد من توقيع المعاملة يتطابق مع المفتاح العام للشخص الذي أرسل المعاملة إلى الشبكة.

كيف يتم إنشاء المحافظ؟

لإنشاء محفظة، تحتاج إلى إنشاء زوج مفتاح عام-خاص. ومع ذلك، تحتاج قيم هذا الزوج من المفاتيح إلى اتباع بعض القواعد لكي تعمل على سلسلة الكتل.

  1. تتكون المفتاح الخاص من 64 حرفًا سداسي عشريًا (الحروف 0→F).
  2. تم الحصول على المفتاح العام من المفتاح الخاص باستخدام تشفير المنحنى البيضاوي (ECC).
  3. يتم تجزئة المفتاح العام وتجزئته وتنسيقه ليصبح عنوانًا يحتوي على 42 حرفًا.

هذه العملية المكونة من 3 خطوات هي السير الأساسي لكيفية إنشاء الحسابات على سلسلة الكتل.

بعد ذلك، سنقوم بالانغماس في كيفية استمداد المفتاح العام باستخدام منحنى ناقص ومفتاح خاص. ولكن قبل ذلك، سنجيب على بعض الأسئلة الأخرى التي قد تكون لديك حول المحافظ، مثل:

  • كيف يمكنني التأكد من أن مفتاحي الخاص تم إنشاؤه عشوائيًا؟
  • ماذا لو حصلت على نفس المفتاح الخاص كشخص آخر؟
  • كيف تندرج عبارات البذور في هذه العملية؟
  • كيف يتم إنشاء عدة أزواج مفاتيح من عبارة بذرية واحدة؟

ما هي عبارة البذور؟

على الرغم من أنه من الممكن إنشاء قيمة عشوائية مكونة من 64 عشريًا كما قد قمنا بتوضيحه للتو، إلا أنه عادةً ما يتم إنشاء المفاتيح الخاصة باستخدام معايير محددة نشأت من البيتكوين. تتيح هذه المعايير للمستخدمين تذكر عبارة بذرية، وهي عبارة مؤلفة من 12-24 كلمة يمكن استخدامها لإنشاء أي عدد من الحسابات الجديدة المرتبطة بها.

يتيح هذا للمستخدمين تذكر مجموعة واحدة فقط من الكلمات للوصول إلى جميع حساباتهم؛ كل منها يحتوي على زوج مفتاح عام-خاص فردي. يمكن استمداد أي عدد من المفاتيح الخاصة الجديدة من عبارة بذرة واحدة باستخدام وظيفة استمداد المفتاح المحددة (KDF).

لذا، دعونا نغطي أولا كيفية إنشاء عبارات البذور من خلال الفترة العشوائية وكيف يمكن استخراج المفاتيح الخاصة من عبارة البذرة، قبل أن نعود أخيرا إلى كيفية استخراج المفاتيح العامة من المفاتيح الخاصة.

كيف تعمل عبارات البذور

عندما تقوم بتثبيت تطبيق المحفظة لأول مرة، عادةً ما سيطلب منك كتابة عبارة البذرة وتخزينها بشكل آمن في مكان ما، عادةً ما تكون مجموعة من 12 أو 24 كلمة. يمكنك رؤية قائمة مثالية على الكلمات الإنجليزية الممكنةهنا، الذي ستلاحظ أنه يتكون من 2048 كلمة (سنعود إلى هذا العدد قريبًا).

ما هو BIP-39؟

تم تقديم فكرة تخزين عبارات بذور مونيمونيك في عام 2013 مع مقترح BIP (مقترح تحسين بيتكوين) ؛ BIP-39. يوفر هذا المقترح طريقة موحدة لتوليد عشوائية الكاملة وتحويلها إلى سلسلة من الكلمات سهلة الحفظ.

كيف يتم توليد عبارة البذرة؟

أولاً ، نحتاج إلى التأكد من أن عبارة البذور الخاصة بنا تم إنشاؤها عشوائيًا ، بعد كل شيء ، لا نريد لشخص آخر الوصول إلى محفظتنا عن طريق الخطأ والوصول إلى أموالنا.

للقيام بذلك، يتم إنشاء رقم عشوائي باستخدام مولد أرقام عشوائي آمن من الناحية العلمية (CSPRNG)، والذي يمكنك القيام به في متصفحك:

يُسمى هذا الرقم العشوائي الانحراف. يُستخدم هذا الانحراف لإنشاء مجموعة الكلمات التي تشكل عبارة البذرة. في حالتنا، 128 بت يتم تعيينها إلى 12 كلمة، ولكن من الممكن أيضا استخدام أطوال أخرى مثل:

  • 15 كلمة: 160 بت
  • 18 كلمة: 192 بت
  • 21 كلمة: 224 بت
  • 24 كلمة: 256 بت

إذن، كيف نستخدم هذه البتات لإنشاء عبارة بذرة؟ ما هو العلاقة بين البتات والكلمات؟ أولاً، يتم إنشاء فحص تكميلي للتشويش وإلحاقه بـ 128 بت؛ وهذا هو تجزئة 4 بت للتشويش التي تم إنشاؤها لضمان سلامتها.

لذا، لدينا الآن 128 بت من العشوائية + 4 بت من الفحص، ليصبح المجموع 132 بت. بعد ذلك، يتم تحويل البتات الـ 132 إلى ثنائي. وتحديداً، يتم تقسيمها إلى قطع من 11 بت.

لدينا الآن مجموعة من 12 رقمًا ثنائيًا، وكل رقم يتكون من 11 بت. تلميح: لدينا 12 رقمًا، وسيكون عبارة البذرة لدينا مكونة من 12 كلمة!

تذكر أن لدينا 2048 كلمة في قائمتنا وتم اختيار الرقم 2048 لأن 2048 هو 2^11، حيث يوجد 2048 أرقام ثنائية مختلفة ممكن صنعها باستخدام 11 بت.

الآن نحتاج فقط إلى تحويل هذه الأعداد الثنائية إلى كلمات من قائمتنا. يتم ذلك باستخدام الرقم الثنائي كفهرس للبحث عن كلمة في القائمة. على سبيل المثال ، إذا كان الرقم الثنائي هو 10 ، فإننا نستخدم الكلمة الثامنة في القائمة (نظرًا لأننا نبدأ من الفهرس 0)

  • 000000111، (7 في النظام الثنائي) هو العنصر الثامن في القائمة، وهوملخص! 😉
  • 11111111111، (2047 في النظام الثنائي) هو آخر عنصر في القائمة (الألف الثامن والأربعون)، والذي هو "حديقة الحيوانات".

كرر هذا 12 مرة، واحدة لكل رقم مكون من 11 بت لتشكيل عبارة بذرة تحتوي على 12 كلمة.

من خلال إنشاء قيمة عشوائية للقرون، وتقسيمها إلى قطع ثنائية، واستخدام تلك القيم الثنائية كمؤشر للبحث عن كلمات في قائمة الكلمات، ننتهي في عبارة بذرية عشوائية.

هل يمكن لشخص ما تخمين عبارة البذور الخاصة بي؟

رد فعلك الفوري على هذا قد يكون: "إذا كان هناك 2048 كلمة ممكنة فقط، هل يمكن لشخص ما تخمين عبارة البذرة الخاصة بي؟" حسنًا، من الناحية الفنية نعم، ولكن من غير المرجح حقًا. كيف يمكنك أن تسأل عن ذلك؟

تخيل أننا ننسى خطوة إنشاء 128 بت العشوائية ، ونختار يدويا 12 كلمة من القائمة. في كل مرة نختار فيها كلمة، نختار خيارا واحدا في مجموعة مكونة من 2048 كلمة.

لذلك، يمكننا القول أنه لشخص آخر أيضًا أن يخمن نفس التسلسل من الكلمات، فإنه يحتاج إلى تخمين الكلمة نفسها كما فعلنا بفرصة 1/2048، 12 مرة على التوالي. الآن، ربما تفكر، "حسنًا هذا لا يبدو صعبًا..."، أليس كذلك??" لكن دعونا نلعب هذا الأمر:"

  • الكلمة الأولى: 2048 اختيار
  • الكلمة الثانية: 2048 خيارا
  • وهكذا، حتى 12: 2048 خياراً

هذا هو 2048 × 2048 × 2048 ... 12 مرة. أو 2048 ^ 12. وهو ... عدد ضخم بشكل غير معقول. تقريبًا 5 سبتيليون ، أو 5 تريليون بليون. هذا أمر لا يمكن تصوره بالنسبة لنا ، ولكن دعونا نحاول ...

تخيل لو بدأت في التخمين الآن، باستخدام كمبيوتر قوي للغاية يمكنه تخمين 1 تريليون عبارة بذور في الثانية. ستستغرق هذه الآلة 159 تريليون سنة لتخمين عبارة بذرة واحدة. أو (حسب ما تعتقد)، تقريبًا 11,000 مرة أطول من عمر الكون الحالي.

هل تكون عبارات البذور المؤلفة من 24 كلمة أفضل من 12 كلمة؟

تختار بعض المحافظ 128 بتًا (12 كلمة) ، لكن المحافظ الحديثة تطلب منك تذكر 24 كلمة لعبارة البذرة الخاصة بك! والتي هي مرة أخرى ، كبيرة بشكل سخيف.

كيفية استخراج المفاتيح الخاصة من عبارات البذور

الآن لدينا عبارة بذرة مكونة من 12 كلمة، كيف يتم استخدامها لإنشاء مفاتيح خاصة للحسابات؟ للقيام بذلك، نحتاج إلى تحويل عبارتنا البذرية إلى بذرة ثنائية يمكن استخدامها لإنشاء محافظ. يشمل هذا العملية الخطوات التالية:

  1. اختياريًا، يقدم المستخدم كلمة مرور إضافية.
  2. خوارزمية تسمى PBKDF2 (وظيفة استنباط المفتاح القائمة على كلمة المرور) تأخذ: عبارة البذرة. مزيج من السلسلة "الذاكرية" وكلمة المرور الاختيارية.

يتم في هذه العملية (التي تسمى وظيفة استخراج المفتاح) إخراج قيمة تجزيئية تحوي 64 بايتًا، تُعرف باسم البذرة الثنائية، باستخدام خوارزمية أخرى تسمى HMAC-SHA512 كدالة عشوائية شبه عشوائية.

يمكن استخدام قيمة التجزئة البالغة 64 بايتًا المُخرجة لإنشاء حسابات باستخدام المنطق الذي نشأ من معايير بيتكوين الأخرى، وهي BIP-32 واختياريًا، تمديد لـ BIP-32 وهو BIP-44.

ما هو BIP-32؟

يقدم BIP-32 محافظ محددة بشكل هرمي (HD)؛ حيث يمكن استنتاج العديد من المحافظ من بجذر واحد، ويمكن استنتاج المزيد من المحافظ من تلك المحافظ، مما يخلق 'شجرة' من المحافظ.

ما هو BIP-44؟

BIP-44 يوفر طريقة موحدة لإنشاء تسلسل هرمي لهياكل المحفظة من بذرة ثنائية واحدة من خلال تنفيذ مسار استخراج محدد يتبع الهيكل: m / الغرض' / نوع_العملة' / الحساب' / التغيير / مؤشر_العنوان:

  • الغرض: يحدد المعيار BIP المستخدم؛ بالنسبة لـ BIP-44، فإنه 44’.
  • coin_type: يحدد عملة معماة؛ على سبيل المثال، 0 'لبيتكوين، 60' لإيثيريوم.
  • الحساب: يميز بين حسابات المستخدمين المختلفة.
  • تغيير: يشير نوع العنوان: 0 للاستلام، 1 للتغيير.
  • address_index: يوفر فهرس فريد لكل عنوان تحت نفس الحساب ونوع التغيير.

ليس جميع المحافظ تستخدم BIP-44 ، ولكنها طريقة شائعة لتوحيد كيفية استحصال الحسابات من البذرة الثنائية.

كيف يتم إنشاء المفاتيح الخاصة من البذرة الثنائية؟

كما ذكرنا سابقا، تعتبر المفاتيح الخاصة عبارة عن 64 حرفا هكساديسماليا، وهي تعادل 32 بايتًا. وقمنا للتو بتوليد بذرة ثنائية 64 بايتًا عبر عملية PBKDF2 - فكيف نستخدم قيمة الهاش 64 بايتًا هذه لإنشاء المفاتيح الخاصة؟

أولاً، يتم تقسيم الهاش إلى نصفين، كل منهما بحجم 32 بايت:

  1. النصف الأول هو المفتاح الخاص الرئيسي. هذا هو تطابق مباشر 1-1 للبذرة الثنائية (التي تم إنشاؤها باستخدام عبارة البذرة الخاصة بك) ومحفظتك. يمكن استخدامه في عملية إنشاء مفاتيح خاصة فرعية.
  2. النصف الثاني هو رمز السلسلة. يتم استخدام ذلك لضمان: إذا تعرضت مفتاح الطفل للاختراق ، فإن المفتاح الرئيسي لا يزال آمنًا. يمكن بناء مفاتيح الأطفال بشكل متسق وتكون فريدة كل منها.

الآن نحن نفهم كيف تبدو المفاتيح الخاصة، كيف يتم توليدها عشوائيًا، وكيف يمكن استخلاص مفاتيح متعددة من عبارة بذرة واحدة. المرحلة التالية، دعونا نستكشف كيفية استخلاص المفاتيح العامة من المفاتيح الخاصة.

كيف تعمل المفاتيح العامة والخاصة

باستخدام تشفير المنحنى البيضاوي (ECC) ، يمكننا معرفة المفتاح العام للمفتاح الخاص المعطى. هناك أنواع مختلفة من المنحنيات البيضاوية ، ولكن تلك المستخدمة في كل من بيتكوين وإثيريوم تسمى secp256k1.

تتضمن المواصفات لهذه الانحناء البيضية نقطة أساسية، G، التي تُستخدم كنقطة انطلاق لنا لإنشاء نقاط أخرى على الانحناء. من هذه النقطة الانطلاقية، نقوم بـ‌‌”التنقل” حول الانحناء لعدد معين من المرات (المحددة بواسطة مفتاحنا الخاص)، بطريقة معينة. النقطة على الانحناء التي نصل إليها عندما نتوقف في هذه العملية ستكون مفتاحنا العام.

الطريقة التي "نتحرك" بها حول المنحنى تسمى الضرب القياسي. عند العمل مع المنحنيات الإهليلجية ، يشير العدد القياسي إلى رقم يستخدم لقياس نقطة على المنحنى. نأخذ نقطة الأساس G ونطبق العدد القياسي عليها للوصول إلى نقطة جديدة على المنحنى عن طريق "تمديد" تلك النقطة.

العدد السكالي الذي نطبقه على نقطة البداية هو مفتاحنا الخاص. ببساطة، نأخذ نقطتنا البدائية جي، ونضربها بشكل سكالي بالمفتاح الخاص للوصول إلى المفتاح العام الخاص بنا.

في الواقع ، نظرًا لأن المنحنى معرف على الحقل الأساسي ℤp ، يبدو أكثر مثل مجموعة من النقاط المبعثرة ... ولكن لا يزال لديه نفس خصائص المنحنى البيضاوي.

في نهاية عملية ضرب القيمة المنحنية هذه (التذبذب في عدد المفتاح الخاص) ، سننتهي في نقطة جديدة على المنحنى ، وهي مفتاحنا العام. يمكنك تخيل أن هذه العملية تبدو مثل هذا:

ما هي المفاتيح العامة المستخدمة في سلسلة الكتل؟

المفاتيح العامة، كما يوحي الاسم، يمكن مشاركتها علناً مع أي شخص. إنها مفيدة ل:

  • رؤية من قدم عملية تحويل على سلسلة الكتل
  • استلام الأموال مثل ETH من محافظ أخرى
  • يمكن استخدامها للتحقق مما إذا كانت المفتاح الخاص قد وقعت على رسالة أم لا.

إنهاء

المحافظ هي مكون أساسي للبلوكشينات التي تستخدم تشفير المنحنيات الناحية للسماح للمستخدمين بإرسال المعاملات وتوقيع الرسائل من حساباتهم.

ومع ذلك، تدعم بعض سلاسل الكتل مثل Abstract أيضًا أنواعًا جديدة من المحافظ، تُسمى حسابات العقود الذكية، التي توفر المزيد من الميزات وتمكّن من آليات أمان أقوى وآليات استعادة، والمزيد.

تنصل:

  1. تم نشر هذه المقالة مرة أخرى من [البوابةhttps://abs.xyz/blog], إعادة توجيه العنوان الأصلي 'ما هي المحفظة؟'، جميع حقوق التأليف والنشر تنتمي إلى المؤلف الأصلي [جارود واتس]. إذا كانت هناك اعتراضات على هذا النشر المعاد، يرجى الاتصال بـ بوابة تعلمالفريق، وسيتعاملون معه بسرعة.

  2. تنصل المسؤولية: الآراء والآراء المعبر عنها في هذه المقالة هي فقط تلك للكاتب ولا تشكل أي نصيحة استثمارية.

  3. تتم ترجمة المقالات إلى لغات أخرى من قبل فريق Gate Learn. ما لم يذكر غير ذلك ، فإن نسخ أو توزيع أو سرقة المقالات المترجمة ممنوعة.

ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!