دليل أداة اشتقاق المفاتيح: مستكشف مسارات BIP-44
تعتبر المحافظ الحتمية الهرمية (HD) العمود الفقري لإدارة المفاتيح المشفرة الحديثة في العملات الرقمية. من عبارة بذرة واحدة، تشتق محفظة HD شجرة كاملة من المفاتيح — مليارات العناوين الفريدة عبر عدة بلوكتشينات، كلها قابلة للاسترجاع من عبارة البذرة الأصلية. تتيح لك أداة اشتقاق المفاتيح في SafeSeed تصور واستكشاف هذه الشجرة وفهم كيفية عمل مسارات الاشتقاق وتشخيص المشاكل عندما لا تتصرف المحافظ كما هو متوقع.
استكشف مسارات اشتقاق BIP-44 على safeseed.app/tools/key-derivation/ — تعمل بالكامل من طرف المستخدم، تعمل بلا اتصال.
ما هو اشتقاق المفاتيح؟
اشتقاق المفاتيح هو عملية توليد مفاتيح تشفير جديدة من مفتاح موجود. في العملات الرقمية، يبدأ هذا من عبارة البذرة الخاصة بك ويتبع خوارزمية حتمية محددة بواسطة BIP-32 (المحافظ الحتمية الهرمية) ومنظمة بواسطة BIP-44 (الهرمية متعددة الحسابات).
الخاصية الحاسمة هي الحتمية: العبارة نفسها تنتج دائماً نفس شجرة المفاتيح. وهذا يعني:
- يمكنك استرجاع محفظتك بالكاملة من عبارة البذرة وحدها
- عدة أجهزة بنفس البذرة ستعرض نفس العناوين
- لا توجد عناصر عشوائية بعد إنشاء البذرة الأولي
شجرة المفاتيح
فكّر في اشتقاق المفاتيح كشجرة:
المفتاح الرئيسي (الجذر)
├── الغرض 44' (الإرث)
│ ├── Bitcoin (0')
│ │ ├── الحساب 0'
│ │ │ ├── خارجي (0)
│ │ │ │ ├── العنوان 0
│ │ │ │ ├── العنوان 1
│ │ │ │ └── العنوان 2 ...
│ │ │ └── داخلي/تغيير (1)
│ │ │ ├── العنوان 0
│ │ │ └── العنوان 1 ...
│ │ └── الحساب 1'
│ │ └── ...
│ ├── Ethereum (60')
│ │ └── الحساب 0'
│ │ └── ...
│ └── Litecoin (2')
│ └── ...
├── الغرض 49' (SegWit)
│ └── ...
├── الغرض 84' (SegWit الأصلي)
│ └── ...
└── الغرض 86' (Taproot)
└── ...
لكل عقدة في هذه الشجرة مفتاح خاص وحد أدنى من المفتاح العام. يشتق مولد العنوان العقد الطرفية (العناوين الفردية)، بينما تتيح لك أداة اشتقاق المفاتيح فحص أي عقدة في الشجرة بأكملها.
فهم مسارات الاشتقاق
مسار الاشتقاق هو سلسلة من المؤشرات تصف كيفية الانتقال من المفتاح الرئيسي إلى مفتاح فرعي معين. يبدو التدوين القياسي كالتالي:
m / 84' / 0' / 0' / 0 / 0
دعنا نحطمها تماماً.
مكونات المسار
| المكون | المعنى | قيم الأمثلة |
|---|---|---|
m | المفتاح الرئيسي (الجذر) | دائماً m |
purpose' | أي معيار BIP | 44', 49', 84', 86' |
coin_type' | أي عملة رقمية | 0' (BTC), 60' (ETH), 2' (LTC) |
account' | فصل الحساب | 0', 1', 2' |
change | خارجي/داخلي | 0 (استقبال), 1 (تغيير) |
address_index | رقم العنوان | 0, 1, 2, ... |
الاشتقاق المقسّى مقابل العادي
الفاصلة العليا (') تشير إلى الاشتقاق المقسّى. هذا مفهوم أمان أساسي في محافظ HD.
الاشتقاق العادي (غير المقسّى) (m/0/1/2):
- يمكن للمفتاح العام الأب أن يشتق جميع المفاتيح العامة الفرعية
- إذا تم تسريب مفتاح خاص فرعي والمفتاح العام للأب معاً، يمكن حساب المفتاح الخاص للأب
- يُستخدم في مستويات
changeوaddress_index
الاشتقاق المقسّى (m/0'/1'/2'):
- يمكن فقط للمفتاح الخاص للأب أن يشتق المفاتيح الفرعية
- تسريب مفتاح فرعي لا يكشف الأب
- يُستخدم في مستويات
purposeوcoin_typeوaccount
المبرر الأمني: المستويات الثلاثة الأولى (purpose' و coin_type' و account') تستخدم الاشتقاق المقسّى لإنشاء جدار حماية. حتى لو حصل المهاجم على مفتاح خاص فرعي على مستوى العنوان، لا يمكنه العودة للخلف عبر الحدود المقسّاة لاكتشاف مفتاحك الرئيسي أو المفاتيح الخاصة بالحسابات أو العملات الرقمية الأخرى.
مسارات الاشتقاق القياسية حسب المحفظة
قد تستخدم برامج المحفظة المختلفة مسارات اشتقاق مختلفة. إليك مرجع للمحافظ الشائعة:
| المحفظة | مسار Bitcoin | مسار Ethereum | ملاحظة |
|---|---|---|---|
| Ledger Live | m/84'/0'/0'/0/x | m/44'/60'/0'/0/x | SegWit الأصلي افتراضي |
| Trezor Suite | m/84'/0'/0'/0/x | m/44'/60'/0'/0/x | SegWit الأصلي افتراضي |
| Electrum | m/84'/0'/0'/0/x | غير متاح | SegWit الأصلي افتراضي |
| MetaMask | غير متاح | m/44'/60'/0'/0/x | Ethereum فقط |
| BlueWallet | m/84'/0'/0'/0/x | غير متاح | SegWit الأصلي افتراضي |
| Exodus | m/84'/0'/0'/0/x | m/44'/60'/0'/0/x | متعدد السلاسل |
| Trust Wallet | m/84'/0'/0'/0/x | m/44'/60'/0'/0/x | متعدد السلاسل |
| Coinbase Wallet | m/44'/0'/0'/0/x | m/44'/60'/0'/0/x | إرث لـ BTC |
| Mycelium | m/84'/0'/0'/0/x | غير متاح | Bitcoin فقط |
| Wasabi | m/84'/0'/0'/0/x | غير متاح | موجهة للخصوصية |
عند استرجاع الأموال، معرفة المسار الذي استخدمته محفظتك الأصلية ضرورية. تساعدك أداة اشتقاق المفاتيح على استكشاف المسارات بشكل منهجي للعثور على مفاتيحك.
خطوة بخطوة: استخدام أداة اشتقاق المفاتيح
الخطوة 1: افتح الأداة
انتقل إلى safeseed.app/tools/key-derivation/. مثل جميع أدوات SafeSeed، تعمل العمليات بالكامل في متصفحك.
تذكير أمني: إذا كنت تدخل عبارة بذرة للأموال الحقيقية، استخدم جهازاً معزولاً عن الشبكة. انظر إلى دليل الاستخدام بلا اتصال.
الخطوة 2: أدخل عبارة البذرة الخاصة بك
أدخل عبارة BIP-39 المكونة من 12 أو 24 كلمة. اختياري: أدخل عبارة السر. تتحقق الأداة من العبارة وتعرض البذرة الرئيسية (512 بت hex) المشتقة عبر PBKDF2.
الخطوة 3: عرض المفتاح الرئيسي
بعد إدخال عبارة بذرة صحيحة، تعرض الأداة معلومات المفتاح الرئيسي:
- المفتاح الخاص الرئيسي (xprv): المفتاح الخاص الجذري الذي يشتق منه جميع المفاتيح الأخرى. هذا هو الجزء الأكثر حساسية في كل التسلسل الهرمي للمفاتيح.
- المفتاح العام الرئيسي (xpub): المفتاح العام المقابل. من هذا المفتاح، يمكن اشتقاق جميع المفاتيح العامة الفرعية (للمسارات غير المقسّاة).
- رمز السلسلة الرئيسي: قيمة 256 بت تُستخدم جنباً إلى جنب مع المفتاح في دالة الاشتقاق. يضيف رمز السلسلة طبقة إضافية من عدم القدرة على التنبؤ باشتقاق المفتاح الفرعي.
الخطوة 4: انقل عبر شجرة الاشتقاق
تعرض أداة اشتقاق المفاتيح التسلسل الهرمي للمفاتيح كشجرة تفاعلية. يمكنك:
- انقر على عقد الشجرة لتوسيعها ورؤية المفاتيح الفرعية
- أدخل مساراً مخصصاً في حقل إدخال المسار (مثل
m/84'/0'/0'/0/0) - بدّل بين عرض المفتاح الخاص والعام
- انسخ أي مفتاح أو مسار للاستخدام في الأدوات الأخرى أو المحافظ
الخطوة 5: فحص مفتاح محدد
عند اختيار عقدة في الشجرة، تعرض الأداة معلومات كاملة لذلك المفتاح:
- مسار الاشتقاق: المسار الكامل من الرئيسي إلى هذا المفتاح
- المفتاح الخاص: المفتاح على هذا المستوى (بصيغة موسعة و WIF حيث ينطبق)
- المفتاح العام: المفتاح العام المقابل (مضغوط)
- رمز السلسلة: رمز السلسلة على هذا المستوى
- البصمة: معرّف 4 بايتات لهذا المفتاح (يُستخدم في تسلسل المفتاح الموسع)
- العنوان المشتق: عنوان العملة الرقمية (للمفاتيح على مستوى الورقة)
الخطوة 6: استكشف أغراض مختلفة
انتقل عبر معايير BIP مختلفة لفهم كيفية إنتاج البذرة نفسها لأنواع عناوين مختلفة:
BIP-44 (الإرث): m/44'/0'/0'/0/0
- ينتج عناوين إرث تبدأ بـ
1 - رسوم معاملات أعلى
- التوافقية القصوى مع الأنظمة القديمة
BIP-49 (SegWit): m/49'/0'/0'/0/0
- ينتج عناوين SegWit تبدأ بـ
3 - رسوم معاملات متوسطة
- توافقية جيدة
BIP-84 (SegWit الأصلي): m/84'/0'/0'/0/0
- ينتج عناوين SegWit الأصلية تبدأ بـ
bc1q - رسوم معاملات منخفضة
- المعيار للمحافظ الحديثة
BIP-86 (Taproot): m/86'/0'/0'/0/0
- ينتج عناوين Taproot تبدأ بـ
bc1p - أقل رسوم معاملات
- المعيار الأحدث، يدعم البرمجة النصية المتقدمة
غوص عميق: كيفية عمل اشتقاق BIP-32
فهم الرياضيات وراء اشتقاق المفاتيح ليس ضرورياً لاستخدام الأداة، لكنه يوفر رؤية قيمة لأي شخص يريد أن يفهم حقاً أمان محفظته.
اشتقاق مفتاح فرعي HMAC-SHA512
يستخدم BIP-32 HMAC-SHA512 لاشتقاق المفاتيح الفرعية. تختلف العملية للاشتقاق المقسّى والعادي:
اشتقاق مفتاح فرعي عادي:
HMAC-SHA512(
key = parent_chain_code,
data = parent_public_key || child_index
) → (child_key_data, child_chain_code)
child_private_key = parent_private_key + child_key_data (mod n)
اشتقاق مفتاح فرعي مقسّى:
HMAC-SHA512(
key = parent_chain_code,
data = 0x00 || parent_private_key || child_index
) → (child_key_data, child_chain_code)
child_private_key = parent_private_key + child_key_data (mod n)
الفرق الحرج: يستخدم الاشتقاق المقسّى المفتاح الخاص كمدخل، بينما يستخدم الاشتقاق العادي المفتاح العام. وهذا يعني أنه لا يمكن اشتقاق المفاتيح الفرعية المقسّاة من المفتاح العام الأب وحده.
تسلسل المفتاح الموسع
المفاتيح الموسعة (xprv/xpub) تشفّر عدة أجزاء من المعلومات:
| الحقل | الحجم | الوصف |
|---|---|---|
| الإصدار | 4 بايتات | الشبكة ونوع المفتاح (0488ADE4 لـ xprv, 0488B21E لـ xpub) |
| العمق | 1 بايت | عدد المستويات من المفتاح الرئيسي |
| بصمة الأب | 4 بايتات | أول 4 بايتات من hash مفتاح الأب |
| مؤشر الطفل | 4 بايتات | أي طفل هذا (مع بت مقسّى) |
| رمز السلسلة | 32 بايت | رمز السلسلة |
| بيانات المفتاح | 33 بايت | المفتاح الخاص أو العام |
يتم تشفير الهيكل بالكامل Base58Check لإنتاج السلسلة المألوفة xprv... أو xpub.... تنتج بايتات الإصدار المختلفة ypub/zpub لـ SegWit و Native SegWit على التوالي.
التطبيقات العملية
التطبيق 1: تصحيح أخطاء استرجاع المحفظة
السيناريو: استرجعت عبارة البذرة في محفظة جديدة لكن رصيد Bitcoin يعرض صفراً.
التشخيص باستخدام أداة اشتقاق المفاتيح:
- أدخل عبارة البذرة في أداة اشتقاق المفاتيح
- انتقل إلى
m/84'/0'/0'/0/0(SegWit الأصلي، المسار الأكثر شيوعاً الحديث) - لاحظ العنوان — تحقق منه على mempool.space
- إذا لم يكن هناك رصيد، جرّب
m/44'/0'/0'/0/0(الإرث) - جرّب
m/49'/0'/0'/0/0(SegWit) - جرّب
m/86'/0'/0'/0/0(Taproot) - إذا لم يكن هناك رصيد، جرّب الحساب
1':m/84'/0'/1'/0/0 - تحقق من كل من السلسلة الخارجية (change=
0) والداخلية (change=1)
يكشف هذا الاستكشاف المنهجي بالضبط أين يقع أموالك في شجرة الاشتقاق.
التطبيق 2: فهم محافظ المراقبة فقط
السيناريو: تريد إعداد محفظة للمراقبة فقط لمراقبة رصيد Bitcoin دون كشف المفاتيح الخاصة.
استخدام أداة اشتقاق المفاتيح:
- أدخل عبارة البذرة (على جهاز معزول عن الشبكة)
- انتقل إلى مستوى الحساب:
m/84'/0'/0' - انسخ المفتاح العام الموسع (zpub) على هذا المستوى
- استورد هذا zpub في برنامج محفظة المراقبة فقط (مثل Electrum أو BlueWallet)
- يمكن لمحفظة المراقبة فقط اشتقاق جميع عناوين الاستقبال والتغيير تحت هذا المستوى
- لا يمكنها اشتقاق المفاتيح الخاصة أو التوقيع على المعاملات
تعرض لك أداة اشتقاق المفاتيح بالضبط أي مستوى من الشجرة لتصديره، والمعلومات الموجودة في المفتاح العام الموسع.
التطبيق 3: تنظيم الحسابات المتعددة
السيناريو: تريد فصل ممتلكاتك من Bitcoin إلى حسابات متميزة (مثل الادخار والتداول والعمل) باستخدام عبارة بذرة واحدة.
استخدام أداة اشتقاق المفاتيح:
- الحساب 0:
m/84'/0'/0'— الادخار الشخصي - الحساب 1:
m/84'/0'/1'— التداول - الحساب 2:
m/84'/0'/2'— العمل
لكل حساب مجموعة خاصة من العناوين والمفاتيح الموسعة. يضمن الاشتقاق المقسّى على مستوى الحساب أن تسريب مفاتيح حساب واحد لا يؤثر على الآخرين.
التطبيق 4: استكشاف مفاتيح متعددة السلاسل
السيناريو: تريد فهم كيفية إنشاء عبارة بذرة واحدة عناوين لكل من Bitcoin و Ethereum.
استخدام أداة اشتقاق المفاتيح:
- أدخل عبارة البذرة
- انتقل إلى
m/44'/0'/0'/0/0— هذا هو مفتاح Bitcoin - انتقل إلى
m/44'/60'/0'/0/0— هذا هو مفتاح Ethereum - لاحظ: المفاتيح مختلفة تماماً رغم أنها تأتي من نفس البذرة
- مستوى
coin_type(0'مقابل60') هو حيث تنقسم الأشجار
يوضح هذا كيف يمنع الهرمية BIP-44 أي تداخل بين السلاسل مع الحفاظ على قابلية الاسترجاع من بذرة واحدة.
التطبيق 5: التحقق من سلوك المحفظة الصعبة
السيناريو: تريد التأكد من أن محفظتك الصعبة لا تكذب بشأن العناوين التي تتحكم فيها.
استخدام أداة اشتقاق المفاتيح:
- على جهاز معزول عن الشبكة، أدخل عبارة البذرة التي هيأت بها محفظتك الصعبة
- اشتق أول 10 عناوين على نفس المسار الذي تستخدمه محفظتك الصعبة
- قارن كل عنوان مع ما تعرضه المحفظة الصعبة
- إذا تطابق الكل، فإن المحفظة الصعبة تطبق بشكل صحيح اشتقاق BIP-32/44
- إذا اختلفوا، قد تكون هناك مشكلة في البرنامج الثابت أو عبارة سر مختلفة أو عدم توافق في مسار الاشتقاق
فهم عناوين التغيير
أحد أكثر الجوانب المربكة لمحافظ HD للمستخدمين الجدد هو مفهوم عناوين التغيير. تساعد أداة اشتقاق المفاتيح على إزالة الغموض عن هذا.
ما هي عناوين التغيير؟
في Bitcoin (والسلاسل المماثلة القائمة على UTXO)، عند الإنفاق من عنوان، تستهلك عادة كل "مخرج معاملة غير منفق" (UTXO) في ذلك العنوان. إذا كنت تريد إرسال 0.5 BTC لكن UTXO هو 1.0 BTC، تنشئ المعاملة مخرجين:
- 0.5 BTC إلى عنوان المستقبِل
- 0.5 BTC (ناقص الرسوم) إلى عنوان تغيير تتحكم فيه
يأتي عنوان التغيير هذا من السلسلة الداخلية (change = 1) في مسار الاشتقاق الخاص بك:
- عناوين الاستقبال:
m/84'/0'/0'/0/x - عناوين التغيير:
m/84'/0'/0'/1/x
عرض عناوين التغيير في أداة اشتقاق المفاتيح
انتقل إلى سلسلة التغيير بتعيين مكون التغيير إلى 1:
| المسار | النوع | الغرض |
|---|---|---|
m/84'/0'/0'/0/0 | خارجي | أول عنوان استقبال |
m/84'/0'/0'/0/1 | خارجي | ثاني عنوان استقبال |
m/84'/0'/0'/1/0 | داخلي | أول عنوان تغيير |
m/84'/0'/0'/1/1 | داخلي | ثاني عنوان تغيير |
فهم عناوين التغيير حاسم لاسترجاع المحفظة. إذا كنت تمسح العناوين الخارجية فقط، قد تفقد الأموال الموجودة في عناوين التغيير. تعرض أداة اشتقاق المفاتيح كلا السلسلتين.
أنواع العملات SLIP-44
يستخد