تلخيص الاختراق في MonadBFT بالأمس ، أصدرت Category Labs ورقة MonadBFT ، التي تصف آلية الإجماع التي ستعمل Monad على تشغيل الشبكة الرئيسية. MonadBFT هو تطور مهم في أبحاث الإجماع لأنها المرة الأولى التي يصبح فيها Pipelined HotStuff مقاوما لتفرع الذيل. يحدث تفرع الذيل عندما تتسبب الفتحة الفائتة في التخلص من الاقتراح السابق وإعادة تعدينه. إنها مشكلة خطيرة في تركيبات HotStuff السابقة لخطوط الأنابيب لأنها تفتح هجمات MEV متعددة الكتل تزعزع استقرار الإجماع. يعد التخفيف من هذه المشكلة أمرا ضخما لأنه يمنحنا جميع مزايا Pipelined HotStuff - الكتل المتكررة ، وزمن الوصول المنخفض ، ومجموعات المدققين الكبيرة - مع تجنب الجانب السلبي الأكبر. تقدم MonadBFT أيضا ترقية ضخمة للنهائية. يتميز بنهائية تخمينية أحادية الفتحة (500 مللي ثانية) ونهائية صلبة من فتحتين (1 ثانية). "نهائية المضاربة" تعني "النهائي الذي لن يعود إلا في حالة المراوغة (التوقيع المزدوج) من قبل أغلبية المدققين". المراوغة هي جريمة كبيرة في معظم أنظمة blockchain وعادة ما يعاقب عليها بالقطع. كلما زادت عقوبة المراوغة ، كلما اقتربت من التفكير في "النهاية المضاربة" إلى النهاية. تعد النهائيات المضاربة ذات الفتحة الواحدة بمثابة فتح كبير للتطبيقات عالية الأداء ، والتي يمكنها عرض الحالة المحدثة للعالم بثقة فور استلام الكتلة التالية. تجعل هذه الخصائص MonadBFT تقدما كبيرا في الإجماع ، ومكملا جديرا للتحسينات المركبة الأخرى في Monad بما في ذلك التنفيذ غير المتزامن والتنفيذ المتوازي المتفائل و MonadDb. تعمل بقية هذه المقالة كملخص لكيفية بناء التحسينات المتتالية في HotStuff على بعضها البعض ، من أجل شرح المشكلة التي يحلها MonadBFT. لتلخيص: 1. يمنحنا HotStuff تعقيدا للاتصال الخطي حتى نتمكن من الحصول على مجموعات مدقق كبيرة ، لكنها ليست فعالة للغاية 2. يمنحنا HotStuff المقيد بخطوط الأنابيب الكفاءة وزمن الوصول المنخفض من اقتراح كتل كل فتحة ، ولكنه يعاني من مشكلة شوكات الذيل 3. يمنحنا MonadBFT مقاومة شوكة الذيل ونهائية مضاربة ذات فتحة واحدة --- HotStuff: يتيح تعقيد الاتصال الخطي عدد العقد الكبيرة تكتمل خوارزميات HotStuff على مدار عدة جولات من الاتصال ، والتي تأخذ بشكل عام شكل اتصال "التهوية ، المروحة" مباشرة من القادة إلى المدققين إلى القادة. تبدأ كل جولة بإرسال القائد رسالة مباشرة إلى المدققين الآخرين ، الذين يرسل كل منهم رسالة موقعة تشهد على تلقي الرسالة. شريطة أن ترسل الأغلبية العظمى (2/3) من المدققين شهادة ، تنتهي كل جولة بقيام القائد بتجميع الشهادات الموقعة في شهادة النصاب القانوني (QC) ، والتي تعمل كدليل على أن الأغلبية العظمى تشهد على الرسالة السابقة. تحتوي خوارزميات HotStuff على جولات متعددة من الاتصال مثل هذا. - الرسالة الأولى من القائد هي اقتراح كتلة - الرسالة الثانية هي مراقبة الجودة لاقتراح الكتلة هذا - الرسالة الثالثة هي مراقبة الجودة حول مراقبة الجودة السابقة (أي مراقبة الجودة على مراقبة الجودة) - وهلم جرا إذا توقف الإجراء في أي وقت قبل النهائية، فشل الكتلة في الانتهاء منها ويتم التخلص منها؛ يجب إعادة تضمين المعاملات من تلك الكتلة في الكتلة التالية. لا يحتوي بروتوكول HotStuff الأصلي على خط أنابيب ويحتوي على 3 جولات من الاتصال قبل الانتهاء ؛ يلعب المدقق نفسه دور القائد لكل جولة. --- HotStuff الأنابيب: كتلة جديدة في كل فتحة تزيد من الكفاءة خط الأنابيب هو ما نقوم به جميعا بشكل حدسي عندما يكون لدينا حمولة من الغسيل لإكمالها. بدلا من انتظار الحمل 1 لإنهاء الدورة الكاملة قبل بدء التحميل 2 ، في خط الأنابيب نضع الحمل 1 في المجفف في نفس الوقت الذي يذهب فيه الحمل 2 في الغسالة. يمكنك التفكير في HotStuff الأصلي على أنه هذا النهج الساذج لغسل الملابس (لا تبدأ في الحمل 2 حتى يتم التحميل 1 تماما) ، بينما يقوم Pipelined HotStuff بالسلوك البديهي المتمثل في تقدم أحمال غسيل متعددة بطريقة متداخلة. في Pipelined HotStuff ، نقوم بترتيب المقترحات ، بحيث يكون هناك كتلة جديدة مقترحة في كل جولة ، مع وجود كتلة جديدة أعلى الرسالة التي تحمل مراقبة الجودة من الكتلة السابقة. تسير مقترحات الكتلة نحو النهاية على مدار جولات متعددة. فوائد خطوط الأنابيب كبيرة. تعمل خطوط الأنابيب على زيادة كثافة مقترحات الكتل ، حيث يتم تقديم اقتراح كتلة في كل فتحة ، مما يزيد من الإنتاجية ويقلل من الوقت النهائي. ومع ذلك ، هناك عيب رئيسي واحد في خط الأنابيب ، والذي يتضح بشكل أفضل من خلال مثال. افترض أن قادة الكتل N و N + 1 و N + 2 هم أليس وبوب وتشارلي. إذا فات بوب مكانه ، إبطال اقتراح أليس أيضا ، لأن رسالة بوب تحمل كلا من اقتراحه ومراقبة الجودة لاقتراح أليس. عندما يحدث هذا ، ينتهي الأمر بتشارلي إلى استدعاؤه لإنتاج كتلة كما لو أن اقتراح أليس لم يكن موجودا أبدا. نشير إلى هذا السلوك باسم "تفرع الذيل" ، ويمكن اعتباره إعادة تنظيم مصغرة للعمق 1. إن احتمال تفرع الذيل له عواقب وخيمة ، لأن الفتحات الفائتة ليست بالضرورة عن طريق الصدفة. إذا كانت هناك فرصة لاستخراج القيمة عن طريق إعادة تعدين كتلة أليس أثناء إعادة ترتيب أو حذف بعض المعاملات ، فيمكن لبوب وتشارلي التواطؤ لجعل بوب يفوت مكانه عن قصد ، مما يؤدي إلى فرصة لتشارلي لإعادة تعدين كتلة أليس. لقد كان هذا عيبا كبيرا في بروتوكولات Pipelined HotStuff (بعضها موجود في الشبكة الرئيسية اليوم). --- MonadBFT يغير هذا MonadBFT هو أول بروتوكول لتمكين خط الأنابيب مع جعل الخوارزمية مقاومة للشوكة. تأتي مقاومة شوكة الذيل هذه من الإجراء الاحتياطي عندما يفقد بوب فتحته ، مما يمكن المدققين من تجميع معرفتهم الجماعية باقتراح أليس ومستوى الإجماع داخل مجموعة المدققين. على وجه الخصوص ، بموجب MonadBFT ، إذا فات بوب فتحته ، فإن الإجراء الاحتياطي يجعل المدققين يتواصلون مع بعضهم البعض بشهادات موقعة توضح ما إذا كانوا قد رأوا كتلة أليس. إذا شهدت الأغلبية العظمى على كتلة أليس ، فسيضطر تشارلي إلى إعادة اقتراح كتلة أليس. إذا رغب تشارلي في اقتراح كتلة مختلفة ، فيجب عليه تقديم شهادة موقعة من غالبية المدققين يشهدون على عدم رؤية كتلة أليس في الوقت المحدد. في الحالة النموذجية التي يعيد فيها تشارلي اقتراح كتلة أليس ، فإنه يقترح بعد ذلك كتلته في الجولة اللاحقة. والنتيجة هي خاصيتان مهمتان: مقاومة تشعب الذيل ونهائية الفتحة الفردية المضاربة. لقد تحدثنا بالفعل عن مقاومة تفرع الذيل ، لكن دعونا نفهم التأثير على النهاية. كما كان من قبل ، افترض أن قادة الكتل N و N + 1 و N + 2 هم أليس وبوب وتشارلي. ضمن Pipelined 2-Phase HotStuff - أي قبل MonadBFT - كمدقق (أو عقدة كاملة) ، لا يمكنك إنهاء اقتراح كتلة أليس حتى ترى اقتراح كتلة تشارلي. لماذا؟ لأنه إذا انتهيت بمجرد رؤية اقتراح بوب ، فمن المحتمل أن يكون بوب يعبث بك من خلال إعادة توجيه اقتراحه إليك فقط ، وهو يخطط بالفعل للفشل في إرسال اقتراحه إلى أي شخص آخر ، وبالتالي يفقد مكانه. ولكن في MonadBFT ، بمجرد أن ترى اقتراح بوب ، يمكنك "بشكل تخميبي" وضع اللمسات الأخيرة على اقتراح أليس لأن اقتراح بوب يتضمن مراقبة الجودة على اقتراح أليس ، وهو دليل على أن 2/3 من الشبكة تشهد على اقتراح أليس. حتى لو كان بوب يعبث بك من خلال إعادة توجيه اقتراحه إليك فقط ، وسينتهي به الأمر إلى فقدان فتحته ، فأنت تعلم أن الغالبية العظمى من الشبكة رأت اقتراح أليس ، وعندما يشاركون في الإجراء الاحتياطي ، سيوقعون على اقتراح أليس مرة أخرى. الطريقة الوحيدة التي لن يتم بها الانتهاء من كتلة أليس هي إذا قام المدققون بالمراوغة والتوقيع قائلين إنهم لم يروا رسالة أليس. يمكن إثبات هذا الخطأ بسهولة - لقد وقعنا رسائل متضاربة منهم. إذا كانت عقوبة المراوغة كبيرة - ويجب أن تكون كذلك - فإن هذه النهاية "المضاربة" ليست في الواقع تخمينية حقا. --- الوجبات الجاهزة MonadBFT هو تطور مثير للغاية للإجماع ، وهو مكمل جيد للتحسينات المركبة الأخرى في Monad بما في ذلك التنفيذ غير المتزامن والتنفيذ المتوازي المتفائل و MonadDb. تهانينا الجزيل ل @MohammadMJalal1 و @KushalBabel على هذا الاختراق الهام. سيتم تنفيذ MonadBFT قريبا على Monad Testnet ، الذي ينفذ حاليا Pipelined 2-Phase HotStuff. لمزيد من القراءة ، راجع منشور المدونة المرتبط والورقة في التغريدة التالية.
‏‎26.25‏K