كيف تجري التوقيعات الرقمية؟
محتويات
في هذا الدرس، سنتعلم كيف يعمل التوقيع الرقمي فعليًا في عملة البيتكوين والعملات المشفرة الأخرى.
من أجل الوصول إلى هذه النقطة، كان علينا أن نتعلم العديد من المفاهيم التقنية أولاً لأنها تمثل “اللبنات الأساسية” اللازمة لإنشاء التوقيع الرقمي:
- وظائف التجزئة
- المفاتيح الخاصة والعامة
- التشفير غير المتماثل
إذا لم تكن على دراية بهذه المفاهيم، فقد تم شرحها بطريقة سهلة الاستخدام في الدروس السابقة. استكشف الروابط أعلاه لمعرفة المزيد.
كيف يتم إنشاء التوقيع الرقمي؟
دعونا نلقي نظرة على كيفية عمل التوقيع الرقمي خطوة بخطوة:
- عندما تريد إرسال البيتكوين، تقوم محفظتك بإنشاء رسالة معاملة . تحتوي هذه الرسالة على معلومات مثل مقدار عملات البيتكوين التي ترغب في إرسالها وعنوان المستلم.
- يتم تشغيل هذه الرسالة من خلال دالة التجزئة .
- تنتج وظيفة التجزئة مخرجات تعرف باسم ” تجزئة الرسالة ” أو ” تجزئة ” فقط.
- يتم بعد ذلك تشفير تجزئة الرسالة باستخدام مفتاحك الخاص .
- تصبح تجزئة الرسالة المشفرة ” التوقيع الرقمي “.
فيما يلي مخطط انسيابي لهذه العملية
لذا، في نهاية هذه العملية، أنشأت محفظتك “عنصرين”:
- رسالة الصفقة
- التوقيع الرقمي (تجزئة مشفرة لرسالة المعاملة)
في هذه المرحلة، لم يتم إرسال أي شيء إلى شبكة Bitcoin حتى الآن.
إذا لم تلاحظ، فإن رسالة المعاملة نفسها مطلوبة باعتبارها “مكونًا” لإنشاء التوقيع الرقمي.
لذلك، لا تستخدم مفتاحك الخاص لإنشاء توقيع رقمي فحسب… بل تستخدم مفتاحك الخاص وتجزئة رسالة المعاملة.
وهذا يعني أنه لا يمكنك استخدام هذا التوقيع الرقمي لمعاملة أخرى. إذا حاولت استخدام هذا التوقيع الرقمي في معاملة ثانية، فسيتم رفضه من قبل شبكة Bitcoin لأن التوقيع الرقمي يعتمد فقط على البيانات من المعاملة الأولى.
كل توقيع رقمي فريد لمعاملة معينة .
كيف يتم التحقق من التوقيع الرقمي؟
من أجل إنفاق عملات البيتكوين من عنوان بيتكوين معين ، يجب على المرء إثبات “الملكية” (أو: المعرفة) للمفتاح الخاص المقترن بالمفتاح العام المرتبط بهذا العنوان .
لكنك تريد القيام بذلك دون الحاجة إلى الكشف عن مفتاحك الخاص.
التوقيع الرقمي هو شيء يمكنك استخدامه لإثبات أنك تعرف المفتاح الخاص المتصل بالمفتاح العام، دون الحاجة إلى الكشف عن المفتاح الخاص الفعلي.
دعونا نرى كيف يعمل
- عند بدء معاملة بيتكوين، يوفر برنامج محفظتك في الواقع ثلاثة “عناصر” لشبكة بيتكوين: رسالة المعاملة الأصلية ، والتوقيع الرقمي ، ومفتاحك العام (المرتبط بالعنوان الذي يتم تخزين عملة بيتكوين التي ترغب في إرسالها بها حاليًا ).
- بمجرد أن تتلقى عقدة البيتكوين هذه “العناصر”، فسوف تقوم بفصلها.
- سوف يأخذ رسالة المعاملة الأصلية ويقوم بتشغيلها من خلال نفس وظيفة التجزئة التي استخدمتها سابقًا. (تستخدم جميع برامج Bitcoin نفس وظيفة التجزئة.) أما بالنسبة للتوقيع الرقمي، فسوف يستخدم المفتاح العام الذي قدمته لفك تشفيره.
- سيتم بعد ذلك مقارنة كلا التجزئتين.
- هل كلا التجزئتين متطابقتان تمامًا؟
- إذا تطابق كلا التجزئة، فهذا يثبت أنك المالك الفعلي لعملة البيتكوين التي ترغب في إرسالها.
فيما يلي مخطط انسيابي لهذه العملية:
هناك أمران يجب الإشارة إليهما هنا:
1. القدرة على فك التشفير باستخدام المفتاح العام تثبت هوية المرسل.
في الخطوة 3، بمجرد أن تتمكن العقدة من فك تشفير التوقيع الرقمي، فهذا يثبت “هويتك”.
تذكر، نظرًا لأن المفتاح الخاص والمفتاح العام مرتبطان رياضيًا، إذا كنت قادرًا على فك تشفير رسالة باستخدام مفتاحي العام ، فهذا يعني أنني قمت بتشفيرها باستخدام مفتاحي الخاص .
إذا لم تتمكن من فك تشفير الرسالة، فهذا يعني أنها تم تشفيرها بواسطة مفتاح خاص لشخص آخر. وهذا يعني أن الرسالة لم تأتي مني.
2. تثبت التجزئات المتطابقة تمامًا أن الرسالة لم يتم تغييرها.
في الخطوة 6، يضمن التحقق للتأكد من أن كلا التجزئتين متطابقتين تمامًا عدم تغيير الرسالة الأصلية.
من المهم معرفة ذلك لأنه على عكس التوقيع الرقمي المشفر، فإن رسالة المعاملة الأصلية تكون بنص عادي لأن جميع معاملات Bitcoin تكون عامة ليراها الجميع.
تذكر أن أي تغيير طفيف سيؤدي إلى تجزئة مختلفة تمامًا. لذا، إذا قام شخص ما باعتراض رسالة المعاملة الأصلية في طريقها إلى العقدة وتعديلها (مثل إرسال عملة البيتكوين إلى عنوانه بدلاً من ذلك)، فعندما تمر الرسالة عبر وظيفة التجزئة، فإنها ستنتج تجزئة مختلفة تمامًا عن الرقمية إمضاء.
على غرار الطريقة التي يربط بها التوقيع المكتوب بخط اليد شخصًا بمستند معين، فإن “التوقيع الرقمي” يستخدم التشفير…. بالتشفير …. يربط الهوية برسالة محددة .
ملخص
الآن بعد أن فهمت كيفية إنشاء التوقيع الرقمي وكيفية التحقق منه، إليك صورة كبيرة لما يعنيه “توقيع” المعاملة فعليًا وكيف يتم استخدام “التوقيع الرقمي” للمرسل للتحقق من ملكية عملات البيتكوين التي يرغب فيها. لترسل: