[ seed ] > انشاء الزوج الرئيسي من seed > انشاء ازواج فرعية انطلاقاً من الزوج الرئيسي
تقريبا هذه هي الفكرة.
عندما نقوم بالارسال من المحفظة لا يحدد اي عنوان تريد الارسال انطلاقاً منه (يبدو ان الامر يحدث تلقائياً..) اذا فرضنا قمنا بارسال مبلغ بسيط متوفر بباقي العناوين بهذه الحالة يختار احد العناوين فقط دون كشف العناوين الآخرى ؟
المحافظ تقوم باختيار المدخلات بشكل تلقائي و ٱغلب المحافظ تقوم باختيار أنسب المدخلات. يمكن للمستخدم و يستحسن أن يقوم باختيار المدخلات بنفسه لتعزيز الخصوصية و كذلك منع المحفظة من استعمال مدخلات فيها رصيد صغير فتكون العمولة أكبر من المدخل. و تعرف هذه العملية ب Coin Control.
هذه القواعد خاصه بـ HD wallets فقط ؟ هناك نوع آخر لا اتذكره الا تنطبق نفس طريقة انشاء الزوج الرئيسي و الازواج الفرعية و العناوين .. ؟
في السابق كانت المحفظة تنشئ 100 عنوان جديد بشكل عشوائي و تحفظ البيانات في ملف خاص. عند استعمال تلك العناوين يتم انشاء أخرى و حذف السابقة لذلك يجب حفظ نسخة من الملف كل مرة حتى لا تفقد العناوين التي استعملتها في السابق.
اضافة لمشاكل أخرى اذ يجب حفظ كل المفاتيح الخاصة و ما يسببه ذلك من صعوبة عند نقلها لاستعمال محفظة أخرى.
نظرا لكل تلك المشاكل و خاصة هذه الحادثة التي فقد صاحبها 9000 بيتكوين بسبب عدم عمل نسخة من الملف بالشكل الصحيح
https://bitcointalk.org/index.php?topic=782.0، تم اقتراح استعمال Deterministic Wallets.
هناك نوعان أساسيان هما deterministic و hierarchical determinisyic.
deterministic wallet يتم استخراج المفاتيح بعملية حسابية بسيطة هي:
SHA256(seed + n)
n هنا هو عدد يتم تغييره بشكل تصاعدي.
HD wallet أكثر تطورا اذ يتم استعمال عمليات رياضية أكثر تعقيدا لاستخراج العناوين تعتمد أساسا على نوعية التشفير التي يعتمدها البيتكوين و هي ECDSA و الميزة هنا أنه يمكن انشاء المفاتيح العامة انطلاقا من المفتاح العام الأب بدون الحاجة لمعرفة المفتاح الخاص.
بهذه الطريقة لا تحتاج لحفظ كل العناوين الخاصة و القلق من امكانية فقدانها. كل ما عليك القيام به هو حفظ ال seed و استعماله كل ما أردت استرجاع محفظتك و عناوينك.