المفتاح الخاص والعام
المقال الثالث من سلسلة العلم — سر ملكية الأصول الرقميةلو ضاع المفتاح الخاص، الرصيد بيضيع معاه للأبد — ولا حتى مطوّر الشبكة نفسه يقدر يرجّعه.
⚠️ تنبيه أمان مهم: أي أداة أونلاين بتولّد مفاتيح أو Seed Phrase — متستخدمهاش أبدًا لمحفظة فيها فلوس حقيقية. استخدمها بس للتجربة والفهم، وأي مفتاح حقيقي يتولّد على جهاز أوفلاين تمامًا (من غير إنترنت) وميتحطش في أي موقع.
المفتاح الخاص (Private Key)
رقم سري عشوائي طوله 256 بت — يعني عدد الاحتمالات الممكنة (2 أس 256) أكبر من عدد الذرات المقدّرة في الكون المرئي.
مثال توضيحي من توثيق Bitcoin الرسمي (مش مفتاح حقيقي مستخدم): 5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF
المفتاح العام (Public Key) والعنوان
- يُشتق من المفتاح الخاص باستخدام تشفير المنحنى الإهليلجي (SECP256k1)
- يتحول بعد كده لعنوان أقصر يُشارك مع الآخرين (مثال من التوثيق الرسمي: bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh)
- أي حد يقدر يرسل للعنوان ده، لكن أنت بس اللي تقدر تصرف منه — لأن الصرف محتاج توقيع بالمفتاح الخاص
التوقيع الرقمي: السحر الحقيقي
1. تكتب المعاملة: "أرسل 0.1 BTC لسارة" 2. توقّعها بالمفتاح الخاص → ينتج توقيع فريد 3. ترسل المعاملة + التوقيع للشبكة 4. الشبكة تتحقق من التوقيع بالمفتاح العام → تمت المعاملة
جرّب المفهوم بكود Python
الكود ده بيستخدم مكتبة ecdsa الحقيقية لتوليد زوج مفاتيح وتوقيع رسالة (نتيجة كل تشغيل مختلفة لأنها عشوائية، وده طبيعي وجزء من الأمان):
from ecdsa import SigningKey, SECP256k1
sk = SigningKey.generate(curve=SECP256k1) # مفتاح خاص عشوائي جديد
private_key = sk.to_string().hex()
public_key = sk.verifying_key.to_string("compressed").hex()
message = "أرسل 0.5 BTC لمحمد"
signature = sk.sign(message.encode()).hex()
print("Private:", private_key)
print("Public :", public_key)
print("التوقيع:", signature)
جرّب الكود في أي بيئة بايثون على جهازك أو أونلاين — كل مرة هيطلعلك مفتاح مختلف لأنه عشوائي، وده المفروض يحصل.
أنواع المحافظ الشائعة
| النوع | مثال | ملاحظة |
|---|---|---|
| هاردوير | Ledger, Trezor | المفتاح الخاص متخزّن على جهاز منفصل عن الإنترنت |
| سوفتوير (موبايل) | Trust Wallet, Exodus | أسهل استخدامًا، أنسب لمبالغ صغيرة |
| ورقية | مفتاح مطبوع/مكتوب يدويًا | لازم تتولّد أوفلاين تمامًا |
أدوات تعليمية (للتجربة فقط، مش لمفاتيح حقيقية)
المقال الجاي في السلسلة: "التعدين وإثبات العمل.. إزاي بيتولّد البيتكوين"
