الانتقال إلى المحتوى

مسارات اشتقاق المحافظ: المعايير والاكتشاف والاسترداد

تعرف على كيفية اختيار مسارات اشتقاق المحفظة للمفاتيح الفرعية الحتمية، وكيف تختلف المستويات المقسّاة وقواعد الحساب، وكيفية التحقق من المسارات أثناء الاسترداد.

آخر تحديث

لأغراض تعليمية فقط؛ لا يشكل ذلك نصيحة استثمارية أو توصية استثمارية. قد تؤدي الاستثمارات إلى خسائر.

إجابة مباشرة

مسار اشتقاق المحفظة هو تسلسل مرتب لمؤشرات الأبناء يخبر خوارزمية الاشتقاق الحرفية للمفتاح أي عقدة يجب اختيارها من شجرة المفاتيح. في التدوين الشائع BIP-32، يبدأ m/84'/0'/0'/0/7 عند العقدة الخاصة الرئيسية m ويعبر خمسة أبناء. العلامة الفاصلة العليا تشير إلى ابن محصّن BIP-32. المسار هو بيانات وصفية للتوجيه: فهو ليس مفتاحًا خاصًا، ولا يقوم بتشفير البذرة، ولا يحدد بنفسه رصيد سلسلة الكتل، ولا يمكنه استعادة أي شيء بدون المادة الجذرية الصحيحة وخوارزمية الاشتقاق.

بالنسبة لمحافظ من نوع BIP-44، القالب هو m / purpose' / coin_type' / account' / change / address_index. المستويات لها معانٍ متفق عليها، وليست تسميات عشوائية. يقوم purpose باختيار اتفاقية المحفظة، وcoin_type يفصل مساحات أسماء الأصول المسجلة، وaccount يفصل الحسابات المنطقية، وchange عادةً يميز عناوين الاستلام الخارجية (0) عن عناوين التغيير الداخلية (1)، وaddress_index يختار ورقة واحدة. يقوم BIP-44 بتقوية أول ثلاثة مستويات ويترك المستويين الأخيرين غير مقوينين بحيث يمكن لمفتاح حساب عام موسع اشتقاق عناوين الاستلام والتغيير دون الحاجة لحمل المفاتيح الخاصة.

يمكن لنفس الحفظة الذهنية أن تؤدي إلى العديد من مجموعات العناوين الصحيحة ولكن غير المرتبطة. بالنسبة لـ Bitcoin، تشمل المسارات الأحادية المفتاح الشائعة m/44'/0'/account'/change/index لـ P2PKH، m/49'/0'/account'/change/index لـ P2WPKH مدمجة في P2SH، m/84'/0'/account'/change/index لـ SegWit الأصلي P2WPKH، وm/86'/0'/account'/change/index لـ Taproot أحادي المفتاح P2TR. يجب على المحفظة أيضًا معرفة المخرج أو بناء السكريبت؛ المسار بمفرده ليس سياسة محفظة Bitcoin كاملة.

تعيد الأنظمة البيئية الأخرى استخدام أجزاء من هذا الترميز دون ضمان دلالات متطابقة. يتم تسجيل الإيثر كنوع عملة BIP-44 على 60، وm/44'/60'/0'/0/index هو تقليد شائع للحسابات المملوكة خارجيًا، لكن تطبيقات المحافظ قد استخدمت عدة تخطيطات للحسابات. يمكن أن تنتج نفس مفتاح EVM نفس عنوان الحساب على عدة شبكات EVM رغم أن الأرصدة وتاريخ المعاملات محددة بالسلسلة. تستخدم مفاتيح BLS للمصادق Ethereum ERC-2333 وERC-2334 بدلًا من BIP-32؛ ولا يحتوي مسار m/12381/3600/account/use الخاص بهم على علامات اقتباس فردية وليس متوافقًا مع شجرة BIP-32. لذلك، يتطلب الاسترداد التنفيذ الدقيق، والمنحنى، والبذرة أو عبارة المرور، وتقليد المسار، والشبكة، وبناء العنوان، وليس سلسلة تبدو مقبولة.

كيفية تحديد مسار الاشتقاق والتحقق منه

1. تحديد المادة الجذرية وخوارزمية الاشتقاق

