هذه المقالة هي استعراض سطحي للنهج الرئيسية لتحقيق التوافق في بيئة لامركزية. ستسمح لك المادة بفهم المهام التي تحل البروتوكولات المدروسة ، ونطاق تطبيقها ، وميزات التصميم والاستخدام ، كما ستقيم احتمالات تطويرها وتنفيذها في أنظمة المحاسبة اللامركزية.
لاحظ أنه في الشبكة اللامركزية ، يتم تطبيق مبدأ التكرار ، والذي يعتمد على حقيقة أن العقد يمكن أن تؤدي نفس الوظيفة. بالنسبة للشبكة المركزية ، يعد هذا غير فعال بشكل طبيعي ، وبالنسبة للشبكة اللامركزية ، يعد هذا شرطًا أساسيًا. دعنا ننتقل إلى المتطلبات الأساسية.
متطلبات بروتوكول الإجماع
يجب أن تضمن البروتوكولات التشغيل الموثوق للمستخدمين في ظروف قاسية نوعًا ما وفي نفس الوقت تلبي الحد الأدنى من المتطلبات. يتم سرد الرئيسية منها أدناه.
عدم وجود حزب مركزي موثوق به . تتكون الشبكة من أقرانهم. إذا حاول مهاجم أو طرف ثالث تعطيل عدد معين من العقد ، فستستمر الشبكة في العمل بشكل طبيعي حتى يتحكم المشاركون النزيهون في الغالبية العظمى من عقد الشبكة.
لا يعرف الأعضاء الشرفاء المواقع التي يسيطر عليها مجرمو الإنترنت . من المفترض أن العقد الأخرى يمكن أن تفشل أو تعمل بشكل تعسفي في نقاط تعسفية في الوقت المناسب ، بما في ذلك التنسيق من قبل المهاجمين لتنفيذ هجوم على الشبكة. مرة أخرى ، لا يعرف المشاركون النزيهون أي العقد تكون صادقة وأيها سيئة أو غير موثوقة.
من المفترض أن
الشبكة غير موثوقة عن علم . قد يتم تسليم بعض الرسائل بتأخير شديد ، بينما قد يتم فقد البعض الآخر على الشبكة وقد لا يتم تسليمها على الإطلاق. في مثل هذه الظروف ، يجب أن يستمر الإجماع اللامركزي في العمل بشكل طبيعي: يجب أن تأتي جميع العقد الصادقة إلى نفس حالة قاعدة بيانات المعاملات المؤكدة.
يجب أن تكون البروتوكولات رسمية تمامًا . لا ينبغي أن تكون هناك مشاركة بشرية إضافية ولا توجد بيانات إضافية مطلوبة. يجب أن تأتي جميع العقد الصادقة إلى نفس الحل ، مع اتباع الخوارزمية التي يعمل بها الكمبيوتر بشكل كامل.
بالإضافة إلى ذلك ،
هناك افتراضات معينة يضمن البروتوكول بموجبها التشغيل الصحيح . يجب أن تشكل العقد الصادقة غالبية المشاركين: أكثر من ½ أو ⅔ من إجمالي عددهم. ومع ذلك ، فإن وقت صنع القرار غير محدود. قد يرتبط القيد بعدد الخطوات لاتخاذ القرار ، ولكن ليس الوقت.
مجالات بروتوكولات الإجماع
العملات الرقمية
بادئ ذي بدء ، ينطبق هذا على العملات المشفرة: يستخدم Bitcoin خوارزمية Nakamoto ، يستخدم Ethereum نسخة مبسطة من GHOST ، تطبق Bitshares PoS المفوضة ، إلخ.
وتجدر الإشارة إلى أن المجتمع الذي يدعم عملة رقمية معينة ليس دائمًا كبيرًا ولا مركزيًا. هناك عدد من العملات الرقمية الأخرى التي هي مركزية. ومع ذلك ، هذا لا يعني أن هناك حاجة إلى آلية إجماع. على سبيل المثال ، يستخدم Ripple بروتوكول BFT في بيئة مركزية.
أنظمة موثوقة للغاية وحرجة
تستخدم بروتوكولات الإجماع في أنظمة الحوسبة الموثوقة للغاية. يمكن استخدامها للوصول إلى قواعد البيانات الموزعة عند بناء التكتلات ، كما أنها تستخدم بالضرورة في الأنظمة التقنية الحرجة: يمكن أن تكون أنظمة التحكم في معدات الطائرات ، وأنظمة التحكم في المفاعلات النووية ، وكذلك في تقنيات الفضاء.
في 6 فبراير 2018 ، تم إطلاق Falcon Heavy. كان من المثير للاهتمام مشاهدته وقراءة المراجعات الفنية. ولكن لم يكن أقل إثارة للاهتمام أن تقرأ عن خوارزميات الإجماع التي يستخدمها الفريق. أجبر المهندسون على استخدام الإلكترونيات البسيطة ، التي تباع في المتاجر العادية ولا تعمل بشكل موثوق للغاية في ظروف الفضاء الصعبة. لذلك ، يستخدمون العديد من التكرار في عملهم ، ومن الضروري التوصل إلى توافق في الآراء في هذه الحالة.
العملات المشفرة
تعمل العملات المشفرة في شبكات نظير إلى نظير. في هذه الحالة ، يتم إرسال الرسائل أو المعاملات بين المشاركين في الشبكة في نقاط عشوائية في الوقت المناسب. لنفترض وجود أعضاء في الولايات المتحدة وأعضاء في أستراليا على الشبكة. سيشاهد المشاركون من أمريكا الدفعات المرسلة من الولايات المتحدة قبل المدفوعات المرسلة من أستراليا. ويرجع ذلك إلى التأخير الخطير ، وفقًا لمعايير الكمبيوتر ، في توصيل رسالة من قارة إلى أخرى. سيكون الوضع مشابهًا للأستراليين ، لأنهم سيرون مدفوعات من أستراليا قبل مدفوعات من الولايات المتحدة.
يعني الوضع الموصوف أعلاه أن المشاركين المختلفين في الشبكة سيرون في لحظة واحدة من الوقت أنهم سيرون حالة نهائية مختلفة لقاعدة البيانات مع المعاملات. نظرًا لأن المعاملات تأتي من المستخدمين إلى المدققين في أوقات مختلفة ، يلزم وجود بروتوكول يسمح لكل عُقدة ، بغض النظر عن موقعها ، بتلقي جميع المعاملات بنفس الترتيب.
بشكل أساسي ، يتم استخدام طريقتين لتشغيل أنظمة محاسبة العملات المشفرة: PoW ، وهو الأكثر شيوعًا ، و PoS ، التي تم تطويرها بنشاط في الآونة الأخيرة.
في PoW ، يتم تنفيذ قدر إضافي من العمل ، والذي يتألف الآن من العثور على النموذج الأولي لوظيفة التجزئة. في الواقع ، هناك تباطؤ اصطناعي للشبكة لضمان الأمن. للقيام بعمل ضار ، سيتعين على المهاجم أداء القدر اللازم من العمل. هذا يتطلب كمية هائلة من الطاقة ويجعل تنفيذ الهجمات غير فعال للغاية. يضمن هذا النهج موثوقية الشبكة. ومع ذلك ، فإن الحاجة إلى تنفيذ مثل هذه المهمة التي تتطلب موارد تحد من عرض النطاق الترددي للشبكة التي تعمل على هذا البروتوكول. لكن العلماء يواصلون العمل على نهج PoW ويقترحون مخططات بديلة ، بالإضافة إلى مهام أخرى كثيفة الموارد ، بالإضافة إلى البحث عن الصورة المعكوسة لوظيفة التجزئة. في الآونة الأخيرة تم اقتراح خوارزمية تعتمد على
إثبات المكان والزمان .
يسمح لك PoS بتوفير نطاق ترددي أعلى للشبكة ولا يتطلب تكاليف طاقة زائدة ، مثل PoW. ومع ذلك ، يتطلب PoS تحليلًا أكثر جدية في تطوير وتنفيذ العملات المشفرة.
في أنظمة المحاسبة القائمة على PoS ، من المفترض أن المستخدمين الذين يمتلكون عددًا كبيرًا من العملات المعدنية ليسوا مربحين للهجوم. إذا في أنظمة المحاسبة القائمة على نظام PoW ، يستثمر رجل الأعمال الأموال في المعدات ويدفع للكهرباء ، ثم يقوم بهجوم ناجح على النظام ، فسوف يفقد استثماره في التعدين. في PoS ، يتم اتباع نهج مختلف: إذا افترضنا أن المهاجم استثمر في عملات معدنية معينة يهتم بقيمها ، فعندها إذا هاجم بنجاح النظام ، فسيخسر استثماراته ، حيث ستنخفض العملات المعدنية. لذلك ، تعتبر الاستراتيجية الأكثر ربحية هي الالتزام الصادق بالبروتوكول.
مسرد قصير
السلامة - قدرة النظام المحاسبي على الحفاظ على المبادئ الأساسية للعمل ومصالح المشاركين الشرفاء في حالة حدوث أي تأثيرات ضارة.
نهائية - خاصية تشير إلى عدم إمكانية إلغاء القرار أو البيانات المؤكدة.
إن خاصية Lively خاصية تضمن أنه إذا أراد جميع الأعضاء الشرفاء إضافة إدخال إلى قاعدة بيانات مشتركة ، فستتم إضافتها هناك.
المثابرة - قدرة النظام المحاسبي على الحفاظ على ثبات الحالة النهائية لقاعدة بياناته حتى بعد فشل جميع أدوات التحقق.
إذن - يشير إلى وجود قيود ، أي الحاجة إلى الحصول على إذن للمشاركة في عملية معينة.
بدون إذن - يعني الوصول المجاني للمشاركة في عملية معينة.
بروتوكول إجماع Ouroboros
Ouroboros هو بروتوكول قائم على PoS يوفر إجماعًا بين مدققي المعاملات الرقمية Cardano. علاوة على ذلك ، الخوارزمية نفسها هي الأولى المستقرة بين جميع بدائل PoS.
أولاً ، ضع في اعتبارك خيارًا أبسط يعتمد على الحصة الثابتة ، عندما يُفترض أن التوزيع الحالي للعملات المعدنية لا يتغير.

