الأرقام العشوائية والشبكات اللامركزية: تطبيقات عملية

مقدمة

"إن توليد الأرقام العشوائية مهم جدًا بحيث لا يمكن تركه للصدفة."
روبرت كافو، 1970

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

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

توليد أرقام عشوائية

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

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

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

عشوائية في blockchains

في البداية، سأتحدث عن سلاسل الكتل التي تدعم العقود الذكية؛ فهي التي يمكنها الاستفادة الكاملة من الفرص التي توفرها العشوائية عالية الجودة التي لا يمكن إنكارها. علاوة على ذلك، وللإيجاز، سأسمي هذه التكنولوجيا "منارات عشوائية يمكن التحقق منها علنا" أو بفرب. نظرًا لأن blockchains عبارة عن شبكات يمكن لأي مشارك التحقق من المعلومات فيها، فإن الجزء الرئيسي من الاسم هو "يمكن التحقق منه بشكل عام"، أي أنه يمكن التحقق منه بشكل عام. يمكن لأي شخص استخدام الحسابات للحصول على دليل على أن الرقم الناتج المنشور على blockchain له الخصائص التالية:

  • يجب أن يكون للنتيجة توزيع موحد يمكن إثباته، أي أن تكون مبنية على تشفير قوي بشكل يمكن إثباته.
  • ليس من الممكن التحكم في أي جزء من النتيجة. ونتيجة لذلك، لا يمكن التنبؤ بالنتيجة مقدما.
  • لا يمكنك تخريب بروتوكول التوليد بعدم المشاركة في البروتوكول أو عن طريق تحميل الشبكة برسائل الهجوم بشكل زائد
  • يجب أن يكون كل ما سبق مقاومًا لتواطؤ العدد المسموح به من المشاركين في البروتوكول غير الشرفاء (على سبيل المثال، ثلث المشاركين).

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

يبدو أن التطبيق الأكثر أهمية لـ PVRB هو الألعاب المختلفة واليانصيب وبشكل عام أي نوع من المقامرة على blockchain. في الواقع، هذا اتجاه مهم، لكن العشوائية في البلوكشين لها تطبيقات أكثر أهمية. دعونا ننظر إليهم.

خوارزميات الإجماع

يلعب PVRB دورًا كبيرًا في تنظيم إجماع الشبكة. تتم حماية المعاملات في blockchain عن طريق التوقيع الإلكتروني، وبالتالي فإن "الهجوم على المعاملة" هو دائمًا إدراج/استبعاد معاملة في كتلة (أو عدة كتل). والمهمة الرئيسية لخوارزمية الإجماع هي الاتفاق على ترتيب هذه المعاملات وترتيب الكتل التي تتضمن هذه المعاملات. كما أن الخاصية الضرورية لسلاسل الكتل الحقيقية هي النهاية - قدرة الشبكة على الموافقة على أن السلسلة حتى الكتلة النهائية نهائية، ولن يتم استبعادها أبدًا بسبب ظهور شوكة جديدة. عادةً، من أجل الاتفاق على أن الكتلة صالحة، والأهم من ذلك أنها نهائية، من الضروري جمع التوقيعات من غالبية منتجي الكتل (المشار إليهم فيما يلي باسم BP - منتجي الكتل)، الأمر الذي يتطلب على الأقل تسليم سلسلة الكتل على كافة الشركاء المتعاقدين، وتوزيع التوقيعات بين جميع الشركاء المتعاقدين. مع زيادة عدد BPs، فإن عدد الرسائل الضرورية في الشبكة ينمو بشكل كبير، وبالتالي، فإن خوارزميات الإجماع التي تتطلب النهاية، المستخدمة على سبيل المثال في إجماع Hyperledger pBFT، لا تعمل بالسرعة المطلوبة، بدءًا من عدة عشرات من BPs، مما يتطلب عدد كبير من الاتصالات.

