ما هو توقيع شنور وكيف يعمل؟

AR_Cryptocurrencyما هو توقيع شنور وكيف يعمل؟
ChangeNOW 300x250-1

إن إنشاء نظام مالي لامركزي وخالي من الثقة يتطلب الثقة أكثر من أي شيء آخر. قد يبدو الأمر متناقضًا، لكن انعدام الثقة يعني عدم الحاجة إلى الثقة بطرف ثالث (سواء كان فردًا أو مجموعة أو حكومة).

ولتحقيق هذا الهدف، يجب تصميم إجراءات العمل بطريقة توفر الأمان وعدم تسرب المعلومات بطريقة يمكن إثباتها. وبهذه الطريقة نستفيد من الرياضيات والتشفير.

ترتبط إمكانية مفهوم العملات الرقمية ارتباطًا وثيقًا بالتشفير لدرجة أنه ليس من قبيل الصدفة أن يتم تطبيق اسم “العملة المشفرة” على هذه المجموعة من العملات الرقمية.

يعد Schnorr Signature أحد أنواع أنظمة التشفير التي وجدت استخدامًا جديدًا في مجال العملات الرقمية بعد تحديث جذر Bitcoin.

وفي بقية هذه المقالة سنتعرف أكثر على توقيع شنور وبعض مميزاته وتطبيقاته في شبكة البيتكوين.

في هذه المقالة سوف نغطي:

ما هو توقيع شنور؟

نشأت فكرة الملكية الرقمية مع ظهور مفهوم التشفير بالمفتاح العام والخاص من قبل ديفي هيلمان في عام 1976.

وقد ظلت هذه الفكرة ثابتة على مر السنين، على الرغم من أن تقنيات وأساليب تنفيذها تتحسن يوما بعد يوم. أحد التطورات التي حدثت في أوائل التسعينيات هو من بنات أفكار كلاوس بيتر شنور. وهو أستاذ في جامعة فرانكفورت، وقد قدم في ورقة بحثية مبادئ نوع من التوقيع الرقمي ونظام تحديد الهوية الذي أصبح معروفا باسمه.

لقد سجل تصميمه، وربما تسبب عن غير قصد في إغفال أسلوبه الأفضل (من خوارزمية التوقيع الرقمي ذات المنحنى الإهليلجي – ECDSA) لفترة طويلة.

كانت شهادة براءة الاختراع والملكية الفكرية الخاصة به صالحة حتى عام 2008. ومن المثير للاهتمام ملاحظة أن خوارزمية ECDSA السابقة – خوارزمية DSA – تم إنشاؤها للتحايل على شهادة براءة اختراع شنور.

ChangeNOW 300x600

أحد الاختيارات المهمة التي واجهها ساتوشي ناكاموتو عند تطوير مواصفات بروتوكول البيتكوين كان اختيار خوارزمية التشفير.

لقد اختار ECDSA، ربما لأنه كان موحدًا مسبقًا ومدعومًا افتراضيًا بواسطة مكتبة OpenSSL التي يعتمد عليها كود Bitcoin بشكل كبير.

تم طرح الهمسات الأولى حول إدراج توقيع Schnorr في بروتوكول Bitcoin لأول مرة في عام 2014 في منتدى Bitcoin Talk. وبعد أربع سنوات، في عام 2018، تم إعداد المسودة الأولى التي تتضمن هذا التوقيع من قبل بيتر وويل.

في عام 2020، تمت إضفاء الطابع الرسمي على هذا الاقتراح باسم BIP-340 وتم تنفيذه أخيرًا في عام 2021 كأحد التغييرات المحدثة المعروفة باسم الجذر الجذري.

ولكن ما هو توقيع شنور؟

توقيع شنور هو توقيع رقمي تم إنشاؤه بواسطة خوارزمية شنور. هذا التوقيع له طبيعة بسيطة ويعتمد على عدم إمكانية حل بعض مشاكل اللوغاريتمات المنفصلة.

تقوم هذه الخوارزمية بإنشاء توقيعات رقمية قصيرة. يعتمد أمان هذه الخوارزمية على افتراض أوراكل العشوائي ويتطلب افتراضات أمنية أقل من ECDSA.

كيف يعمل توقيع شنور في الممارسة العملية؟