هناك بعض كتلة التكوين ويشكل المستخدمون معاملات جديدة ، لكنها لا تؤثر بشكل كبير على التوزيع.
تحتوي كتلة جينيسيس على بيانات ذات قيمة عشوائية ، يتم من خلالها اختيار أداة التحقق. تسمح لك بتحرير الكتلة في وقت معين. يقوم المدقق الذي حصل على هذا الحق بجمع المعاملات ، واستلامها من مدقق آخر ، والتحقق من صحتها وإطلاق الحظر في الشبكة. إذا رأى العديد من السلاسل ، فإنه يختار أطولها ويربط الكتلة بها.
في سياق الموقف المتعلق بالحصة الثابتة ، يمكننا استخدام هذا النهج لفترة زمنية معينة ، ولكن بعد ذلك يمكن تغيير توزيع الحصة (توزيع الحصة) بين المستخدمين المختلفين. بعبارة أخرى ، جزء من المال ينتقل من مستخدم إلى آخر ، وتحتاج إلى تعديل احتمالية الحصول على الحق في اختيار كتلة.
ملاحظة : تعني الحصة الثابتة أن فترة معينة من الوقت تعتبر حصة المدقق بدون تغيير. يجوز للمصدق عليه في هذا الوقت المشاركة في القرار وسداد المدفوعات ، ولكن عدد العملات المعدنية في حصته ، وبالتالي وزن صوته ، سيبقى دون تغيير حتى الفترة الزمنية التالية.
في حالة الحصة الديناميكية ، يتم تقسيم الوقت إلى فتحات ، وتنقسم الفتحات إلى عصور. مدة حقبة واحدة تساوي تقريبًا مدة يوم واحد. يتم تحديد هذه النسبة من حقيقة أنه خلال هذه الفترة الزمنية لا يمكن أن يتغير توزيع العملات بشكل كبير.
في نهاية العصر ، يتم تسجيل التوزيع الحالي للعملات المعدنية لكل مستخدم. بالإضافة إلى ذلك ، يتم إنشاء قيمة عشوائية جديدة لضمان أنه في العصر التالي ، سيتم اختيار المستخدمين المؤهلين لتوليد الكتل بشكل عشوائي وفقًا لعدد العملات المعدنية التي يمتلكونها.
وبالمثل ، هناك حماية ضد ما يسمى بهجمات الطحن ، عندما يمكن لمستخدم معين الفرز من خلال الخيارات المختلفة للكتل ، وخيارات مختلفة للعشوائية لتشكيل السلسلة التي يمكنه من خلالها تحقيق أقصى ربح. من المحتمل أن تكون العملات المشفرة القائمة على بروتوكولات PoS من الجيل الأول مثل Peercoin و NXT عرضة لمثل هذه الهجمات.
حل مبدعو هذه الخوارزمية المشاكل المذكورة أعلاه. يبدأ المدققون بروتوكولًا خاصًا فيما بينهم ، يسمى MPC (حساب متعدد الأطراف) ويجعل من الممكن توليد العشوائية معًا. هذا البروتوكول هو أيضا قوية للغاية ، على أساس نهج راسخة منذ فترة طويلة.
يوفر بروتوكول Ouroboros الثبات ، شريطة أن تكون غالبية المصادقين المخلصين في النظام. إذا كان المشاركون النزيهون الذين يعملون على قضية الكتل يسيطرون على أكثر من 50 ٪ من العملات المعدنية في النظام ، فيمكن اعتبار البروتوكول محميًا.
تم تطوير آلية الحوافز (الدافع) للسلوك الصادق. باستخدام نظرية اللعبة ، ثبت أن المدقق يحصل على أقصى فائدة عندما يتبع قواعد البروتوكول. أي مشاركة في ارتكاب الهجمات لا تزيد فقط ربح المشارك ، ولكن في بعض الحالات يمكن أن تخفضه. لذلك ، فإن الإستراتيجية الأكثر ربحية للمدقق هي اتباع قواعد البروتوكول بصدق.
سيتم تقييد قدرة النظام المحاسبي فقط من خلال التأخير أثناء مزامنة الشبكة. يوفر هذا البروتوكول كفاءة طاقة عالية مقارنة بإثبات العمل ، حيث لا توجد حاجة إلى مزارع التعدين هنا. الآن لجمع المعاملات وإطلاق الكتل ، يكفي جهاز كمبيوتر شخصي عادي. في المستقبل ، يمكن إجراء هذه الحسابات حتى على الهاتف الذكي العادي.
تتضمن قيود بروتوكول Ouroboros حقيقة أن الإصدار الأول من البروتوكول متزامن. هذا يعني أنه يجب تسليم الرسائل بين المشاركين في فترة زمنية محدودة. إذا كانت هناك تأخيرات على الشبكة أطول من تلك المنصوص عليها في القواعد ، فقد يؤدي ذلك إلى تقليل الأمان. ومع ذلك ، فقد تم التخطيط بالفعل لاستخدام الإصدار التالي من البروتوكول - Ouroboros Praos. في ذلك ، حتى مع زيادة التأخير في الشبكة ، يتم ضمان الأمان الكامل.
مشاكل PoW في Bitcoin
ضع في الاعتبار الإجماع الذي يقوم عليه Bitcoin. لا يزال جزءًا من الكتل التي تم إنشاؤها بواسطة مستخدمين صادقين يتم تجاهلها - وهي ما يسمى الكتل اليتيمة. يتم إنشاء هذه الكتل بالتوازي مع السلسلة الرئيسية ، لكن معظم الشبكة قررت أنه لا ينبغي استمرار هذه السلسلة ، ويتم التخلص من الكتل.
عندما يكون هناك عدد قليل من هذه الكتل ، لا يوجد شيء يدعو للقلق. ومع ذلك ، إذا كان هناك الكثير منها ، فإن الشبكة ليس لديها وقت للمزامنة ، وتبين أن جزءًا من قوة الحوسبة لمستخدمي الشبكة النزيهين يضيع. وهذا يعني أن المهاجم الآن بحاجة للقتال ليس من أجل 51٪ من قوة الحوسبة للشبكة ، ولكن في الواقع مقابل نسبة أقل. إذا كانت هذه القيمة 20٪ ، فيمكن للمهاجم الذي يمتلك 20٪ من قوة الحوسبة وتأخيرًا كبيرًا في توصيل رسائل الشبكة تنفيذ هجوم مزدوج الإنفاق.
لذلك ، في Bitcoin ، يتم تعيين فاصل زمني بين الكتل الملغومة لمدة 10 دقائق. بفضل هذا ، تمكنت الشبكة من المزامنة بشكل واضح وتم تقليل احتمالية ظهور مثل هذه الكتل. إذا كنت بحاجة إلى زيادة إنتاجية الشبكة عن طريق زيادة وتيرة تكوين الكتلة ، فأنت بحاجة إلى حل مختلف.
شبح
كان أول حل من هذا النوع هو بروتوكول GWOST PoW. يتم استخدام نسخته المبسطة على منصة Ethereum.