إذا كان هناك PVRB صادق لا يمكن إنكاره في الشبكة، فحتى في أبسط تقدير تقريبي، يمكن للمرء اختيار أحد منتجي الكتل بناءً عليه وتعيينه كـ "قائد" خلال جولة واحدة من البروتوكول. اذا كان لدينا N المنتجين كتلة، منها M: M > 1/2 N صادقون، ولا تفرض رقابة على المعاملات ولا تفرع السلسلة لتنفيذ هجوم "الإنفاق المزدوج"، فإن استخدام PVRB الموزع بشكل موحد دون منازع سيسمح باختيار قائد نزيه مع احتمالية M / N (M / N > 1/2). إذا تم تعيين فاصل زمني خاص لكل قائد يمكنه خلاله إنتاج كتلة والتحقق من صحة السلسلة، وكانت هذه الفترات متساوية في الوقت المناسب، فإن سلسلة الكتلة من BPs الصادقة ستكون أطول من السلسلة التي شكلتها BPs الخبيثة، والإجماع تعتمد الخوارزمية على طول السلسلة، وسوف تتخلص ببساطة من السلسلة "السيئة". تم تطبيق مبدأ تخصيص شرائح متساوية من الوقت لكل BP لأول مرة في Graphene (سلف EOS)، ويسمح بإغلاق معظم الكتل بتوقيع واحد، مما يقلل بشكل كبير من حمل الشبكة ويسمح لهذا الإجماع بالعمل بسرعة كبيرة بثبات. ومع ذلك، يتعين على شبكة EOS الآن استخدام كتل خاصة (Last Irreversible Block)، والتي تم تأكيدها من خلال توقيعات 2/3 BP. تعمل هذه الكتل على ضمان النهاية (استحالة بدء شوكة السلسلة قبل آخر كتلة لا رجعة فيها).

أيضًا، في التطبيقات الحقيقية، يكون مخطط البروتوكول أكثر تعقيدًا - يتم التصويت للكتل المقترحة على عدة مراحل للحفاظ على الشبكة في حالة فقدان الكتل ومشاكل الشبكة، ولكن حتى مع أخذ ذلك في الاعتبار، تتطلب خوارزميات الإجماع باستخدام PVRB رسائل أقل بكثير بين BPs، مما يجعل من الممكن جعلها أسرع من PVFT التقليدي، أو تعديلاته المختلفة.

أبرز ممثل لهذه الخوارزميات: Ouroboros من فريق كاردانو، والذي يقال إنه يمكن إثباته رياضيًا ضد تواطؤ شركة بريتيش بتروليوم.

في Ouroboros، يتم استخدام PVRB لتحديد ما يسمى بـ "جدول BP" - وهو جدول يتم بموجبه تخصيص فترة زمنية خاصة لكل BP لنشر الكتلة. الميزة الكبرى لاستخدام PVRB هي "المساواة" الكاملة بين شركات الأعمال (وفقًا لحجم ميزانياتها العمومية). تضمن سلامة PVRB أن BPs الضارة لا يمكنها التحكم في جدولة الفترات الزمنية، وبالتالي لا يمكنها التعامل مع السلسلة عن طريق إعداد وتحليل تفرعات السلسلة مسبقًا، ولتحديد تفرع يكفي الاعتماد ببساطة على طول التفرع سلسلة، دون استخدام طرق صعبة لحساب "فائدة" BP و"وزن" كتلها.

بشكل عام، في جميع الحالات التي يلزم فيها اختيار مشارك عشوائي في شبكة لا مركزية، يكون PVRB دائمًا هو الخيار الأفضل، وليس خيارًا حتميًا يعتمد، على سبيل المثال، على تجزئة الكتلة. بدون PVRB، تؤدي القدرة على التأثير على اختيار المشارك إلى هجمات يمكن للمهاجم فيها الاختيار من بين عدة مستقبلات لاختيار المشارك الفاسد التالي أو عدة في وقت واحد لضمان حصة أكبر في القرار. يؤدي استخدام PVRB إلى تشويه سمعة هذه الأنواع من الهجمات.

التحجيم وموازنة التحميل

