باكسوس وأمبير. بروتوكولات توافق الطوافة

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

يعد فهم كل من Paxos و Raft مفيدًا للغاية في تعزيز المعرفة بكيفية عمل بروتوكولات الإجماع الموزعة في العملات المشفرة مثل إثبات العمل والتسامح العملي مع الخطأ البيزنطي.

باكسوس وأمبير. بروتوكولات توافق الطوافة

خلفية عن باكسوس وطوف

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

تم تطوير Raft كبديل أكثر قابلية للفهم من Paxos والذي يعادل أساسًا Paxos في الأداء وضمانات تحمل الأخطاء. هناك موارد واسعة متاحة لكل من Paxos و Raft ، ويتم دراستها واستخدامها على نطاق واسع في مجموعة متنوعة من التطبيقات والأنظمة اليوم.

توجد بعض الاستخدامات العملية الأكثر شهرة لـ Paxos ضمن قاعدة بيانات NewSQL من Google مفتاح البراغي و ال وحدة التحكم بحجم الصوت IBM SAN لخدمات تصور التخزين.

يحتوي Raft على العديد من المصادر المفتوحة تطبيقات مرجعية بلغات متعددة بما في ذلك Go و Java و C ++ و Rust.

ما هو باكسوس?

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

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

هناك ثلاثة أدوار في إجماع باكسوس ، والمعروفة باسم الوكلاء:

  1. العارضون
  2. الموافقون
  3. المتعلمين

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

ومع ذلك ، لكي يعمل الإجماع بشكل صحيح ، فإن الشرط الأول لـ Paxos هو:

“يجب على المقبولين قبول أول قيمة مقترحة يتلقونها”.

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

يحدد الرقم الفريد كل عرض ، وتختار الشبكة قيمة بمجرد قبول قيمة مقترحة معينة من قبل غالبية المتلقين ، والمعروفين باسم اختيار القيمة. يمكن اختيار عدة مقترحات ، ولكن من الضروري التحقق من صحة خاصية السلامة من خلال ضمان أن هذه المقترحات جميعها لها نفس القيمة. وفقًا لتعريف Leslie Lamport للشرط الثاني المطلوب من Paxos والذي يضمن السلامة:

“إذا تم اختيار عرض ذي قيمة v ، فسيكون لكل عرض ذي رقم أعلى يتم اختياره قيمة v.”

الاتصال في الشبكة غير متزامن ، لذلك من الممكن أن بعض المستقبلين لم يتلقوا القيمة المختارة ، وهو أمر جيد طالما لم يتم انتهاك الشرطين 1 و 2.

يستخدم مقدمو العروض قيودًا معينة كرسائل لمجموعات من المتقبلين إلى جانب القيم. تسمى هذه تحضير الطلبات وتحتوي على طلبين أساسيين:

  1. وعد بعدم قبول اقتراح أقل من ن (ن هو رقم الاقتراح الجديد)
  2. قم بالرد على الاقتراح بأعلى رقم أقل من ن الذي قبله القابل.

وفقًا لامبورت:

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

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

التصميم المعقد لـ Paxos هو أنه يمكنه قبول القيم عندما تتفق غالبية العقد على الرغم من أن العقد الأخرى تتجاهل أو ترفض القيمة المقترحة. هذا يختلف عن التكرارات السابقة للإجماع التي تطلبت موافقة جميع العقد وكانت خاضعة لحظر البروتوكول من فشل العقد الفردية.

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

فيما يلي تفصيل أدوار مقدم العرض والمقبول في البروتوكول:

مقدم الاقتراح

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

مقبول

  • تلقي الاقتراح ومقارنته بأعلى عرض مرقم تم الاتفاق عليه بالفعل.
  • إذا ن أعلى ثم اقبل الاقتراح ، إذا كانت قيمة n أقل فقم برفض الاقتراح.
  • اقبل رسالة الالتزام اللاحقة إذا كانت قيمتها مماثلة لاقتراح مقبول مسبقًا وكان رقم التسلسل الخاص به هو أعلى رقم متفق عليه.

يمكن أن تقدم المقترحات مقترحات متعددة ولكنها تحتاج إلى اتباع الخوارزمية لكل اقتراح على حدة.

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

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

ما هو Raft?

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

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

يتم انتخاب القائد أيضًا عند بدء الخوارزمية. لإعطاء اختيار القائد بعض السياق ، فإنه يلعب دورًا حيويًا في الإجماع ويمكن تمييزه في خوارزميات محددة. على سبيل المثال في Nakamoto Proof of Work ، يتم اختيار القائد من خلال عملية التعدين الشبيهة باليانصيب لكل جولة ، والتي تكون كل 10 دقائق تقريبًا. في التسامح البيزنطي العملي (pBFT) ، يتم اختيار القائد من خلال تنسيق نمط Round-robin.

ما هو إجماع ناكاموتو

قراءة: ما هو إجماع ناكاموتو?

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

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

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

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

بشكل عام ، يفكك Raft الإجماع إلى 3 مشاكل فرعية فردية:

  1. انتخاب الزعيم
  2. نسخ السجل
  3. أمان

يستخدم بروتوكول التوافق أ قائد قوي, مما يعني أن العقدة الرئيسية في الطوافة تمارس تأثيرًا كبيرًا على العملية بينما تظل مقيدة بحدود البروتوكول. نتيجة لذلك ، تعتبر Raft أكثر وضوحًا في التصميم من Paxos.

خاتمة

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

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me