في هذه الحالة ، يمكن للمهاجم سحب سلسلته (المحددة باللون الأحمر في الشكل) وجعلها الأطول ، لكنها لن تفوز. سيتبع المستخدمون المخلصون السلسلة التي بنوها من قبل.
قد يكون للمستخدمين الشرفاء في هذه الحالة سلسلتين. الأطول (1B-2D-3F-4C-5B) ، لكنها ستكون أقصر من سلسلة المهاجم. تكمن خصوصية GHOST في أن الخوارزمية لا تركز على أطول سلسلة ، ولكن على عدد الكتل في الشجرة التي شكلتها السلسلة الحالية. لا يأخذ في الاعتبار طول السلسلة نفسها فحسب ، بل يأخذ أيضًا في الحجب على ارتفاعات مختلفة. وبالتالي ، فإن النتيجة ليست سلسلة خطية ، بل شجرة. يتم أخذ عدد الكتل الموجودة فيه بعين الاعتبار.
إذا نظرت إلى السلسلة 1B-2C-3D-4B ، فستكون الكتل المصاحبة 3E و 3 C مرئية. من خلال عدد الكتل والعمل المنفق ، تتمتع هذه السلسلة بأكبر قدر من التعقيد وسيتم اعتبارها السلسلة الرئيسية. سيستمر المستخدمون المخلصون في اعتبارها السبب الرئيسي ، على الرغم من محاولات المهاجم لمهاجمة الشبكة. في إجماع ناكاموتو التقليدي ، كان مثل هذا الهجوم ناجحًا ، لكنه لا يشكل أي خطر على GHOST.
ومع ذلك ، فإن عيوب GHOST هي حقيقة أن جزءًا من الكتل لا يزال مفقودًا. في هذه الحالة ، سيتم إسقاط سلسلة 2D-3F-4C-5B. وبالتالي ، تظل مسألة إسقاط كتل المستخدمين الشرفاء مفتوحة.
سبكتر وفانتوم
من أجل زيادة وتيرة تشكيل الكتل وحل مشكلة إسقاط الكتل من المستخدمين الشرفاء ، تم اقتراح بروتوكولين آخرين لبرنامج PoW: SPECTER و PHANTOM.