يمكن أن يكون PVRB أيضًا ذا فائدة كبيرة في مهام مثل تقليل التحميل وتوسيع نطاق الدفع. لتبدأ، من المنطقي أن تتعرف على نفسك مقالة - سلعة Rivesta "تذاكر اليانصيب الإلكترونية كمدفوعات صغيرة". الفكرة العامة هي أنه بدلاً من إجراء دفعات بقيمة 100 سنت من الدافع إلى المتلقي، يمكنك لعب يانصيب صادق بجائزة قدرها 1 دولار = 1 سنت، حيث يمنح الدافع البنك واحدة من 100 "تذكرة يانصيب" خاصة به لكل منها. 1 ج الدفع. تفوز إحدى هذه التذاكر بجرة بقيمة دولار واحد، وهذه التذكرة هي التي يمكن للمستلم تسجيلها في blockchain. والأهم أن التذاكر الـ 100 المتبقية يتم تحويلها بين المتلقي والدافع دون أي مشاركة خارجية، عبر قناة خاصة وبأي سرعة مطلوبة. يمكن قراءة وصف جيد للبروتوكول المبني على هذا المخطط على شبكة Emercoin هنا.

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

يعد اختيار مشارك عشوائي أيضًا أمرًا في غاية الأهمية لبروتوكولات التقسيم، والغرض منها هو توسيع نطاق سلسلة الكتل أفقيًا، مما يسمح لشركات الأعمال المختلفة بمعالجة نطاق معاملاتها فقط. هذه مهمة صعبة للغاية، خاصة فيما يتعلق بالأمن عند دمج القطع. إن الاختيار العادل لـ BP العشوائي لغرض تعيين المسؤولين عن جزء معين، كما هو الحال في خوارزميات الإجماع، هو أيضًا مهمة PVRB. في الأنظمة المركزية، يتم تعيين الأجزاء بواسطة موازن، فهو ببساطة يحسب التجزئة من الطلب ويرسلها إلى المنفذ المطلوب. في سلاسل الكتل، يمكن أن تؤدي القدرة على التأثير على هذه المهمة إلى الهجوم على الإجماع. على سبيل المثال، يمكن للمهاجم التحكم في محتويات المعاملات، حيث يمكنه التحكم في المعاملات التي تذهب إلى الجزء الذي يتحكم فيه والتلاعب بسلسلة الكتل فيه. يمكنك قراءة مناقشة مشكلة استخدام الأرقام العشوائية لتقاسم المهام في الايثيريوم هنا
تعد عملية المشاركة واحدة من أكثر المشكلات طموحًا وخطورة في مجال blockchain؛ وسيسمح حلها ببناء شبكات لامركزية ذات أداء وحجم رائعين. تعد PVRB مجرد واحدة من العوائق المهمة لحلها.

الألعاب، البروتوكولات الاقتصادية، التحكيم

من الصعب المبالغة في تقدير دور الأرقام العشوائية في صناعة الألعاب. الاستخدام الصريح في الكازينوهات على الإنترنت، والاستخدام الضمني عند حساب تأثيرات تصرفات اللاعب، كلها مشاكل صعبة للغاية بالنسبة للشبكات اللامركزية، حيث لا توجد طريقة للاعتماد على مصدر مركزي للعشوائية. لكن الاختيار العشوائي يمكن أن يحل أيضًا العديد من المشكلات الاقتصادية ويساعد في بناء بروتوكولات أبسط وأكثر كفاءة. لنفترض أن هناك نزاعات في بروتوكولنا حول الدفع مقابل بعض الخدمات غير المكلفة، وهذه النزاعات نادرًا ما تحدث. في هذه الحالة، إذا كان هناك PVRB غير متنازع عليه، فيمكن للعملاء والبائعين الاتفاق على حل النزاعات بشكل عشوائي، ولكن مع احتمال معين. على سبيل المثال، مع احتمال 60% يفوز العميل، ومع احتمال 40% يفوز البائع. يتيح لك هذا النهج، الذي يعتبر سخيفًا من وجهة النظر الأولى، حل النزاعات تلقائيًا مع حصة يمكن التنبؤ بها بدقة من المكاسب/الخسائر، والتي تناسب كلا الطرفين دون أي مشاركة من طرف ثالث وإضاعة غير ضرورية للوقت. علاوة على ذلك، يمكن أن تكون نسبة الاحتمالية ديناميكية وتعتمد على بعض المتغيرات العالمية. على سبيل المثال، إذا كان أداء الشركة جيدًا، ولديها عدد منخفض من النزاعات وربحية عالية، فيمكن للشركة تلقائيًا تحويل احتمالية حل النزاع نحو التركيز على العميل، على سبيل المثال 70/30 أو 80/20، والعكس صحيح، إذا كانت النزاعات تتطلب الكثير من المال وكانت احتيالية أو غير كافية، فيمكنك تحويل الاحتمالية في الاتجاه الآخر.

