السلام عليكم ورحمة الله وبركاته
توقيعات schnorr
الجزء الاول:
ز
ز
ز
ز
زمقدمة تاريخية:اخترع كلاوس بيتر شنور (
Claus Schnorr) مخطط توقيع رقمي والذي يتم انتاجة بواسطة خوارزمية توقيع وصفها هذا العالم, في الحقيقية لم يكن الغرض من المخطط التشفير ولكن عرف ببساطتة وانتاجة لتوقيعات رقمية مختصرة كما انه يحل بعض مشاكل اللوغريثم المنفصلة
العلاقة مع البيتكوين:عندما بدأ ساتوشي في العمل علي مشروع البيتكوين كان أحد خيارات التصميم الرئيسية التي يجب أخذها في الاعتبار هو مخطط التوقيع, لذلك كان علية الاختيار بين خوارزمية كانت تستخدم على نطاق واسع ومفهومة بشكل جيد وآمنة بما فيه الكفاية وخفيفة الوزن بالاضافة الي كونها مفتوحة المصدر, وكانت اكثر الخيارات ملائمة لتلك المعايير هي
ECDSA (Elliptic Curve Digital Signature Algorithm) لانشاء توقيعات التشفير وانتاج الازواج.
وبمرور الوقت والعمل الشاق في تحسين تلك الخوازرمية انتج لنا ما يعرف secp256k1 ولكن لا تزال هناك أوجه قصور متأصلة في ECDSA تبرر استبدالها طوال الوقت. بعد بضع سنوات من البحث والتجريب ، تم تعيين مخطط توقيع جديد لزيادة خصوصية وكفاءة معاملات البيتكوين وهو: مخطط التوقيع الرقمي Schnorr
في أوائل عام 2018 ، نشر جريجوري ماكسويل وأندرو بوليسترا ويانيك سورين وبيتر وويل ورقة بيضاء حول مخطط توقيع متعدد جديد قائم على Schnorr يسمى MuSig
سبب الاستعمال ولماذا لم يكن من الممكن استعمالها في الماضي:المشكلة كانت في الماضي انه لم يكن من الممكن استخدام schnorr في بروتوكول البيتكوين وبالتالي فان تغييره يحتاج لما يعرف بالهارد فورك او الشوكة الصلبة.
لكن مع SegWit (Segregated Witness) ، يتم نقل بيانات التوقيع الرقمي بالكامل إلى جزء منفصل من المعاملة وبالتالي يمكن تغيير المخطط بالكامل باستخدام الشوكة الناعمة او ما يعرف ب السوفت فورك دون الحاجة لاستخدام الهارد فورك وبالتالي يقدم مستوى صحيحًا من الدقة ، وهو سريع نسبيًا من حيث التحقق ، والأهم من ذلك ، يدعم schnorr التوقيع المتعدد اي دعم عدة توقيعات مع بعضها البعض وبكلمات آخري رسوم اقل بكثير
منذ العام 2014 بدأت محادثات غير رسمية لادراج هذا التعديل ضمن مخططات البيتكوين ولكن لم يتم الامر رسميا الا منذ عدة اشهر حيث تم وصف Schnorr BIP (BIP: 340)
Schnorr والتوقعيات المتعددة:اذن باختصار الامر عبارة عن تجميع للمفاتيح او ما يعرف بالتوقعيات المتعددة ولكننا اساسا نمتلك توقيعات متعددة علي البيتكوين.
نعم الامر صحيح ولكن كان ذلك يتم عن طريق عقود ذكية Pay-to-ScriptHash (P2SH) وبالتالي اماكنية وضع المزيد من الشروط للتوقيع مثل فتح الررصيد فقط اذا وقع كل من فلان وعلان علي العقد
ولكن لها عدة عيوب حيث انها تتطلب أنها تتطلب معرفة المفاتيح العامة لجميع الموقعين المشاركين بالاضافة الي ضرورة وجود كل تواقيعهم وبالتالي زيادة مساحة علي البلوكشين وبالتالي رسوم اكثر كما انها تنتهك الكثير من الخصوصية وتتطلب نمطا معينا من العناوين وهي تلك العناوين التي تبدأ بالرقم 3
المميزات:الهدف الاساسي والميزة الاكبر هي جمع التوقيعات عند محاولة الارسال من اكثر من عنوان لعنوان واحد.
مثلا: نحن نعلم ان مخفظة البتكوين تعطينا عنواين عديدة صح؟ قد نستعمل كل عنوان لغرض معين, ينتهي بك المطاف الى امثلا مثلا ماقيمته 100$ بتكوين موزعة في 5 عنواين (استقبلتها على 5 عنواين في نفس المحفظة) ولكن كلها تظهر لك في المحفظة, الان تريد شراء شي ما وتريد تحويل المبلغ كامل مثلا,يعني انك ستقوم بالتحويل من 5 عنواين , تذكر ان البلوك تشين لا يعرف ان صاحب المحفظة شخص واحد فهو يعامل كل عنوان على ان له مالك خاص وتوقيع خاص, مما يعني انك عندما ترسل ستقوم المحفظة بتوقيع 5 عنواين مختلفة والارسال 5 مرات, مما يترتب تكاليف عالية, باستخدام شنور ستتمكن من "دمج" تلك التواقيع وتخفيض الحمل على الشبكة والتكلفة في الارسال.
المصدر: انقر هنا بالاضافة للهدف الرئيسي يمكن ان تكون التوقيعات مفيدة في الكثير من المميزات كالاتي:
(1) تحسين خصوصية multisigs: لن تحتاج لمعرفة باقي المفاتيح العامة
(2) زيادة كفاءة التحقق من المعاملات : حيث ستكون الهدف النهائي هو انشاء مخطط للتوقيعات تجميعي وتفاعلي (IAS) وبالتالي يتم إنفاق جميع المدخلات في المعاملة في وقت واحد مع توقيع واحد
(3) تحسين الأمان من خلال القضاء على المشاكل المتأصلة في ECDSA :
(4) تمكين حلول العقود الذكية مثل Taproot: لجعل الانتقال من التجميع الرئيسي للتفاعلي اسهل بكثير مستقبلا
(5) تضمينها مع CoinJoin: وكما نعرف فCoinJoin هي وسيلة لتضمين عده مخرجات في المعاملات وبالتالي تجعل من الصعب تحليل لمن تم ارسال العملات وتضمينها مع توقيعات Schnorr سيعزز الخصوصية بشكل كبير حيث سيكون لدينا تجميع لمرسلين مجهولين ومستخدمين مجهولين
واجب منزلي: - بالقليل من الكلمات والمفاهيم العامه قم بشرح الفروقات الاساسية بين مخطط توقيعات ECDSA و schnorr ومن ثم اعقد مقارنة بينهم
- اذكر بعض المميزات الجوهرية والتي جعلت توقيعات Schnorr جاذبة وممكه في الوقت الراهن والتي لم تكن موجودة في الماضي
- تحدث عن العقود الذكية في البيتكوين
- استنادا لقراءتك لهذا الموضوع والموضوع اللاحق عن
سلسلة تعلم : CoinJoin كيف يمكننا الربط بين المفهومين لتعزيز الخصوصية وتقليل الرسوم
الشكر والعرفان: https://medium.com/digitalassetresearch/schnorr-signatures-the-inevitability-of-privacy-in-bitcoin-b2f45a1f7287https://bitcointalksearch.org/topic/m.54351215https://bitcointalksearch.org/user/mikeywith-2033515حاشية الجزء الاول:لقد حاولت ان اجعل الجزء الاول اسهل من ناحية الكلمات والمصطلحات حتي يتمكن الجميع من فهم الامر علي ان يكون الجزء الثاني مخصصا للمطورين بشكل اساسي.