Bitcoin Forum
November 04, 2024, 08:12:50 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: سلسلة تعلم : توقيعات Schnorr - الجزء الاول  (Read 210 times)
hugeblack (OP)
Legendary
*
Offline Offline

Activity: 2688
Merit: 3956



View Profile WWW
April 29, 2020, 02:34:21 AM
Last edit: May 03, 2020, 09:41:29 AM by hugeblack
Merited by SyGambler (5), OmegaStarScream (3), mikeywith (3), khaled0111 (1), Salamstar (1)
 #1

السلام عليكم ورحمة الله وبركاته


توقيعات 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-b2f45a1f7287
https://bitcointalk.org/index.php?topic=5244383.msg54351215#msg54351215
https://bitcointalk.org/index.php?action=profile;u=2033515




حاشية الجزء الاول:

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

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Ulven
Legendary
*
Offline Offline

Activity: 1610
Merit: 1131



View Profile
May 01, 2020, 02:31:20 AM
Merited by hugeblack (1)
 #2

ممتاز أخي هوك على طرح تعريف توقيع شنور، رغم ذالك لا استوعب الفكرة بعد و لدي فضول كبير لمعرفة المزيد على خاصية توقيع شنور هل تعتبر مخالفة لتوقيع المتعدد؟ و كما ذكرت في الموضوع أن توقيع شنور لا يتطلب معرفة جميع المفاتيح العامة لإجراء المعاملة، عكس التوقيع المتعدد بحيث يحتاج إلى معرفة المفاتيح العامة. و أودّ معرفة الفرق بين التوقعين من حيث الخصوصية و الأمان. في الحقيقة المواضيع التقنية تحتاج إلى تفاعل و تفسيرها بالشكل المطلوب
mikeywith
Legendary
*
Offline Offline

Activity: 2408
Merit: 6595


be constructive or S.T.F.U


View Profile
May 03, 2020, 07:51:39 AM
Last edit: May 04, 2020, 12:59:31 AM by mikeywith
Merited by hugeblack (2)
 #3

اولا شكرا على المجهود الجبار, الا انه يوجد شي اساسي مفقود  في الموضوع الذي قمت حضرتك بالاستعانة به, اعتقد ان القاري الذي لم يقرا عن توقيع شنور في السابق سيعتقد ان ميزة هده التواقيع هي فقط منحصرة في عناوين ال Multisig او على الاقل هدا مايظهر سواء في الشرح او الصور بينما الواقع هوا ان الهدف الاساسي والميزة الاكبر هي جمع التوقيعات عند محاولة الارسال من اكثر من عنوان لعنوان واحد.

مثلا: نحن نعلم ان محفظة البتكوين تعطينا عنواين عديدة صح؟ قد نستعمل كل عنوان لغرض معين, ينتهي بك المطاف الى امثلاك مثلا ماقيمته 100$ بتكوين موزعة في 5 عنواين (استقبلتها على 5 عنواين في نفس المحفظة) ولكن كلها تظهر لك في المحفظة نفسها, الان تريد شراء شي ما وتريد تحويل المبلغ كامل مثلا,يعني انك ستقوم بالتحويل من 5 عنواين , تذكر ان البلوك تشين لا يعرف ان صاحب المحفظة شخص واحد فهو يعامل كل عنوان على ان له مالك خاص وتوقيع خاص, مما يعني انك عندما ترسل ستقوم المحفظة بتوقيع 5 عنواين مختلفة والارسال 5 مرات, مما يترتب تكاليف عالية, باستخدام شنور ستتمكن من "دمج" تلك التواقيع وتخفيض الحمل على الشبكة والتكلفة في الارسال.

اتمنى ان اكون اوضحت النقطة بشكل كافي, ان كان هناك اي اشكالية تفضل بالسؤال, شكرا مجددا على مجهوداتك اخي هيوج.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
hugeblack (OP)
Legendary
*
Offline Offline

Activity: 2688
Merit: 3956



View Profile WWW
May 03, 2020, 09:40:32 AM
 #4

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


لقد قمت باضافةجزئية جديدة وهي واجب منزلي لاثراء النقاش حول هذا الامر واتمني من الجميع "بلا استثناء" المشاركه به لانه سيضيف نوعا من الحماس والمزيد من المعلومات للكل كما ان هناك جوائز رمزية سيتم دفعها بواسطة شبكة البرق لكل الاجابات الصحيحة وكل من يقدم نقاش هادف وبناء
هذه هي الاسئلة الرئيسية واتقبل اضافة اي اسئلة جديدة


- بالقليل من الكلمات والمفاهيم العامه قم بشرح الفروقات الاساسية بين مخطط توقيعات ECDSA و schnorr ومن ثم اعقد مقارنة بينهم
- اذكر بعض المميزات الجوهرية والتي جعلت توقيعات Schnorr جاذبة وممكه في الوقت الراهن والتي لم تكن موجودة في الماضي
- تحدث عن العقود الذكية في البيتكوين
- استنادا لقراءتك لهذا الموضوع والموضوع اللاحق عن سلسلة تعلم : CoinJoin كيف يمكننا الربط بين المفهومين لتعزيز الخصوصية وتقليل الرسوم

ايضا باجابات علي الاسئلة ستتعلم وتسفيد غيرك كما ستكسب نقاط الجدارة والاموال لذلك فهي افضل فرصة لك من كل النواحي فاغتنمها

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
mikeywith
Legendary
*
Offline Offline

Activity: 2408
Merit: 6595


be constructive or S.T.F.U


View Profile
May 04, 2020, 01:21:56 AM
Merited by hugeblack (2)
 #5

شكرا لك عليي توضيحك للنقطة ولقد قمت بادراج تعليقك بالكامل ظرا لاهميته دون اقتباس مع ذكر المصدر بالاسفل حتي لا يفسد طريقة عرض المنشور فتقبل ذلك مني اذا كان يزعجك كما اتمني ان تضيف المزيد من النقاط والملاحظات فالمجهود التكاملي افضل من العمل الفردي.

لا مانع اخي, يمكنك حتى ازالة كلمة المصدر ولك كامل الصلاحيات في نسخ الكلام, يوجد بضع النقاط الاخرى المتعلقة بموضوع توقيعات شنور الا انه ومن وجهة نظري الافضل ان يبقى الموضوع "خفيف" لان اضافة اشياء اخرى قد تقوم بتعقيده, بقرائتي للموضوع مرة اخرى اعتقد انه الان اصبح متكامل وكافي لاعطاء فكرة جيدة على شنور, لقد اكتشفت اني ارتكبت خطئين في الاملاء وقمت بتعديلهم في منشوري السابق, ارجو ان تقوم بنسخه مجددا.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!