لم يعودوا يستخدمون حتى بنية شجرة ، ولكن ما يسمى الرسم البياني الحلقي الموجه (DAG). في هذه الحالة ، يتضمن المدقق مؤشرات إلى الكتل التي لم تتم الإشارة إليها بعد من قبل مدققين آخرين في رأس الكتلة الخاصة به ، على الأقل في حالة الشبكة التي يراها في الوقت الحالي ، ويرسل الكتل إلى أبعد من ذلك.
لذلك ، يتم الحصول على هيكل يتم فيه تضمين جميع الكتل التي يراها المدققون في الوقت الحالي. هنا ، لا يتم فقدان قوة التعدين للمستخدمين الشرفاء على الإطلاق. علاوة على ذلك ، فإنه يوفر نطاقًا تردديًا عاليًا للشبكة ومستوى عالٍ من الأمان. ميزة هذا النهج هو حقيقة أن النظام لامركزي حقا.
دعنا نقارن ميزات شبكة Bitcoin والشبكة التي تعمل باستخدام بروتوكولات SPECTER و PHANTOM. إذا تحدثنا عن الوضع الحالي في شبكة Bitcoin ، فمن الجدير إعطاء أهمية كبيرة لمجمعات التعدين. في Bitcoin الحديثة ، يتم إصدار 144 كتلة في اليوم. هذا هو الرقم الذي يمكن الحصول عليه إذا كان عدد الدقائق بالأيام مقسومًا على 10. من المحتمل جدًا أن المدقق اشترى المعدات ودفع للكهرباء لفترة طويلة ، لكنه لم يعمل على توليد الوحدة ، وخلال تلك الفترة كانت المعدات قديمة وتستخدم أكثر لا معنى. لتجنب هذا الوضع ، يتم الجمع بين المصادقين الرياديين في مجمعات التعدين. تحتوي معظم مجمعات التعدين على رصاص (شركة / مؤسسة) ، والذي يميل Bitcoin الحديث إلى مركزية عملية التحقق من المعاملات الجديدة.
في حالة SPECTER و PHANTOM ، لا توجد حاجة إلى حمامات التعدين على الإطلاق. إذا رسمنا توازيًا مع شبكة Bitcoin الحديثة ، فإن كل مستخدم للشبكة يستخدم بروتوكولات SPECTER و PHANTOM لديه فرصة لإطلاق كتلة واحدة في اليوم. وبالتالي ، تختفي الحاجة إلى حمامات التعدين بشكل عام ونأتي إلى شبكة لامركزية حقًا.
لذلك ، توفر بروتوكولات SPECTER و PHANTOM مستوى عال من اللامركزية ونطاق ترددي عالي للشبكة ، ولكنك تحتاج إلى تخزين كمية كبيرة من المعلومات.بروتوكولات BFT
النوع التالي من البروتوكولات المستخدمة هي بروتوكولات BFT (التسامح مع الخطأ البيزنطي).
يأتي الاسم من وصف هزلي للمشكلة تم إجراؤه في الثمانينيات من القرن العشرين عند تطوير بروتوكول للأنظمة الموثوقة للغاية. تم إعطاء مثال عن الجنرالات البيزنطيين الذين ينظمون هجومًا على المدينة. كانت مهمة الجنرالات التوصل إلى قرار واحد. ولكن كان من الضروري اعتبار أنه يوجد بينهم العديد من الخونة. يمكن للخونة أن يتصرفوا بشكل تعسفي ، علاوة على ذلك ، يمكنهم التأثير على نقل الرسائل بين الجنرالات الشرفاء ، الذين كان من المهم إما مهاجمة المدينة في نفس الوقت ، أو التراجع في نفس الوقت. إذا تراجع أي من الجنرالات الشرفاء ، فإن العدو سيهزم الجيش في أجزاء. لذلك ، كان عليهم التوصل إلى قرار متفق عليه. تم بيان المشكلة بهذه الطريقة في العمل ، حيث جاء اسم الخوارزمية لتحقيق التوافق.بالنسبة لبروتوكولات BFT ، يفترض تفاعل نظير إلى نظير. من المفترض أن هناك عددًا معينًا من المهاجمين الذين يمكنهم التصرف بطريقة منسقة. إنهم غير معروفين للأعضاء الشرفاء. من الممكن حدوث أعطال وتأخيرات في الشبكة ، أي أن بعض الرسائل قد تختفي ، وقد يصل بعضها بتأخير طويل. ومع ذلك ، هناك قيود على عدد الخطوات التي يجب على جميع المصادقين الشرفاء أن يتوصلوا خلالها إلى قرار مشترك. في مهمة المثال ، هناك خياران: الهجوم أو التراجع.من المفترض أن العقد الصادقة هي أكثر من مشاركين. إن بروتوكولات BFT مضمونة للتوصل إلى حل مشترك لا يمكن التراجع عنه في المستقبل. بالنسبة للبروتوكولات غير BFT ، فإن احتمال إلغاء القرار يتناقص بشكل كبير ، ولكن ليس صفرًا.تستند Bitcoin وغيرها من العملات المشفرة الحديثة واسعة الانتشار على بروتوكولات غير BFT. بالنسبة إلى Bitcoin ، هناك احتمال غير صفري ، لا يكاد يذكر ، أن هناك سلسلة بديلة ، تمتد ، على سبيل المثال ، من الشهر أو السنة السابقة أو حتى من كتلة Genesis. إن احتمال إلغاء السلسلة الحالية يتناقص بشكل كبير ، ولكنه موجود. في حالة بروتوكول BFT ، لا يمكن عكس القرار.أمثلة على بروتوكولات BFT
BFT العملي
كان أول بروتوكول تم وضعه موضع التطبيق يسمى BFT العملي. تم اقتراحه في عام 1999. لديها عملية بسيطة إلى حد ما. يصل العميل إلى الخادم ، والذي يتم اختياره من قبل القائد. يرسل القائد هذه الرسائل إلى خوادم أخرى. بعد ذلك ، تخبر الخوادم بعضها البعض بأن بعض الرسائل وصلت وأنه يجب إدخالها في قاعدة بيانات مشتركة. يجب على كل من المصدقين تأكيد أنه تلقى تأكيدًا من participants مشاركين آخرين.عندما تلقى المدقق تأكيدًا من participants مشاركين آخرين بأن الرسالة تم تضمينها في نسختهم من قاعدة البيانات ، يتم إدخالها في نسخة محلية من هذا المدقق.
البروتوكول موفر للطاقة ، ويوفر إنتاجية عالية وتأكيدًا سريعًا للمعاملات ، ولكنه ، للأسف ، يعمل لعدد صغير من أدوات التحقق. إذا قمنا بتصميم كتلة أو نظام ملفات أو سحابة استنادًا إلى هذا البروتوكول ، فإنه يعمل بكفاءة ، ولكن إذا بدأنا في استخدام عدد كبير من العقد ، نحصل على زيادة سريعة في عدد الرسائل وزيادة كبيرة جدًا في تحميل الشبكة. في الحالة الأخيرة ، يعمل البروتوكول بشكل غير فعال ، خاصة عندما تعمل الشبكة مع التأخيرات ، أو تخطي الرسائل ، وماإلى ذلك . بالإضافة إلى ذلك ، يفترض الإصدار الأساسي وجود قائد ، والذي يمكن أن يصبح نقطة هجوم DoS لإيقاف تشغيل النظام المحاسبي من قبل مهاجم.HoneyBadger BFT
أثبت HoneyBadger BFT نفسه وتم تطويره كنسخة محسنة من إحدى الخوارزميات الحالية. يستخدم عددًا من الميزات ، بما في ذلك حماية التشفير لجميع الرسائل التي يتم إرسالها عبر الشبكة. يتم فك تشفير المعاملات فقط بعد التوصل إلى اتفاق معين عليها. يتكون HoneyBadger من بروتوكولين: RBC (بث موثوق) و BA (اتفاقية بيزنطية).
باستخدام بروتوكول RBC ، يتم تسليم الرسائل عبر الشبكة. يكمل هذا البروتوكول عمله فقط بعد أن يتلقى تأكيدًا بأن مدققين صادقين على الأقل قد استلموا المجموعة الضرورية من الرسائل. بعد ذلك ، يتحول المدققون إلى بروتوكول BA ويتفقون على المعاملات نفسها ، والتي يتم إرسالها بعد ذلك إلى الشبكة.يوفر هذا البروتوكول حماية تشفير قوية. يعمل بشكل جيد في الشبكات ذات جودة نقل البيانات الضعيفة ، حيث توجد رسائل فائتة وتأخيرات في تسليمها ، وكذلك في الشبكات ذات التدخل الضار الخطير في العمل. لا يوجد زعيم. يعاني البروتوكول عند محاولة التوسع بشكل كبير: مع مئات العقد المصدق ، فإنه لا يزال يعمل بشكل جيد ، ولكن مع بضعة آلاف من الضغط عليه بالفعل يضغط كثيرًا على الشبكة ويزداد وقت تأكيد المعاملة بشكل كبير. في ظروف شبكة لا مركزية بالكامل لنظام المحاسبة ، حيث يعمل الآلاف من المصادقين ، يصبح البروتوكول غير فعال.أدى المزيد من التطوير إلى بروتوكولات Algorand و Hashgraph.Algorand
تم اقتراح بروتوكول Algorand في عام 2017. يستخدم نفس نهج BFT ، لكنه يركز على حقيقة أنه من بين جميع المشاركين يتم اختيار لجنة فرعية بشكل عشوائي تقوم بتأكيد المعاملة. علاوة على ذلك ، يحدث هذا التأكيد على عدة مراحل ، وفي كل منها يتم اختيار لجنة فرعية.
يضمن البروتوكول مع احتمالية عالية ، قريبة من الوحدة ، أن تكون اللجنة الفرعية صادقة إذا كان أكثر من participants من المشاركين في الشبكة صادقين ، أي أن كل لجنة فرعية سيكون لها أيضًا participants مشاركين صادقين. لا يوجد زعيم ، لذلك ، ليس هناك فائدة من هجوم رفض الخدمة (DoS). يوفر هذا البروتوكول إنتاجية عالية للنظام المحاسبي ، وتأكيد سريع للمعاملات ، بالإضافة إلى الحماية من الفساد التكيفي.من المفترض أن المهاجم يمكن أن يختار المدقق التعسفي ويدعي أنه هو الذي يعمل لمصلحته. يمكن للمهاجم أن يختار تلك العقد التي ستعمل له (شرط العملية الصحيحة هو شرط أن يكون هناك مشاركين أكثر صدقًا ⅔). وحتى في ظل هذه الظروف ، يوفر البروتوكول المثابرة.نظرًا لأن هذا بروتوكول BFT ، على أي حال ، فإنه يوفر خصائص السلامة والمثابرة. وستعتمد خصائصه الأخرى على التأخير في إرسال البيانات عبر قنوات الاتصال.إذا كان هذا البروتوكول يعمل على شبكة مشكلة ، فهناك تهديد حيوي مرتبط بحقيقة أن المعاملات الجديدة قد لا تتلقى تأكيدًا. إذا ظهر الكثير من التأخيرات على الشبكة أو إذا حصل المهاجم على فرصة للتخلص من الرسائل التي يحتاجها للتخلص منها لتحقيق الهدف ، فلن يؤثر ذلك على المعاملات القديمة (المؤكدة بالفعل). لا يمكنه إلغاؤها. خلاصة القول أنه سيتمكن من رفض اعتماد المعاملات الجديدة.هاشغراف
بروتوكول Hashgraph هو حل جديد مع خصائص جيدة للغاية. يقوم كل مدقق بجمع معاملاته واختيار عشوائي لمشارك آخر وإرسال بيانات له عن معاملاته ، بالإضافة إلى المعلومات التي أبلغته العقد الأخرى عند اتصاله به.
لذا ، فإن العملية بسيطة للغاية: المدقق "يستمع" ، ويتلقى جميع الرسائل التي تصل إليه ، ثم يختار عشوائيًا مشاركًا آخر ويرسل له جميع المعاملات إلى جانبه.يضمن Hashgraph أنه في عدد محدود من الخطوات ، أي جولات تشغيل البروتوكول ، تأتي جميع العقد إلى حل واحد. يعمل البروتوكول بسرعة ويتدرج بشكل جيد. يتطلب حركة مرور أكثر من Algorand ، ولكنه في نفس الوقت فعال للغاية. يوفر Hashgraph خصائص السلامة والحيوية ، أي إضافة معاملات جديدة والتوصل إلى حل واحد. إنه يعمل حتى في شبكة غير متزامنة تمامًا ، عندما يمكن تأخير الرسائل لفترة طويلة جدًا أو حتى التخلص منها.بالإضافة إلى ذلك ، لا يوجد زعيم على الشبكة ، مما يسمح للمهاجم بتعطيل تلك العقد التي تهمه ، وقد يتسبب في عملهم وفقًا لنواياهم. ومع ذلك ، بينما يظل المستخدمون الصادقون ، يوفر البروتوكول مستوى عالٍ من الأمان.ملخص BFT
لتلخيص بروتوكولات BFT. توفر إنتاجية عالية جدًا وتسمح للمصدقين بالاتفاق على حالة المعاملات عبر عدد ثابت من الخطوات. تسمح هذه الخصائص باستخدامها بنجاح في العملات المشفرة. يضمن البروتوكول تشغيلًا موثوقًا به حتى على الشبكات غير الموثوقة ، بشرط أن يكون أكثر من مدققي نظام المحاسبة صادقين. تدعم بروتوكولات مثل Algorand و Hashgraph إنتاجية عالية ويمكن أن تحتوي على عدد كبير من أدوات التحقق.في نفس الوقت ، لديهم عيب خطير للغاية: في الوضع الحالي للتطوير ، يتم تطوير البروتوكولات لما يسمى أنظمة المحاسبة المسموح بها. وبعبارة أخرى ، فقد تم تصميمها دون حافز للمصدقين للعمل بأمانة في الشبكة نفسها. من المفترض أن تكون هذه الحوافز خارج نطاق هذا البروتوكول. جوائز لتشكيل الكتلة ، لا تعتبر استراتيجيات مختلفة لسلوك المستخدم.لنشر مثل هذه البروتوكولات للعمل في أنظمة المحاسبة بدون إذن ، سيحتاج الباحثون إلى القيام ببعض العمل الجاد. في هذا الصدد ، لا يزال لديهم مجال واسع من البحث من وجهة نظر نظرية اللعبة ومن وجهة نظر تطوير نظام مكافأة للمدققين ، وما إلى ذلك.أعد المختبر الموزع هذه المقالة بناءً على مادة محاضرة الفيديو رومان أولينيكوف.أسئلة متكررة
- هل من الممكن في المستقبل القريب إدخال بروتوكول إجماع جديد جذري وهل هناك تطورات؟الآن ، في الواقع ، يجري تطوير بروتوكولات الإجماع. ناقشنا بعضًا منها اليوم: Algorand و Hashgraph من بروتوكولات BFT ، بالإضافة إلى البروتوكول المستند إلى توافق Ouroboros PoS. في بداية عام 2018 ، تم تقديم بروتوكول PHANTOM. هذه بروتوكولات جديدة ذات مبادئ جديدة.- كيف يضمن Ouroboros أن قائمة العقد التي لها الحق في تشكيل كتلة في فترات زمنية معينة هي نفسها لجميع العقد؟يتعلق السؤال بهجمات الطحن المذكورة أعلاه. يوفر Ouroboros خصائص الثبات والنشاط: إذا وصلت المعاملة إلى نقطة معينة في الوقت وتلقى تأكيدًا ، فلا يمكن إلغاؤها أو حذفها بعد الآن ، لأن احتمال استبدال هذه الكتلة يميل إلى الصفر. بمعنى آخر ، يعتقد المطورون أن المعاملة لا يمكن أن تختفي من قاعدة البيانات المشتركة ، لأنها متاحة لأي شخص.بسبب خاصية الاستمرار ، تشكل جميع عقد الشبكة نفس مجموعة المعاملات في نسختها المحلية من قاعدة البيانات. ترسل أدوات التحقق المحتملة معاملات عشوائية خاصة بها ، والتي كانت مخفية في البداية ، وفي وقت الانتهاء من بروتوكول MPC ، يمكن للجميع حساب العشوائية الناتجة. يتمتع جميع المستخدمين بسجل معاملات متسق ، بحيث تتلقى جميع العقد نفس قائمة أدوات التحقق الفعلية. من المستحيل التلاعب بالعشوائية هنا ، لأن بروتوكول MPC يوفر خصائص تتعلق بحقيقة أنه لا يمكن لأحد المشاركين أن يحصل على هذه العشوائية حتى يساهم الجميع في blockchain. فقط بعد الكشف عن هذا الحادث. حتى إذا لم يرغب أحد في الكشف عن عشوائيته ، فإن البروتوكول نفسه يضمن الكشف عن هذه البيانات. لكل شخص نفس رؤية التاريخ والصدفة.حتى إذا قام مدقق محتمل واحد على الأقل "بإلقاء" قيمة عشوائية حقيقية في blockchain (واحدة كافية) ، فإن العشوائية الناتجة ستكون غير متوقعة.- في أي كتاب يمكنك أن تقرأ عن خوارزميات بناء الإجماع التي نوقشت في هذا الفصل؟لسوء الحظ ، لا يوجد مثل هذه الكتب حتى الآن. لا يوجد سوى أوراق ومقالات علمية مختارة. يمكنك مشاهدة مقالات عن PHANTOM و SPECTER و Ouroboros. يمكنك مشاهدة الموقع حيث يمكن العثور على هذه المقالات بالاسم.- لماذا يجب أن يكون هناك الكثير من الكتل في PHANTOM و SPECTER إذا لم يكن هناك الكثير من المعاملات؟ ستكون معظم الكتل فارغة أو تحتوي على معاملات قليلة.تركز فانتوم وسبكتر على القياس. بالنسبة لبيتكوين ، ظهرت المواقف بشكل متكرر عندما يمكن أن تكون المعاملات مع عمولة منخفضة غير مؤكدة عبر الإنترنت حتى لعدة أشهر. تضمن PHANTOM و SPECTER تضمين جميع المعاملات في الكتل وزيادة عرض النطاق الترددي للشبكة. يمكن أن توفر هذه البروتوكولات عشرات الآلاف من المعاملات في الثانية ، مع تلقي كل تأكيد. بمعنى آخر ، يمكنهم توفير تكاليف معاملات منخفضة جدًا على الشبكة نفسها. إذا لم تكن هناك معاملات ، فيمكنك بالفعل إصدار كتل فارغة.- كيف وبواسطة من يتم اختيار الخادم الرائد في BFT؟يعتمد ذلك على البروتوكول المحدد. إذا كنا نتحدث عن PBFT ، ففي هذه الحالة ، يختار مستخدم معين قائد خادم يقوم بإجراء معاملته. إذا كنا نتحدث عن Algorand أو Hashgraph ، فلا يوجد زعيم على الإطلاق.- ماذا سيحدث إذا جاء الطلب الأولي في PBFT إلى عقدة مخترقة؟في هذه الحالة ، قد لا تقوم العقدة المخترقة (أو الخاملة) بمعالجتها. إذا اختار المستخدم بشكل عشوائي العقدة التي يصل إليها ، ولدينا ثلثا العقد الصادقة ، ثم في هذه الحالة ، مع احتمال كبير ، بعد عدة محاولات سوف تتلقى معاملته تأكيدًا.- هل من الصحيح أن نقول أن Algorand يشبه DPoS (دليل إثبات الحصة المفوض)لا ، هذا ليس صحيحًا تمامًا. يتضمن إثبات صحة التفويض المفوض أنه يجب على المستخدمين اختيار مدقق وتفويض حقوق التصويت الخاصة بهم. هنا ، يتم اختيار العقد لتأكيد المعاملات بشكل عشوائي. إذا نظرت بعيدًا إلى المستقبل ونظرت في خيارات بناء عملة مشفرة على Algorand ، فسيكون من الضروري حقًا تطوير خيارات التفويض ، لكن التفويض لا يحتاج إلى العمل من أجل البروتوكول نفسه.- أي من البروتوكولات المدرجة لم يتم تطبيقها بعد ، لكنها تعتبر واعدة في المستقبل؟SPECTER و PHANTOM بروتوكولات واعدة حقًا. ويعمل مطورو SPECTER على إطلاق عملة رقمية جديدة.