فيما يلي، سنحاول التحقق من كيفية إثبات والتأكد من صحة نظام التوقيع هذا للمفتاح الخاص. ولهذا نستخدم مثالا. لنفترض أن هناك شخصين A وB. أعلن الشخص A أن لديه المفتاح العام ومستعد لتلقي المعلومات وإرسالها من خلاله. يعتقد الشخص “ب” أن الشخص “أ” يكذب.

الآن، لإثبات صدقه، دون الكشف عن المفتاح الخاص المطابق لمفتاحه العام، يتبع الشخص “أ” الطريقة التالية. هذه هي الطريقة التي يعمل بها توقيع شنور:

لنفترض أن المعلمات التالية موجودة: p، q، a، s، v، r، x، وy

p يمكن أن يكون أي عدد أولي. q قابل للقسمة على p-1 (عامله) ويتم اختيار a بحيث يكون a^q على p باقيًا واحدًا (modulo a^q = 1 mod p).

المعلمات الثلاث المذكورة أعلاه عامة ويمكن للجميع معرفة قيمها. الآن لدينا القيمتين التاليتين:

s وهو المفتاح الخاص (قيمة s بين صفر و q) و v وهو المفتاح العام بالقيمة a^-s mod q.

v (أو المفتاح العام) عام، لكن الشخص “أ” فقط هو الذي يعرف عن s.

والآن إذا أراد إرسال الرسالة M فعليه القيام بالخطوات التالية:

  • أولا، يجب عليه اختيار رقم عشوائي r بحيث تكون قيمة r بين صفر و q.
  • ثم احسب قيمة X بحيث تكون X = a^r mod p
  • والآن بعد أن قام بحساب قيمة X، فإنه يقوم بإلحاقها بالرسالة (على غرار إلحاق السلسلة في البرمجة).

بعد تسلسل X مع M (مع العلامة X || M)، يرسل الاثنين كمدخل إلى وظيفة التجزئة ويخزن الإخراج كـ e.

e = H(M||X) حيث H() هي دالة التجزئة.

  • الآن يتم حساب قيمة y بالشكل المعاكس: y = (r + s*e) mod q

الآن وبعد الانتهاء من جميع الحسابات، يرسل الشخص “أ” العنصرين التاليين إلى المتلقي:

  • رسالة م
  • التوقيعات e و y

الآن دعونا نتحقق من المعلومات المتوفرة لدى الشخص “ب”:

  • لديه المفتاح العام (v) للفرد A.
  • يعرف العدد الأولي ص.
  • ف وهو العامل p-1.
  • كما يعرف قيمة أ.

يقوم الشخص B الآن بحساب قيمة Z على النحو التالي:

Z = a^y * v^e mod p

ومن ناحية أخرى، نحن نعلم أن v = a^-s. لنعوضها في المعادلة:

Change NOW 728x90

Z = a^y * a^-se = a^ (y-s*e)

ونعلم أيضًا أن y = r + se، مما يعني أن r = y-se

والآن إذا أدخلنا هذه القيمة أيضًا، فسيكون لدينا:

ض = أ ^ ص

وكما رأينا في السطور العلوية، فإن هذه القيمة تساوي X. ولكن من ناحية أخرى، فإن الشخص B ليس على علم بقيمة X لأنه لم يستلمها مطلقًا.

وهذا ما يفعله. يقوم بتسلسل M و Z ويرسلها كمدخل إلى وظيفة التجزئة. إذا كان الناتج يساوي e، فهذا يعني أن X و Z متماثلان.

لذلك أثبت أن الطريقة الوحيدة التي يمكن للشخص “أ” من خلالها الوصول إلى مثل هذا الناتج هي الحصول على المفتاح الخاص الصحيح.

وبهذه الطريقة يستطيع إثبات وكالته في إرسال الرسالة (أو هويته) دون الكشف عن المفتاح الخاص.

الآن، في blockchain، يمكن أن تكون الرسالة M عبارة عن معاملة غير منفقة ومشفرة باستخدام المفتاح العام.

وبهذه الطريقة، يمكن لمالك المفتاح الخاص فقط إنفاق تلك المعاملة، ويمكن للعقد التأكد من صحتها دون معرفة محتوى المفتاح الخاص.

ما هي خصائص توقيع شنور؟

