مقدمة
"إنشاء عدد عشوائي أمر مهم للغاية بحيث لا يمكن تركه للصدفة"
روبرت كافيو ، 1970
تم تخصيص هذه المقالة للتطبيق العملي للحلول باستخدام الجيل الجماعي من الأرقام العشوائية في بيئة غير موثوق بها. باختصار - كيف ولماذا يتم استخدام العشوائي في المجموعات الرئيسية ، والقليل حول كيفية التمييز العشوائي "الجيد" مع "السيئ". يُعد إنشاء رقم عشوائي حقيقي مشكلة بالغة الصعوبة ، حتى على جهاز كمبيوتر منفصل ، ودُرس منذ وقت طويل من قِبل مُشفّري البرامج. حسنًا ، في الشبكات اللامركزية ، يعد توليد الأرقام العشوائية أكثر تعقيدًا وأهمية.
في الشبكات التي لا يثق فيها المشاركون ببعضهم البعض ، فإن القدرة على إنشاء رقم عشوائي لا يمكن إنكاره يمكن أن تحل بشكل فعال العديد من المشكلات المهمة وتحسن بشكل كبير المخططات الحالية. علاوة على ذلك ، فإن المقامرة واليانصيب هنا ليست الهدف الأول على الإطلاق ، حيث قد يبدو القارئ عديم الخبرة في البداية.
توليد عدد عشوائي
لا تعرف أجهزة الكمبيوتر كيفية إنتاج أرقام عشوائية بأنفسهم ، لذلك يحتاجون إلى مساعدة خارجية. يمكن للكمبيوتر الحصول على بعض القيمة العشوائية باستخدام ، على سبيل المثال ، حركات الماوس ، وكمية الذاكرة المستخدمة ، والتيارات الزائفة على جهات اتصال المعالج والعديد من المصادر الأخرى التي تسمى مصادر الانتروبيا. هذه القيم نفسها ليست عشوائية تمامًا ، لأنها في نطاق معين أو لها طبيعة يمكن التنبؤ بها من التغييرات. لتحويل هذه الأرقام إلى رقم عشوائي حقيقي في نطاق معين ، يتم تطبيق تحويلات تشفير عليها من أجل الحصول على قيم عشوائية عشوائية موزعة من القيم الموزعة بشكل غير متساوٍ لمصدر الانتروبيا. وتسمى القيم التي تم الحصول عليها شبه عشوائية ، لأنها ليست عشوائية حقا ، ولكنها مستمدة بشكل قاطع من الانتروبيا. أي خوارزمية تشفير جيدة ، تشفير البيانات ، تنتج نصوصًا مشفرة لا يمكن تمييزها إحصائيًا من تسلسل عشوائي ، لذلك لإنتاج العشوائية ، يمكنك أخذ مصدر إنتروبي يوفر فقط إمكانية تكرار جيدة وقابلية للتنبؤ بالقيم حتى في النطاقات الصغيرة ، وبقية عمل الانتثار والخلط في البتات سيتم الحصول على القيمة الناتجة بواسطة خوارزمية التشفير.
لإكمال البرنامج التعليمي القصير ، سأضيف أن إنشاء أرقام عشوائية حتى على جهاز واحد هو أحد أركان ضمان أمن بياناتنا ، وتستخدم الأرقام العشوائية المزيفة لإنشاء اتصالات آمنة في مختلف الشبكات ، لإنشاء مفاتيح التشفير ، لتحقيق التوازن في الحمل ، للسيطرة على النزاهة ، والعديد من الاستخدامات. يعتمد أمان العديد من البروتوكولات على القدرة على إنشاء بيانات عشوائية موثوقة ولا يمكن التنبؤ بها من الخارج ، وحفظها ، وعدم فتحها حتى الخطوة التالية من البروتوكول ، وإلا سيتم اختراق الأمان. يعد الهجوم على منشئ قيمة شبه عشوائي أمرًا بالغ الخطورة ويهدد جميع البرامج التي تستخدم التوليد العشوائي في آن واحد.
يجب أن تعرف كل هذا إذا كنت قد درست دورة تشفير أساسية ، لذلك دعونا نستمر في الشبكات اللامركزية.
Blockchain عشوائي
بادئ ذي بدء ، سأتحدث عن العقبات التي تدعم العقود الذكية ، فهم الذين يمكنهم الاستفادة الكاملة من الفرص التي توفرها جودة عشوائية لا يمكن إنكارها. علاوة على ذلك ، لإيجاز ، سأتصل بهذه التقنية " منارات عشوائية قابلة للتحقق منها علنًا " أو PVRB. نظرًا لأن سلاسل الحظر عبارة عن شبكات يمكن لأي مشارك التحقق من المعلومات فيها ، فإن الجزء الرئيسي من الاسم هو "التحقق علنًا" ، أي يمكن لأي شخص بمساعدة العمليات الحسابية الحصول على دليل على أن الرقم الناتج ، والموضع على blockchain ، لديه الخصائص التالية:
- يجب أن يكون للنتيجة توزيع موحد ، على أساس التشفير القوي.
- لا يمكن التحكم في أي من أجزاء النتيجة. نتيجة لذلك ، لا يمكن التنبؤ بالنتيجة مسبقًا.
- لا يمكنك تخريب بروتوكول التوليد من خلال عدم المشاركة في البروتوكول أو التحميل الزائد للشبكة مع رسائل الهجوم
- يجب أن يكون كل ما سبق مقاومًا لتواطؤ العدد المسموح به من المشاركين غير الشرفين في البروتوكول (على سبيل المثال ، ثلث المشاركين).
أي فرصة لمجموعة صغيرة من المشاركين التآمر لإنتاج حتى عشوائي / فردي تسيطر عليها هو ثقب الأمن. أي فرصة للمجموعة لوقف إصدار منزل عشوائي هو ثقب الأمن. بشكل عام ، هناك العديد من المشاكل ، وهذه المهمة ليست سهلة ...
يبدو أن أهم تطبيق لـ PVRB هو الألعاب المختلفة واليانصيب ، وأي نوع من المقامرة بشكل عام على لعبة blockchain. في الواقع ، هذا اتجاه مهم ، لكن المنزل العشوائي في البلوك له تطبيقات وأكثر أهمية. النظر فيها.
خوارزميات التوافق
PVRB أمر حاسم لإجماع الشبكات. تتم حماية المعاملات في المجموعات الرئيسية بواسطة توقيع إلكتروني ، وبالتالي ، فإن "الهجوم على معاملة" هو دائمًا تضمين / استبعاد معاملة في كتلة (أو في عدة كتل). وتتمثل المهمة الرئيسية لخوارزمية الإجماع في الاتفاق على ترتيب هذه المعاملات وعلى ترتيب الكتل التي تتضمن هذه المعاملات. وأيضًا ، من الخصائص الضرورية للقيود الحقيقية هي النهاية - قدرة الشبكة على الاتفاق على أن السلسلة إلى الكتلة النهائية نهائية ، ولن يتم استبعادها نظرًا لظهور شوكة جديدة. عادة ، من أجل الموافقة على أن كتلة صالحة والأهم من ذلك ، تحتاج إلى جمع التواقيع من معظم منتجي القطع (يشار إليها فيما يلي بـ BP - منتجي البلوكات) ، مما يتطلب على الأقل توصيل سلسلة من الكتل لجميع BPs وتوزيع التواقيع بين جميع BPs . مع نمو عدد BPs ، يزداد عدد الرسائل المطلوبة على الشبكة بشكل كبير ؛ وبالتالي ، لا تعمل خوارزميات الإجماع التي تتطلب النهاية ، مثل تلك المستخدمة في توافق pBFT الخاص بـ Hyperledger ، بالسرعة المناسبة ، بدءًا من عشرات BPs ، التي تتطلب عددًا كبيرًا من الاتصالات.
إذا كانت الشبكة لديها PVRB لا يمكن إنكارها وصادقة ، إذن ، حتى في أبسط تقدير ، يمكنك اختيار أحد منتجي القطع على أساسها وتعيينها "رائدة" لجولة واحدة من البروتوكول. إذا كان لدينا منتجون N
Block ، منهم M: M > 1/2 N
صادقون ، فلا تقم بمراقبة المعاملات ولا تبني سلاسل شوكة من أجل القيام بهجوم "الإنفاق المزدوج" ، فإن استخدام PVRB الموزع بلا منازع سيسمح لك باختيار قائد أمين مع احتمال M / N (M / N > 1/2)
. إذا تم تعيين فاصل زمني خاص لكل قائد يمكنه من خلاله إنتاج كتلة والتحقق من صحة السلسلة ، وكانت هذه الفواصل متساوية في الوقت المناسب ، فستكون سلسلة كتل BP الموثوقة أطول من السلسلة المكونة من قبل BP الخبيث ، وخوارزمية الإجماع التي تعتمد على طول السلسلة ، ببساطة تجاهل "سيئة". تم تطبيق مبدأ تخصيص شرائح زمنية متساوية لكل BP لأول مرة في Graphene (سلف EOS) ، ويسمح بإغلاق معظم الكتل بتوقيع واحد ، مما يقلل بشكل كبير من حمل الشبكة ويسمح لهذا الإجماع بالعمل بسرعة فائقة وثبات. ومع ذلك ، يتعين على شبكات EOS الآن استخدام الكتل الخاصة (Last Irreversible Block) ، والتي تم تأكيدها بواسطة توقيعات BP بمقدار 2/3. يتم استخدام هذه الكتل لضمان النهاية (استحالة سلسلة شوكة تبدأ قبل آخر كتلة لا رجعة فيها).
أيضًا ، في عمليات التنفيذ الحقيقية ، يكون مخطط البروتوكول أكثر تعقيدًا - يتم إجراء التصويت على الكتل المقترحة على عدة مراحل من أجل الحفاظ على الشبكة في حالة وجود مشاكل في الكتل والشبكات المفقودة ، ولكن حتى مع وضع ذلك في الاعتبار ، تتطلب خوارزميات توافق PVRB عددًا أقل بكثير من الرسائل بين BPs ، الذي يسمح لك لجعلها أسرع من PBFT التقليدية ، أو التعديلات المختلفة.
أبرز ممثل لهذه الخوارزميات: Ouroboros من فريق Cardano ، والذي ، كما أعلن ، أثبت مقاومة رياضية للتواطؤ بين BP.
في Ouroboros ، يتم استخدام PVRB لتحديد ما يسمى بـ "جدول BP" - وهو جدول يتم بموجبه تعيين كل فترة زمنية بفترة زمنية خاصة لنشر كتلة. الميزة الكبيرة لاستخدام PVRB هي "الحقوق المتساوية" الكاملة لشركة BP (وفقًا لحجم أرصدةها). يضمن Honesty PVRB عدم قدرة BPs الخبيثة على التحكم في جدول الفواصل الزمنية ، وبالتالي لا يمكنها معالجة السلسلة من خلال إعداد وتحليل شوكات السلسلة مسبقًا ، ولتحديد الشوكة ، يمكنك ببساطة الاعتماد على طول السلسلة دون استخدام طرق صعبة لحساب "فائدة" BP و "الأوزان" من كتلها.
بشكل عام ، في جميع الحالات التي تحتاج فيها إلى اختيار مشارك عشوائي في شبكة لا مركزية ، يكون PVRB دائمًا هو الخيار الأفضل تقريبًا ، وليس خيارًا حتميًا يستند ، على سبيل المثال ، إلى تجزئة كتلة. بدون PVRB ، تؤدي القدرة على التأثير في اختيار المشارك إلى ظهور هجمات يمكن للمهاجم خلالها ، من بين عدة خيارات للمستقبل ، اختيار المشارك التالف التالي أو عدة مشاركين مرة واحدة ، من أجل توفير حصة أكثر أهمية في القرار. باستخدام PVRB يشوه هذه الأنواع من الهجمات.
التحجيم وموازنة الحمل
يمكن أن يكون PVRB ذا فائدة كبيرة في مهام تقليل عبء العمل والمدفوعات على نطاق واسع. بالنسبة للمبتدئين ، من المنطقي قراءة مقال Rivest بعنوان "تذاكر اليانصيب الإلكترونية مثل Micropayments". الجوهر العام هو أنه بدلاً من إجراء 100 عملية دفع بقيمة 1c من الدافع إلى المستلم ، يمكنك لعب يانصيب صريح من خلال جائزة تبلغ 1 دولار = 100c ، حيث يقوم الدافع بنقل واحدة من "تذاكر اليانصيب" البالغ عددها 100 إلى البنك عن كل دفعة في 1c. فازت إحدى هذه التذاكر بالبنك بقيمة $ 1 ، وهذه هي البطاقة التي يمكن للمستلم إصلاحها على blockchain. الأهم من ذلك ، يتم نقل 99 تذكرة المتبقية بين المستلم والدافع دون أي مشاركة خارجية ، من خلال قناة خاصة وبأي سرعة مطلوبة. يمكن العثور هنا على وصف جيد للبروتوكول استنادًا إلى هذا المخطط في شبكة Emercoin.
يحتوي هذا المخطط على العديد من المشكلات ، على سبيل المثال ، قد يتوقف المستلم عن خدمة الدافع فور تلقي تذكرة رابحة ، لكن بالنسبة للعديد من التطبيقات الخاصة ، مثل الفواتير في الدقيقة أو الاشتراكات الإلكترونية في الخدمات ، يمكن إهمالها. الشرط الرئيسي ، بطبيعة الحال ، هو صدق اليانصيب ، و PVRB ضروري للغاية لعقده.
يعد اختيار مشارك عشوائي أمرًا مهمًا أيضًا لبروتوكولات المشاركة ، والغرض منه هو توسيع سلسلة الكتل بشكل أفقي ، مما يسمح لـ BPs المختلفة بمعالجة نطاق معاملاتها فقط. هذه مهمة صعبة للغاية ، خاصة عندما يتعلق الأمر بالأمان عند دمج القطع. الاختيار الصادق لشركة BP عشوائية من أجل إسنادها إلى المسؤولين عن قشرة معينة ، كما هو الحال في خوارزميات الإجماع ، هو أيضًا مهمة PVRB. في النظم المركزية ، يتم تعيين القطع من قبل الموازن ، وهو ببساطة يحسب التجزئة من الطلب ويرسله إلى المنفذ اللازم. في القيود ، يمكن أن تؤدي القدرة على التأثير في هذه المهمة إلى هجوم على الإجماع. على سبيل المثال ، يمكن التحكم في محتويات المعاملات من قبل المهاجم ، ويمكنه التحكم في المعاملات التي تقع في الحد الذي يسيطر عليه ويتعامل مع سلسلة الكتل الموجودة فيه. يمكن العثور هنا على مناقشة مشكلة استخدام الأرقام العشوائية لمشكلات المشاركة في Ethereum .
تعد Sharding واحدة من أكثر المهام طموحًا وجدية في مجال blockchain ، وسيسمح لك حلها ببناء شبكات لا مركزية تتميز بأداء رائع وحجم رائع. PVRB هي مجرد واحدة من الكتل الهامة لحلها.
الألعاب والبروتوكولات الاقتصادية والتحكيم
من الصعب المبالغة في تقدير دور الأرقام العشوائية في صناعة الألعاب. الاستخدام الصريح في الكازينوهات عبر الإنترنت ، والضمني في حساب تأثيرات عمل اللاعب ، كلها مشاكل بالغة الصعوبة للشبكات اللامركزية ، حيث لا توجد وسيلة للاعتماد على مصدر مركزي للعشوائية. ولكن ، يمكن للاختيار العشوائي أن يحل العديد من المشكلات الاقتصادية ويساعد في بناء بروتوكولات أكثر بساطة وكفاءة. لنفترض في بروتوكولنا أن هناك نزاعات حول دفع بعض الخدمات الرخيصة ، وأن هذه النزاعات نادرة جدًا. في هذه الحالة ، إذا كان هناك PVRB لا يمكن إنكاره ، يمكن للعملاء والبائعين الاتفاق على حل عشوائي للنزاعات ، ولكن مع احتمال معين. على سبيل المثال ، مع احتمال بنسبة 60 ٪ ، يفوز العميل ، وباحتمال بنسبة 40 ٪ ، يفوز البائع. هذا النهج السخيف ، من وجهة النظر الأولى ، يسمح للمرء بحل النزاعات تلقائيًا بحصة يمكن التنبؤ بها بدقة من المكاسب / الخسائر ، والتي تناسب كلا الطرفين دون أي مشاركة من طرف ثالث وإضاعة الوقت غير الضرورية. علاوة على ذلك ، يمكن أن تكون نسبة الاحتمالات ديناميكية وتعتمد على بعض المتغيرات العالمية. على سبيل المثال ، إذا كان أداء الشركة جيدًا ، فهناك عدد قليل من النزاعات وربحية عالية ، يمكن للشركة أن تحول تلقائيًا احتمال حل النزاع نحو اتجاه العميل ، على سبيل المثال ، 70/30 أو 80/20 ، والعكس بالعكس ، إذا كانت المنازعات تستهلك الكثير من المال و احتيالية أو غير كافية ، يمكنك تحويل الاحتمال في الاتجاه الآخر.
هناك عدد كبير من البروتوكولات اللامركزية المثيرة للاهتمام ، مثل السجلات الملتوية الرمزية ، وأسواق التنبؤ ، ومنحنيات الترابط ، والعديد من الألعاب الأخرى التي تعتبر ألعابًا اقتصادية تكافئ السلوك الجيد والأخرى السيئة. غالباً ما يواجهون مشاكل أمنية ، الحماية التي تتناقض ضد بعضهم البعض. ما هو محمي من هجوم "الحيتان" بمليارات الرموز ("الحصة الكبيرة") يكون عرضة للهجمات التي يشنها الآلاف من الحسابات ذات الأرصدة الصغيرة ("حصة sybil") ، والتدابير المتخذة ضد هجوم واحد ، على سبيل المثال ، اللجان غير الخطية التي تم إنشاؤها من أجل لجعل عمل شريحة لحم كبيرة غير مؤات ، وعادة ما تكون مصداقيتها من قبل هجوم آخر. نظرًا لأن هذه لعبة اقتصادية ، يمكن حساب الأوزان الإحصائية المقابلة مسبقًا ، واستبدال العمولات بأخرى عشوائية بالتوزيع المناسب. يتم تطبيق مثل هذه اللجان الاحتمالية ببساطة شديدة إذا كان للكتلة المفاتيح مصدر موثوق للعشوائية ولا يتطلب أي حسابات معقدة ، مما يجعل الحياة صعبة للحيتان وسيبل.
من الضروري أن تستمر في تذكر أن التحكم في بت واحد في هذه العشوائية يسمح لك بخداع وتقليل ومضاعفة الاحتمالات ، لذلك فإن PVRB الصادق هو أهم عنصر في هذه البروتوكولات.
أين تجد عشوائي عشوائي؟
من الناحية النظرية ، توفر الخيارات العشوائية الصادقة في الشبكات اللامركزية أمانًا ثابتًا لأي بروتوكول تقريبًا ضد التواطؤ. الأساس المنطقي بسيط للغاية - إذا وافقت الشبكة على جزء واحد 0 أو 1 ، وكان المشاركون أقل من النصف غير شريفة ، وبعد ذلك ، مع وجود عدد كاف من التكرارات ، فإن الشبكة مضمونة للتوصل إلى توافق في الآراء بشأن هذا الشيء مع وجود احتمال ثابت. لمجرد أن اختيار عشوائي نزيه سيختار 51 من أصل 100 مشارك في 51 ٪ من الحالات. ولكن هذا من الناحية النظرية ، لأنه في الشبكات الحقيقية ، لضمان مستوى الأمان هذا كما هو الحال في المقالات ، يتطلب الأمر الكثير من الرسائل بين المضيفين ، والتشفير المعقّد متعدد الممرات ، وأي تعقيدات في البروتوكول تضيف متجهات هجوم جديدة على الفور.
هذا هو السبب في أننا لا نرى حتى الآن في السلاسل المحظورة PVRB مجربة والتي كان من الممكن أن تستخدم وقتًا كافيًا لاختبارها من خلال تطبيقات حقيقية ، وعمليات تدقيق متعددة ، وتحميلات ، وبالطبع ، هجمات حقيقية ، والتي بدونها يصعب استدعاء المنتج آمنًا حقًا.
ومع ذلك ، هناك العديد من الأساليب الواعدة في آن واحد ، فهي تختلف في العديد من التفاصيل ، وبعضها سوف يحل المشكلة بالتأكيد. بفضل الموارد الحسابية الحديثة ، تستطيع نظرية التشفير أن تتحول بمهارة إلى تطبيقات عملية. في المستقبل ، سنكون سعداء للحديث عن تنفيذ PVRB: هناك العديد منها الآن ، لكل منها مجموعة خاصة به من الخصائص والميزات المهمة في التنفيذ ، ولكل منها فكرة جيدة. لا يوجد العديد من الفرق المشاركة بشكل عشوائي ، وتجربة كل منهم مهمة للغاية للجميع. نأمل أن تسمح معلوماتنا للفرق الأخرى بالتحرك بشكل أسرع ، مع مراعاة تجربة سابقاتها.