---
title: انتخاب القائد السري
description: شرح لكيفية مساعدة انتخاب القائد السري في حماية المدققين من الهجمات
lang: ar
template: roadmap
summaryPoints:
  - يمكن معرفة عنوان ⁦IP⁩ لمقترحي الكتل مسبقًا، مما يجعلهم عرضة للهجمات
  - يخفي انتخاب القائد السري هوية المدققين بحيث لا يمكن معرفتهم مسبقًا
  - امتداد لهذه الفكرة هو جعل اختيار المدقق عشوائيًا في كل خانة.
---

في آلية الإجماع القائمة على [إثبات الحصة (<span dir="ltr">PoS</span>)](/developers/docs/consensus-mechanisms/pos) اليوم، تكون قائمة مقترحي الكتل القادمين علنية ومن الممكن تتبع عناوين <span dir="ltr">IP</span> الخاصة بهم. هذا يعني أنه يمكن للمهاجمين تحديد المُدَقِّقين المقرر أن يقترحوا كتلة واستهدافهم بهجوم حجب الخدمة (<span dir="ltr">DOS</span>) مما يجعلهم غير قادرين على اقتراح كتلتهم في الوقت المناسب.

قد يخلق هذا فرصًا للمهاجم لتحقيق الربح. على سبيل المثال، يمكن لمقترح الكتلة المختار للخانة `n+1` أن يشن هجوم <span dir="ltr">DOS</span> على المُقترِح في الخانة `n` بحيث يفوت فرصته في اقتراح كتلة. سيسمح هذا لمقترح الكتلة المهاجم باستخراج القيمة القابلة للاستخراج من المُعدِّن (<span dir="ltr">MEV</span>) لكلتا الخانتين، أو الاستيلاء على جميع المعاملات التي كان ينبغي تقسيمها عبر كتلتين وتضمينها جميعًا في كتلة واحدة بدلاً من ذلك، والحصول على جميع الرسوم المرتبطة بها. من المرجح أن يؤثر هذا على المُدَقِّقين المنزليين أكثر من المُدَقِّقين المؤسسيين المتمرسين الذين يمكنهم استخدام طرق أكثر تقدمًا لحماية أنفسهم من هجمات <span dir="ltr">DOS</span>، وبالتالي يمكن أن يكون قوة مركزية.