كما ذكرنا سابقًا، مع نظام BIP-340، تم توحيد توقيع Schnorr للاستخدام في بروتوكول Bitcoin. وفقًا للخطة، فإن الميزات التي دفعت المطورين – بيتر ويل، وجوناس نيك، وتيم روفينج – لاقتراح التوقيع هي كما يلي:

  • آمن بشكل مثبت: توقيع شنور آمن بشكل مثبت. وبتعبير أدق، فإن هذا التوقيع مقاوم لهجوم SUF-CMA – وهو محصن بشدة ضد هجوم الرسالة المختارة.
  • عدم قابلية المطرقة: إحدى نتائج الخاصية السابقة هي أن توقيعات شنور غير قابلة للطرق، في حين أن توقيعات المنحنى الناقصي تكون بطبيعتها غير قابلة للطرق. وهذا يعني أنه يمكن لطرف ثالث، دون الوصول إلى المفتاح الخاص، عن طريق معالجة توقيع صالح لمفتاح عام ورسالة محددة، تحويله إلى توقيع آخر صالح لنفس الرسالة والمفتاح.
  • الخطية: لا يوجد أي تقسيم في عملية التحقق من التوقيعات وإنشاءها لشنور، والتي تتمثل قدرتها الضمنية في إضافة خاصية الخطية المهمة جدًا إلى تصميم التوقيع هذا. تسمح الخطية لأصحاب المفاتيح العامة المتعددة بإنشاء مفتاح مشترك من مفاتيحهم العامة، وهو مجموع مفاتيحهم. تعد هذه الميزة حجر الزاوية في الميزات ذات المستوى الأعلى مثل الحفاظ على الأمان في المدفوعات متعددة التوقيع والعقود الذكية.

وأيضًا، بعد التوحيد القياسي، وجد هذا التوقيع سمات إيجابية أخرى. على سبيل المثال، فإن طوله الثابت والقصير (64 بايت) مقارنة بتوقيعات ECDSA (بين 70 و 72 بايت)، يقلل من هدر مساحة الكتلة ويزيد من معدل المعاملات (تشير بعض الدراسات إلى أنه من خلال استبدال توقيع شنور، يتحسن هذا المقياس بمقدار 2). %).

إحدى الميزات غير السارة لتوقيع ECDSA هي أنه لا يمكنه التحقق من مجموعة من التوقيعات بشكل أسرع من توقيع واحد، بينما يمكن التحقق من الجمع بين توقيعات Schnorr بشكل أسرع وأكثر كفاءة. كما أن المفاتيح العامة المصنوعة من أشنور تشغل مساحة 32 بايت بدلاً من 33 بايت مشترك.

نظرًا لأن ترقية الجذر الرئيسي (بما في ذلك مخطط إضافة توقيع Schnorr) عبارة عن شوكة ناعمة، فلا يزال من الممكن استخدام توقيعات ECDSA على شبكة Bitcoin.

إحدى أهم خصائص توقيع شنور هي حماية الخصوصية في عمليات الدفع متعددة التوقيع (توقيعات العتبة). في وقت سابق من مخططات التوقيع n-of-m، بالإضافة إلى الشكل المختلف لبصمة هذه المعاملات على الشبكة، كان بإمكانك معرفة الطرف الذي قام بالتوقيع على المعاملة.

مع توقيع شنور، ستكون كل هذه التوقيعات في شكل توقيع واحد، وبالإضافة إلى تقليل الحجم المشغول في الكتلة (وتقليل تكلفة المعاملة بشكل كبير)، يتم الحفاظ على خصوصية الموقعين أيضًا.

أيضًا، وبنفس المنطق، فإن المعاملات التي تفتح وتغلق قنوات الدفع Lightning سيكون لها نفس تنسيق المعاملات العادية.

يعد التوقيع الرقمي ونظام التشفير المقابل حجر الزاوية في أمان أصول المستخدمين في شبكات blockchain.

من الواضح أن تحسين التقنيات المستخدمة إلى تقنيات أكثر كفاءة وأمانًا يمكن أن يضمن أمان رأس مال المستخدمين وتجربة مستخدم أكثر متعة لهم. اتخذت شبكة Bitcoin أيضًا خطوة كبيرة نحو هذا الهدف من خلال إضافة توقيع Schnorr إلى بروتوكولها العام الماضي.

في المقال الذي قرأته، تعرفنا على توقيع شنور وتاريخه، وأوضحنا كيفية التحقق من صحته بمثال، وذكرنا بعض أهم ميزاته.

ما مدى اهتمامك بالأمن والتشفير؟ يرجى مشاركة وجهات نظركم معنا.

LEAVE A REPLY

Please enter your comment!
Please enter your name here