ما هو مفهوم التوقيعات الرقمية.. وماذا يعني توقيع Schnorr؟
تفرض البيتكوين حقوق الملكية باستخدام ما يُسمَى خوارزمية التوقيع الرقمي للمنحنى الإهليلجي (ECDSA). تسمح لك هذه الخوارزمية بأخذ رقم واحد (أي مفتاح خاص) واشتقاق مفتاح عام منه. المثير في هذا الأمر هو أنه بينما يمكنك بسهولة الحصول على مفتاح عام من مفتاح خاص، من المستحيل فعل العكس، فالمفتاح الخاص هو جواز مرورك إلى شبكة البيتكوين، وهو ما يسمح لك بإنشاء عنوان لاستلام العملات وما يسمح لك لاحقاً بإنفاقها.
في هذا المقال، سنلقي نظرة على خوارزمية توقيعات Schnorr، وهي خوارزمية بديلة لخوارزمية ECDSA من شأنها إحداث بعض التغييرات المثيرة في عملة البيتكوين.
اقرأ أيضاً: ما هي خوارزمية إجماع البلوكتشين؟
ملخص سريع عن التوقيعات الرقمية
تشبه التوقيعات الرقمية بالضبط التوقيعات الفعلية بالأقلام على الورق، لكنها أكثر أماناً بكثير. فيمكن لأي شخص تزوير التوقيعات الفعلية ببعض الجهد والوقت، بينما لا يمكنك فعل الأمر نفسه مع مخطط توقيعات رقمية قوي، حتى وإن كان أمامك مئات الآلاف من الأعوام لفعل ذلك.
يوجد العديد من حالات الاستخدام للتوقيعات الرقمية، تتمثل إحدى الحالات الشائعة في إثبات كتابتك لرسالة معينة. كما ذكرنا، يمكنك إنشاء مفتاح عام من مفتاح خاص (عدد ضخم يجب عليك الإبقاء عليه سراً)، يمكنك فعل ذلك عن طريق إجراء بعض الحسابات الرياضية الدقيقة على منحنى secp256k1. ومن ثم يمكنك إنشاء عنوان عام من مفتاحك العام.
لاحظ أنه من الآمن تماماً اطلاع أي شخص على مفتاحك العام، فيمكنك إضافته إلى موقعك الإلكتروني أو النبذة الشخصية لك على تويتر لكي يتمكن الآخرون من التحقق من هويتك. وبالمثل، يمكنك مشاركة عناوينك العامة مع الآخرين لكي يتمكنوا من إرسال العملات الرقمية إليك.
يسمح لك مفتاحك الخاص بإنشاء توقيع رقمي، ومن خلال كتابة رسالة وأداء عملية عليها باستخدام مفتاحك الخاص، تنشئ رسالة موقَّعة. ويمكن لأي شخص أخذ هذه الرسالة ومقارنتها بمفتاحك العام للتحقق من أنك من وقعتها بالفعل. ما علاقة ذلك بعملة البيتكوين؟ في أي وقت تجري معاملة بعملة البيتكوين، توقع رقمياً رسالة مفادها أرسل هذه العملات التي أُرسِلت إلي في السابق. وبعد ذلك، عندما تُرسَل الرسالة إلى عُقد أخرى على الشبكة، يمكن لهذه العُقد التحقق من أن توقيع خوارزمية ECDSA يتوافق مع الرسالة. وفي حالة عدم توافقه، سترفضها العُقد.
اقرأ أيضاً: لماذا فقدت البيتكوين شعبيتها لدى محتالي العملات المشفرة؟
ما هي توقيعات Schnorr؟
مخطط توقيعات Schnorr مختلف بعض الشيء، فهي تعمل على نحو مشابه لخوارزمية التوقيع الرقمي للمنحنى الإهليلجي (ECDSA) التي نستخدمها حالياً، لكنها تتميز عنها بعدد من المزايا. وقد ظهرت توقيعات Schnorr في الواقع قبل خوارزمية ECDSA، ما يدفع كثيرون إلى التساؤل عن سبب عدم دمجها في عملة البيتكوين من البداية. يتمثل أحد التفسيرات المحتملة لذلك في أن كلوز شنور مطور المخطط، قد سجل براءات اختراع لهذه التوقيعات. وانتهت مدة هذه البراءات في مطلع عام 2008، قبل شهور من صدور المستند التقني للبيتكوين، ولكن المخطط ما زال بلا معايير قياسية بوجه عام. ومن ثم فقد اختار ساتوشي ناكاموتو خوارزمية ECDSA المعترف بها على نطاق أوسع و المفتوحة المصدر.
لماذا تُعد توقيعات Schnorr مفيدة؟
توقيعات Schnorr بسيطة للغاية مقارنة بالمخططات الأخرى. ومن ثم فهي أكثر أماناً على نحو قابل للإثبات مقارنة ببدائلها. تتميز هذه التوقيعات بميزة مهمة أخرى قد لا تعني لك الكثير للوهلة الأولى، وهي: “الخطية” بعبارة بسيطة، تجعل هذه الميزة المخطط جذاباً بوجه خاص لأداء أنشطة معينة لا سيما المعاملات متعددة التوقيع. لعلك تعلم أن البيتكوين تدعم بالفعل التوقيعات المتعددة، لكنها لا تفعل ذلك على النحو الأمثل.
عندما تُنشئ عنواناً متعدد التوقيع، لا يتعين على مَن ترسل إليه الأموال معرفة الشروط التي وضعتها لإنفاق المدخلات. ويمكن ألا يعرف كذلك أنهم يرسل الأموال إلى إعداد متعدد التوقيع الخاصية المميزة الوحيدة للعنوان هي أنه يبدأ برقم “3”. لكنك تكشف عن طبيعة العنوان عندما ترغب في نقل الأموال، لنفترض أنك استخدمت إعداد 3 من 3 مع أليس وبوب لإنفاق 5 BTC، على سبيل المثال، ينبغي عليكم أنتم الثلاثة تقديم المفاتيح العامة والتوقيعات الصحيحة، وعندما تنقل الأموال من العنوان، يمكن أن تعلم الشبكة بأكملها ما حدث عن طريق النظر إلى سلسلة البلوكتشين.
من ناحية الخصوصية وفي حالة إنشاء توقيعات متعددة أكبر (على سبيل المثال، 8 من 10)، فإننا نشغل مساحة أكبر بعض الشيء على سلسلة البلوكتشين، وذلك قد يكون مكلفاً لأنه سينتج عنه معاملة طويلة تذكر أنه كلما زاد عدد وحدات البايت في معاملاتك، زاد ما عليك دفعه. يُروَّج لتوقيعات Schnorr بوصفها حلاً لهذه المشكلات المتعلقة بالخصوصية و القابلية للتوسع. فتسمح هذه التوقيعات بأمور مثل تجميع التوقيعات حيث تُجمَع توقيعات موقّعين متعددين في توقيع واحد. ويكون “التوقيع الرئيسي” الناتج بنفس طول توقيع الشخص الواحد العادي، ما يؤدي إلى توفير كبير في المساحة. علاوة على ذلك، تجعل التوقيعات المُجمَّعة من الأصعب بكثير على الملاحظ تحديد مَن وقّع (أو لم يوقّع) المعاملة.