جرد صيغة التذكّر، قائمة الكلمات، عبارة المرور الاختيارية، البذرة الخام أو المفتاح الموسع، والبرنامج أو الجهاز الذي أنشأ المحفظة. يقوم BIP-39 بتحويل 128 إلى 256 بت من العشوائية إلى صيغة تذكّر ويستخرج بذرة 512-bit من تلك الصيغة التذكّر بالإضافة إلى عبارة المرور الدقيقة؛ كل عبارة مرور تنتج بذرة صحيحة نحويًا ولكن مختلفة. ثم يقوم BIP-32 باستخراج مفاتيح موسعة secp256k1 من البذرة. قد تستخدم عائلات المحافظ الأخرى مخططات تذكّر مختلفة، أو منحنيات، أو دوال اشتقاق المفاتيح، أو قواعد المفتاح الرئيسي، لذا فإن تطابق الكلمات لا يثبت تطابق الجذر.

2. تحديد المعيار والشبكة ودور المفتاح

حدد ما إذا كانت الوجهة عبارة عن مفتاح دفع Bitcoin، أو حساب مملوك خارجيًا EVM، أو مفتاح مصدق، أو موقّع متعدد التوقيع، أو مسؤول عقد، أو سلطة أخرى. سجّل السلسلة والشبكة، والمعيار والإصدار المعمول بهما، ومنحنى المفتاح، ونوع الإخراج أو العنوان، وتطبيق المحفظة. يخصص تسجيل نوع العملة SLIP-0044 مساحة أسماء؛ لكنه لا يثبت أن كل محفظة لذلك الأصل تتبع BIP-44، أو تؤيد مشروعًا، أو تمنع سلسلة أخرى من اشتقاق نفس المفتاح في مكان آخر.

3. تحليل كل مكوّن من مكونات المسار بدقة

اعتبر / كحدود بين الأب والابن واحفظ كل فهرس وعمق وعلامة تشديد. تحت BIP-32، يستخدم الأطفال العاديون الفهارس 0 إلى 2^31 - 1؛ ويستخدم الأطفال المقويون 2^31 إلى 2^32 - 1، وعادة ما يُكتب باستخدام ' أو h أو H. وبالتالي، يقوم 7' بترميز رقم الطفل 2^31 + 7، وليس الطفل العادي 7. تأكد من كيفية تمثيل واجهة الاستيراد للجذر، سواء كانت تقبل مسارًا كاملاً أو لاحقة نسبية، وما إذا كان المفتاح الموسع المصدر موجودًا بالفعل أسفل جزء من ذلك المسار.

4. ربط المسار بدلالة العنوان أو المخرج

لَوَلَات BIP-44-family Bitcoin، قم بتأكيد purpose وcoin_type وaccount وchange وaddress_index، ثم قم بتأكيد نوع البرنامج النصي والشبكة المقصودة بشكل مستقل. تستخدم BIP-49 وBIP-84 وBIP-86 عمدًا قيم غرض مختلفة حتى لا تظهر أنواع الإخراج غير المتوافقة بهدوء في حساب واحد. بالنسبة لمحافظ multisig أو descriptor، احرص على الحفاظ على أصل كل مفتاح، وبصمة الإصبع الرئيسية، واللاحقة الخاصة بالاشتقاق، والعتبة، وترتيب المفاتيح، وبناء البرنامج النصي، ومجموع الاختبار؛ لا يمكن لمسار واحد إعادة إنشاء السياسة الكاملة.

5. إعادة تنفيذ اكتشاف الحسابات والعناوين

لا تستنتج الخسارة من حساب افتراضي فارغ واحد. يقوم فحص الاكتشاف BIP-44 بالتحقق من الحسابات بالترتيب ويفحص السلسلة الخارجية، باستخدام حد فجوة العناوين 20 للعناوين غير المستخدمة المتتالية. قد لا يتم العثور على المحافظ التي أنشأت عناوين تتجاوز تلك الفجوة، أو استخدمت الفروع الداخلية بشكل غير معتاد، أو تخطت الحسابات، أو طبقت تخطيطًا خاصًا بواسطة الفحص الافتراضي. ابحث فقط باستخدام بيانات المشاهدة الموثوقة أو الاستنتاجات غير المتصلة بالإنترنت، وحدد حدودًا صريحة، ووثق كل فرع تمت مراجعته، وتجنب رفع عبارة الاسترجاع أو المفتاح الخاص الموسع إلى موقع إلكتروني.

6. التحقق من هوية المحفظة قبل الاعتماد على الرصيد

قارن بصمة الإصبع الرئيسية، المفتاح العام الموسع على مستوى الحساب حيثما كان مناسبًا، مسار الأصل الكامل، وعدة عناوين استلام وتغيير مسجلة سابقًا. بالنسبة لـ Bitcoin، استخرج نصوص الإخراج المتوقعة أو الوصف واسأل الشبكة الصحيحة عن سجل المعاملات، بما في ذلك المخارج المصروفة. بالنسبة للسلاسل القائمة على الحساب، تحقق من chainId الدقيقة، العنوان، عقود الرموز، والنشاط التاريخي. الرصيد الفارغ دليل ضعيف: قد يكون العنوان خاطئًا، أو الشبكة أو الفهرس مختلفًا، أو ربما تكون الأصول قد تحركت بالفعل.

7. الاسترداد أو الترحيل عبر إجراء مضبوط

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

أمثلة حسابية

تحليل مسار Bitcoin ذي اشتقاق مقوّى

لنأخذ m/84'/0'/2'/1/17. تمثل الحقول غرض SegWit الأصلي 84' ونوع عملة Bitcoin 0' والحساب 2' والفرع الداخلي أو فرع الباقي 1 وفهرس العنوان 17. ولأن فهارس BIP-32 المقوّاة تضيف 2^31 = 2,147,483,648، تصبح أرقام الأبناء المتسلسلة 84' = 2,147,483,732 و0' = 2,147,483,648 و2' = 2,147,483,650. يبقى الفهرسان الأخيران عاديين، أي 1 و17؛ وحذف فاصلة علوية يختار شجرة فرعية مختلفة، لا تهجئة مكافئة.

فجوة اكتشاف تخفي عنوانًا مستخدمًا

لنفترض أن الفرع الخارجي استخدم عنوانين عند الفهرسين 0 و5، ثم مسحت المحفظة الفهارس من 6 إلى 25 ووجدت 20 عنوانًا متتاليًا غير مستخدم. وفق قاعدة فجوة BIP-44، يتوقف الاكتشاف عند 25؛ لذلك يقع العنوان المستخدم عند 26 بعد شرط التوقف ويُغفل. قد يكشفه توسيع المسح إلى حد صريح وموثق، لكن السبب هو أن محفظة المصدر أنشأت عنوانًا بعد الفجوة القياسية من دون نشاط بينهما.

حساب نطاق بحث استرداد محدود

لا يحدد سجل الاسترداد أي واحدة من عائلات غرض Bitcoin الـ4 (44' و49' و84' و86') استُخدمت، ولا أيًا من 3 حسابات و2 فرعين وأول 20 فهرسًا. يشمل البحث الأولي 4 × 3 × 2 × 20 = 480 مفتاحًا طرفيًا مرشحًا. العثور على عنوان معروف يحدد مسارًا مرشحًا، لا المحفظة كلها بالضرورة؛ إذ يجب فحص الباقي والفهارس اللاحقة والحسابات الأخرى والواصف والسجل. توضيح الأبعاد يجعل الاسترداد قابلًا للتكرار ويمنع التخمين غير المحدود.

لماذا لا يُعد xpub الحساب بيانات عامة عادية

بالنسبة إلى مفتاح فرعي BIP-32 غير مقوّى، تحقق القيم الخاصة العلاقة child = parent + tweak (mod n). في مثال مبسط بترديد 101، إذا حددت بيانات الاشتقاق التي يكشفها المفتاح العام الموسع للحساب القيمة tweak = 37 وتسربت القيمة الخاصة للابن 12، فإن parent = 12 - 37 mod 101 = 76. يستخدم BIP-32 الحقيقي رتبة مجموعة secp256k1 وقيم HMAC، لكن النتيجة الجبرية واحدة: قد يكشف xpub أصل مع مفتاح خاص تابع غير مقوّى مطابق المفتاح الخاص الموسع الأصل وشجرته الفرعية. تحد حدود الحساب المقوّاة من هذا الفشل.