هناك عدد كبير من البروتوكولات اللامركزية المثيرة للاهتمام، مثل السجلات المنسقة للعملات الرقمية، وأسواق التنبؤ، ومنحنيات الترابط وغيرها الكثير، وهي ألعاب اقتصادية تتم فيها مكافأة السلوك الجيد ومعاقبة السلوك السيئ. وهي تحتوي غالبًا على مشكلات أمنية تتعارض وسائل الحماية الخاصة بها مع بعضها البعض. ما هو محمي من هجوم "الحيتان" بمليارات العملات ("حصة كبيرة") يكون عرضة لهجمات آلاف الحسابات ذات الأرصدة الصغيرة ("حصة سيبيل")، والتدابير المتخذة ضد هجوم واحد، مثل عدم- الرسوم الخطية التي تم إنشاؤها لجعل العمل بحصة كبيرة غير مربحة عادةً ما تفقد مصداقيتها من خلال هجوم آخر. وبما أننا نتحدث عن لعبة اقتصادية، فيمكن حساب الأوزان الإحصائية المقابلة مسبقًا، واستبدال العمولات ببساطة بعمولات عشوائية بالتوزيع المناسب. يتم تنفيذ مثل هذه العمولات الاحتمالية ببساطة شديدة إذا كان لدى blockchain مصدر موثوق للعشوائية ولا يتطلب أي حسابات معقدة، مما يجعل الحياة صعبة لكل من الحيتان والأعراب.
في الوقت نفسه، من الضروري الاستمرار في تذكر أن التحكم في بت واحد في هذه العشوائية يسمح لك بالغش وتقليل الاحتمالات وزيادتها بمقدار النصف، لذا فإن PVRB الصادق هو العنصر الأكثر أهمية في هذه البروتوكولات.

أين يمكن العثور على العشوائية الصحيحة؟

من الناحية النظرية، الاختيار العشوائي العادل في الشبكات اللامركزية يجعل أي بروتوكول تقريبًا آمنًا ضد التواطؤ. الأساس المنطقي بسيط للغاية - إذا وافقت الشبكة على بتة واحدة 0 أو 1، وكان أقل من نصف المشاركين غير صادقين، فعندئذٍ، مع التكرارات الكافية، يتم ضمان وصول الشبكة إلى إجماع على تلك البتة باحتمالية ثابتة. ببساطة لأن عشوائيًا صادقًا سيختار 51 من أصل 100 مشارك بنسبة 51% من الوقت. ولكن هذا من الناحية النظرية، لأن... في الشبكات الحقيقية، لضمان هذا المستوى من الأمان، كما هو الحال في المقالات، هناك حاجة إلى العديد من الرسائل بين المضيفين، والتشفير المعقد متعدد التمريرات، وأي تعقيد في البروتوكول يضيف على الفور نواقل هجوم جديدة.
هذا هو السبب في أننا لا نرى حتى الآن PVRB مقاومًا مثبتًا في blockchain، والذي كان من الممكن استخدامه لفترة كافية لاختباره من خلال تطبيقات حقيقية، وعمليات تدقيق متعددة، وأحمال، وبالطبع هجمات حقيقية، والتي بدونها يصعب استدعاء المنتج آمن حقًا.

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

المصدر: www.habr.com

إضافة تعليق