هناك عدة حلول لهذه المشكلة. أحدها هو [تقنية المدقق الموزع (<span dir="ltr">DVT</span>)](https://github.com/ethereum/distributed-validator-specs) التي تهدف إلى توزيع المهام المختلفة المتعلقة بتشغيل مُدَقِّق عبر أجهزة متعددة، مع وجود تكرار، بحيث يكون من الصعب جدًا على المهاجم منع اقتراح كتلة في خانة معينة. ومع ذلك، فإن الحل الأكثر قوة هو **انتخاب القائد السري الفردي (<span dir="ltr">SSLE</span>)**.

## انتخاب القائد السري الفردي {#secret-leader-election}

في <span dir="ltr">SSLE</span>، يُستخدم علم التشفير الذكي لضمان أن المُدَقِّق المختار فقط هو من يعرف أنه قد تم اختياره. يعمل هذا من خلال قيام كل مُدَقِّق بتقديم التزام بسر يتشاركونه جميعًا. يتم خلط الالتزامات وإعادة تكوينها بحيث لا يمكن لأحد ربط الالتزامات بالمُدَقِّقين ولكن كل مُدَقِّق يعرف أي التزام يخصه. ثم، يتم اختيار التزام واحد بشكل عشوائي. إذا اكتشف مُدَقِّق أن التزامه قد تم اختياره، فإنه يعرف أن دوره قد حان لاقتراح كتلة.

يُطلق على التنفيذ الرائد لهذه الفكرة اسم [<span dir="ltr">Whisk</span>](https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763). والذي يعمل على النحو التالي:

1. يلتزم المُدَقِّقون بسر مشترك. تم تصميم مخطط الالتزام بحيث يمكن ربطه بهوية مُدَقِّق ولكن يتم إضفاء العشوائية عليه أيضًا بحيث لا يمكن لأي طرف ثالث إجراء هندسة عكسية للربط وربط التزام معين بمُدَقِّق معين.
2. في بداية حقبة، يتم اختيار مجموعة عشوائية من المُدَقِّقين لأخذ عينات من الالتزامات من <span dir="ltr">16,384</span> مُدَقِّقًا، باستخدام <span dir="ltr">RANDAO</span>.
3. بالنسبة للـ <span dir="ltr">8182</span> خانة التالية (يوم واحد)، يقوم مقترحو الكتل بخلط وإضفاء العشوائية على مجموعة فرعية من الالتزامات باستخدام إنتروبيا خاصة بهم.
4. بعد الانتهاء من الخلط، يتم استخدام <span dir="ltr">RANDAO</span> لإنشاء قائمة مرتبة من الالتزامات. يتم تعيين هذه القائمة على خانات إيثيريوم.
5. يرى المُدَقِّقون أن التزامهم مرتبط بخانة معينة، وعندما تصل تلك الخانة يقترحون كتلة.
6. تُكرر هذه الخطوات بحيث يكون تعيين الالتزامات للخانات دائمًا متقدمًا بكثير على الخانة الحالية.

يمنع هذا المهاجمين من معرفة المُدَقِّق المعين الذي سيقترح الكتلة التالية مسبقًا، مما يمنع القدرة على شن هجمات <span dir="ltr">DOS</span>.

## انتخاب القائد السري غير الفردي (<span dir="ltr">SnSLE</span>) {#secret-non-single-leader-election}

هناك أيضًا مقترح منفصل يهدف إلى إنشاء سيناريو يكون فيه لكل مُدَقِّق فرصة عشوائية لاقتراح كتلة في كل خانة، على غرار كيفية تحديد مقترح الكتلة في ظل إثبات العمل (<span dir="ltr">PoW</span>)، والمعروف باسم **انتخاب القائد السري غير الفردي (<span dir="ltr">SnSLE</span>)**. إحدى الطرق البسيطة للقيام بذلك هي الاستفادة من وظيفة <span dir="ltr">RANDAO</span> المستخدمة لاختيار المُدَقِّقين عشوائيًا في بروتوكول اليوم. الفكرة من <span dir="ltr">RANDAO</span> هي أنه يتم إنشاء رقم عشوائي كافٍ عن طريق خلط تجزئات مقدمة من العديد من المُدَقِّقين المستقلين. في <span dir="ltr">SnSLE</span>، يمكن استخدام هذه التجزئات لاختيار مقترح الكتلة التالي، على سبيل المثال عن طريق اختيار التجزئة ذات القيمة الأقل. يمكن تقييد نطاق التجزئات الصالحة لضبط احتمالية اختيار مُدَقِّقين أفراد في كل خانة. من خلال التأكيد على أن التجزئة يجب أن تكون أقل من `2^256 * 5 / N` حيث `N` = عدد المُدَقِّقين النشطين، فإن فرصة اختيار أي مُدَقِّق فردي في كل خانة ستكون `5/N`. في هذا المثال، ستكون هناك فرصة بنسبة <span dir="ltr">99.3%</span> لأن يقوم مُقترِح واحد على الأقل بإنشاء تجزئة صالحة في كل خانة.

## التقدم الحالي {#current-progress}

كل من <span dir="ltr">SSLE</span> و<span dir="ltr">SnSLE</span> في مرحلة البحث. لا توجد مواصفات نهائية لأي من الفكرتين حتى الآن. <span dir="ltr">SSLE</span> و<span dir="ltr">SnSLE</span> هما مقترحان متنافسان لا يمكن تنفيذهما معًا. قبل الإطلاق، يحتاجان إلى مزيد من البحث والتطوير، والنماذج الأولية، والتنفيذ على شبكات الاختبار العامة.

## قراءة إضافية {#further-reading}

- [<span dir="ltr">SnSLE</span>](https://ethresear.ch/t/secret-non-single-leader-election/11789)