المخاطر وأوجه القصور في المراجعة

  • عبارة تذكيرية أو عبارة سرية خاطئة: يؤدي اختلاف كلمة واحدة أو ترتيب الكلمات أو قاعدة تطبيع Unicode أو العبارة السرية إلى جذر آخر قد يبدو صالحًا.
  • مخطط اشتقاق خاطئ: يؤدي تطبيق BIP-32 على محفظة استخدمت مخططًا تذكيريًا أو منحنى أو KDF أو خوارزمية مفتاح رئيسي مختلفة إلى مفاتيح غير مرتبطة.
  • شبكة أو نوع عملة خاطئ: قد ينتج الجذر الصحيح ضمن نطاق أسماء آخر عناوين تبدو منطقية بينما تظل السلسلة المقصودة من دون بحث.
  • غرض أو برنامج نصي خاطئ: قد يؤدي الخلط بين 44' و49' و84' و86' إلى إغفال فئة مخرجات Bitcoin التي تحتوي الأموال فعليًا.
  • غياب علامة الاشتقاق المقوّى: قد تُفسر 7 و7' و7h و7H بطريقة مختلفة أو تُرفض؛ ولا يمكن مبادلة المفاتيح الفرعية المقوّاة بالعادية.
  • فهرس حساب خاطئ: قد يؤدي فحص الحساب 0' وحده إلى إغفال أموال أو صلاحيات في حسابات منطقية لاحقة.
  • الخلط بين الفرع الخارجي وفرع الباقي: قد يؤدي مسح الفرع 0 فقط إلى إغفال مخرجات الباقي في الفرع 1 أو بنية فروع خاصة بالمحفظة.
  • فهرس عنوان خاطئ: لا يثبت التعرف على أول عنوان أن الفهارس اللاحقة أو المتجاوزة أو العناوين المستوردة قد شملها البحث.
  • فشل فجوة العناوين: قد توقف 20 عنوانًا خارجيًا متتاليًا غير مستخدم عملية مسح BIP-44 قبل استخدام لاحق غير مطابق للمعيار.
  • إغفال حساب: قد يتوقف اكتشاف الحسابات المتسلسل عند حساب غير مستخدم ولا يصل إلى حساب أُنشئ بعده.
  • سياسة Bitcoin غير مكتملة: من دون واصف وبرامج نصية وعتبة وترتيب مفاتيح وبصمات ومجموع تحقق، قد لا يعيد المسار إنشاء المخرجات الممولة.
  • اصطلاح خاص بالمحفظة: قد يستخدم التطبيق بنى قديمة أو مملوكة أو خاصة بالترحيل لا تسردها أداة الاسترداد العامة.
  • تسريب خصوصية المفتاح العام الموسع: قد يكشف xpub مجموعات العناوين والسجل والأرصدة والمفاتيح الفرعية غير المقوّاة المستقبلية.
  • تعريض مفرط للمفتاح الخاص الموسع: قد يكشف استيراد xprv شجرة فرعية كاملة بدل الورقة الوحيدة المطلوبة لعملية واحدة.
  • اختراق المفتاح الأصل في BIP-32: قد يكشف xpub أصل مع مفتاح خاص فرعي غير مقوّى مطابق المفتاح الخاص الموسع الأصل وشجرته الفرعية.
  • ثقة زائفة في صيغة العنوان: لا يثبت العنوان الصحيح نحويًا البذرة أو المسار أو الشبكة أو البرنامج النصي أو الملكية المقصودة.
  • الخلط بين السلاسل ذات العنوان نفسه: قد ينتج مفتاح EVM العنوان نفسه على شبكات متعددة، لكن الأرصدة وnonce والرموز والمخاطر تبقى منفصلة.
  • برنامج استرداد خبيث: قد يلتقط موقع أو إضافة أو أداة مشاركة شاشة أو مراقب حافظة أو مسجل أو جهاز مزيف سر الجذر.
  • الخلط بين الاستيراد والمسح: يبقي الاستيراد الصلاحية القديمة قائمة؛ أما المسح أو الترحيل فينشئ معاملة تتطلب مراجعة الرسوم والوجهة.
  • استرداد غير مكتمل: قد يترك العثور على رصيد واحد من دون التحقق من التواقيع والباقي وعقود الرموز والأدوار والموافقات ومفاتيح المدققين والنسخ الاحتياطية أصولًا مخفية أو معرضة.

مفاهيم خاطئة شائعة

هل مسار الاشتقاق كلمة مرور أو سر؟

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

هل تستعيد العبارة التذكيرية نفسها المحفظة نفسها تلقائيًا دائمًا؟

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

هل يمنع نوع العملة استخدام المفتاح على سلسلة أخرى؟

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

هل يثبت الحساب المسترد بلا رصيد أن الأصول اختفت؟

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

هل يمكن لأداة الاسترداد تجربة جميع المسارات الممكنة بأمان؟

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

موضوعات ذات صلة

المصادر

التنقل

ابحث في الويكي...