المفتاح العام والمفتاح الخاص هما زوج من المفاتيح التشفيرية، يُطلق عليه زوج المفاتيح. المفتاح الخاص هو قيمة سرية تُستخدم لإنشاء التوقيعات الرقمية. أما المفتاح العام فيُشتق من المفتاح الخاص، ويمكن مشاركته علنًا، ويسمح لأي شخص بالتحقق من التوقيع دون معرفة السر. في بيتكوين، التحكم في المفتاح الخاص هو ما يتيح إنفاق BTC.
كيف يترابط المفتاح الخاص والمفتاح العام؟
المفتاح الخاص هو قيمة سرية تُستخدم لإنشاء التوقيعات الرقمية. فمن يعرف المفتاح الخاص يمكنه التوقيع نيابة عن المفتاح العام المقابل له، ولهذا يحتفظ به المالك ولا يشاركه مع أحد.
يُحسب المفتاح العام من المفتاح الخاص عبر عملية رياضية أحادية الاتجاه. يُطلق على المفتاحين معًا اسم زوج المفاتيح، ويُكتب أحيانًا "keypair" في الإنجليزية. يتم توليد زوج المفاتيح بحيث يكون اشتقاق المفتاح الخاص من المفتاح العام مستحيلًا من الناحية الحسابية عمليًا، ولهذا السبب يمكن مشاركة المفتاح العام بحرية. يلخص الجدول أدناه أي من المفتاحين يُشارك وأيهما يُحتفظ به سرًا.
| المفتاح | من يمكنه معرفته | ماذا يفعل |
|---|---|---|
| المفتاح الخاص | مالكه فقط | ينشئ التوقيعات الرقمية |
| المفتاح العام | أي شخص | يتحقق من التوقيعات المُنشأة بواسطة المفتاح الخاص المقابل |
يُطلق على هذا المجال الذي يستخدم أزواج المفاتيح اسم تشفير المفتاح العام، أو التشفير غير المتماثل، لأن المفتاحين مختلفان ويؤديان وظيفتين مختلفتين. يمكن استخدام زوج المفاتيح لتوقيع البيانات أو لتشفيرها. في المقابل، يستخدم التشفير المتماثل مفتاحًا واحدًا مشتركًا لتشفير البيانات وفك تشفيرها معًا. يُطلق على هذا المفتاح الواحد غالبًا اسم "المفتاح السري".
كيف تعمل مفاتيح بيتكوين عند إنفاق BTC؟
تعمل مفاتيح بيتكوين من خلال التوقيعات الرقمية. على بلوكتشين بيتكوين، توجد عملات BTC في شكل مخرجات (outputs)، وهي مبالغ من BTC مُقيّدة بشرط معين. في أبسط الحالات، يكون الشرط هو توقيع صالح من المفتاح المرتبط بذلك المخرج، أي أن التحكم في BTC يعني القدرة على إنتاج ذلك التوقيع.
يتطلب إنفاق BTC باستخدام زوج المفاتيح أربع خطوات:
- تقوم المحفظة، وهي برنامج يخزّن المفتاح الخاص، بتوقيع المعاملة باستخدام المفتاح الخاص.
- تبث المحفظة المعاملة الموقّعة إلى شبكة بيتكوين.
- العُقد، وهي أجهزة الحاسوب المتصلة بشبكة بيتكوين، تتحقق من التوقيع مقارنة بالمفتاح العام.
- تنجح عملية التحقق أو تفشل، ولا يكشف التوقيع عن المفتاح الخاص.
إنشاء توقيع صالح يتطلب المفتاح الخاص، بينما يتطلب التحقق منه المفتاح العام فقط. لذلك فإن الموقّع هو حامل المفتاح الخاص، بينما يمكن لأي شخص أن يكون المُتحقق. يُصرّح التوقيع بإنفاق مخرج محدد واحد، ويغطي بشكل افتراضي تفاصيل المعاملة: المخرج الذي يتم إنفاقه، والوجهة، والمبلغ.
يستخدم بيتكوين أزواج المفاتيح لتوقيع المعاملات، وليس لتشفير البيانات. فالمعاملات نفسها عامة على البلوكتشين، لذا فإن التوقيع يُثبت أن شخصًا يحمل المفتاح الخاص قد صرّح بالإنفاق، ولا يُخفي الدفعة. يقبل بيتكوين نظامين للتوقيع، هما خوارزمية التوقيع الرقمي للمنحنى الإهليلجي (ECDSA) وتوقيعات شنور (Schnorr).
كيف ينشئ بيتكوين زوج المفاتيح؟
تنشئ المحفظة زوج المفاتيح عبر اختيار مفتاح خاص عشوائي. المفتاح الخاص في بيتكوين هو رقم مكوّن من 256 بت، أي أنه يحتاج إلى 256 بت، أو 32 بايت، لتخزينه. يمتد المفتاح الخاص الصالح من 1 إلى حد أدنى بقليل من حد ثابت يُسمى رتبة المنحنى. هذا الحد أصغر قليلًا من 2 أس 256، لذا فإن كل رقم تقريبًا من 256 بت يُعد مفتاحًا خاصًا صالحًا.
يستخدم بيتكوين منحنى secp256k1 الإهليلجي، وهو مجموعة ثابتة من الثوابت الرياضية التي تتشاركها برمجيات بيتكوين. يُحسب المفتاح العام من المفتاح الخاص عبر عملية حسابية أحادية الاتجاه على هذا المنحنى، بدءًا من نقطة ثابتة عليه. يأخذ المفتاح العام في بيتكوين 33 بايت في صيغته المضغوطة: بايت بادئة واحد يتبعه 32 بايت. أما Taproot، وهو نوع مختلف من العناوين سنشرحه في القسم التالي، فيستخدم مفتاحًا من 32 بايت بدلًا من ذلك.
توضح الكتلة أدناه العلاقة بين المفتاح الخاص والمفتاح العام والعنوان الشائع ذي المفتاح الواحد. العناصر الموضوعة بين قوسين زاويتين هي أسماء توضيحية تمثل نوع وحجم كل قيمة، وليست قيمًا حقيقية. يُحسب كل سطر من السطر الذي يسبقه عبر خطوة أحادية الاتجاه.
private key: <256-bit secret number, 32 bytes>
public key: <compressed point, 33 bytes>
address: <hash of the public key, encoded>كيف يُشتق عنوان بيتكوين من المفتاح العام؟
بالنسبة لأنواع العناوين الشائعة ذات المفتاح الواحد، يُعد عنوان بيتكوين معرّف دفع مشتقًا من المفتاح العام عبر عملية تجزئة (hashing)، وبالتالي فإن العنوان ليس المفتاح العام نفسه. العنوان ذو المفتاح الواحد هو عنوان مرتبط بمفتاح عام واحد، والنوعان الشائعان هما النوع التقليدي (legacy) ونوع SegWit. التجزئة هي عملية حسابية أحادية الاتجاه تُحوّل مُدخلًا من أي طول عملي إلى مخرج ثابت الحجم.
بالنسبة لعنوان من نوع legacy أو SegWit، تقوم المحفظة بتجزئة المفتاح العام باستخدام SHA-256، وهي دالة تجزئة، ثم تُجزّئ النتيجة مجددًا باستخدام RIPEMD-160، وهي دالة تجزئة ثانية. تكون النتيجة النهائية بطول 20 بايت. يستخدم عنوان SegWit هذه النتيجة المكوّنة من 20 بايت كما هي، بينما يضيف العنوان التقليدي بايت إصدار ورمز تحقق، ويُكتب بترميز يُسمى Base58Check.
ليست كل أنواع عناوين بيتكوين مبنية على تجزئة مفتاح عام واحد. فعناوين تجزئة النص البرمجي (script-hash) تُجزّئ نصًا برمجيًا، وهو الشرط الذي يجب تحقيقه للإنفاق، بدلًا من مفتاح. أما عناوين Taproot فتحتوي على مفتاح من 32 بايت مباشرة بدلًا من تجزئته.
بالنسبة للعناوين من نوع legacy وscript-hash التي لم يُعَد استخدامها، لا يظهر المفتاح العام على البلوكتشين، بل تجزئته فقط، إلى أن يتم إنفاق الأموال المُرسلة إلى ذلك العنوان لأول مرة. العنوان هو المكان الذي تُستقبل فيه عملات BTC، أما المفتاح الخاص فهو ما يُستخدم لإنفاقها.
ماذا تحتوي المحفظة، ومن يحمل المفاتيح؟
محفظة بيتكوين هي نوع من المحافظ الرقمية (crypto wallet): برنامج يخزّن المفاتيح الخاصة ويستخدمها لبناء المعاملات وتوقيعها. في جوهرها، المحفظة هي مجموعة من المفاتيح الخاصة، وليست مخزنًا لعملات BTC. فعملات BTC نفسها مُسجّلة على البلوكتشين كمخرجات معاملات غير منفقة (UTXOs). الـ UTXO هو مخرج من معاملة سابقة لم يُنفق بعد، لذا فإن عبارة "عملاتي موجودة في محفظتي" هي تعبير مختصر وليست دقيقة حرفيًا.
الحفظ الذاتي (self-custody) يعني أن المالك هو من يحمل المفاتيح الخاصة. وطالما لم يمتلك أي شخص آخر نسخة من هذه المفاتيح، فلن يتمكن سوى المالك من إنفاق عملات BTC، وهو من يتحمّل مخاطر فقدانها.
المحفظة الاحتجازية (custodial wallet) هي محفظة يحتفظ فيها مزوّد الخدمة بالمفاتيح الخاصة نيابة عن المستخدم. فمن يملك المفاتيح الخاصة يمكنه إنفاق عملات BTC المرتبطة بها، وبالتالي فإن الفرق بين الحفظ الذاتي والمحفظة الاحتجازية يكمن في هوية ذلك الطرف: المالك في الحالة الأولى، ومزوّد الخدمة في الحالة الثانية.
تستطيع كثير من المحافظ، تُعرف باسم المحافظ الحتمية الهرمية (HD wallets)، إعادة توليد جميع مفاتيحها من نسخة احتياطية واحدة، عادة ما تكون عبارة استرداد (seed phrase).
ماذا يحدث إذا فُقد المفتاح الخاص أو شُورك؟
لا يمكن تغيير المفتاح الخاص أو إعادة تعيينه كما يُفعل مع كلمة المرور. فإذا لم توجد نسخة احتياطية، يُفقد الوصول إلى الأموال المرتبطة بذلك المفتاح، لأن المخرجات تبقى مسجّلة على البلوكتشين ولا يمكن إنشاء توقيع لإنفاقها.
أي شخص يملك نسخة من المفتاح الخاص يمكنه التوقيع والإنفاق. ومعاملة بيتكوين المؤكدة مصممة لتكون نهائية، وتنطبق هذه النهائية أيضًا على أي إنفاق يتم باستخدام مفتاح خاص منسوخ.
12 نوفمبر 2026










