تخط وانتقل إلى المحتوى الرئيسي

ما هي محفظة البرمجيات؟

تم إجراء التحديث اليوم

مفهوم محفظة البرمجيات

تستخدم محفظة البرمجيات رقمًا عشوائيًا لإنشاء مفتاح خاص رئيسي.

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

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

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

عندما ننشئ محفظة HD لأول مرة أو نقوم بعمل نسخة احتياطية من محفظة، يتم إنشاء كلمة مساعدة. الكلمة المساعدة هي تسلسل من الكلمات الإنجليزية، وهذا التسلسل من الكلمات ينشئ البذرة (seed)، والتي بدورها تنشئ جميع المفاتيح الخاصة. تسلسل الكلمات هو أيضًا النسخة الاحتياطية للمحفظة، والتي يمكن استعادتها. وتتوافق البذرة مع الرقم العشوائي لجميع المحافظ الحتمية.

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

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

لماذا تحتاج إلى الكثير من المفاتيح الخاصة؟

يتم توضيح سبب حاجة المستخدم إلى العديد من المفاتيح الخاصة من خلال آلية التغيير في معاملة البيتكوين.

معاملة البيتكوين هي بنية بيانات تحتوي على قيمة إدخال وقيمة إخراج. يتم تضمين معلومات في بنية البيانات هذه حول الشيفرة التي تنقل معدنًا من نقطة البداية (قيمة الإدخال) إلى عنوان الوجهة (قيمة الإخراج).

عندما يتعلق الأمر بمدخلات ومخرجات معاملات البيتكوين، من المهم فهم مصطلح UTXO (ناتج المعاملة غير المنفق)، وهو الوحدة الأساسية لمعاملة البيتكوين وهو ناتج معاملة غير مستخدم. يتم توزيع بيتكوين وحيد تم استخدامه عبر مئات المعاملات ومئات كتل على شكل UTXO. في الواقع، لا يوجد مكان لتخزين عنوان أو رصيد دولار أمريكي، فقط UTXO لا مركزي تم قفله بواسطة المالك.

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

هذا مثال على ما يعنيه ذلك. إذا كان لديك UTXO بقيمة 20 روبية وتريد دفع 1 روبية، فيجب أن تستهلك معاملتك كامل UTXO بقيمة 20 روبية وتنشئ مخرجين: أحدهما يدفع 1 روبية للمستلم، والآخر يدفع 19 روبية كتغيير لمحفظتك. في هذه الحالة، ستنشئ معظم المعاملات في سعر الصرف تغييرًا.

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

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

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

هل أجاب هذا عن سؤالك؟