---
title: خفیہ لیڈر کا انتخاب
description: اس بات کی وضاحت کہ خفیہ لیڈر کا انتخاب توثیق کاروں کو حملوں سے بچانے میں کس طرح مدد کر سکتا ہے
lang: ur
template: roadmap
summaryPoints:
  - بلاک تجویز کنندگان کا ⁦IP⁩ ایڈریس پہلے سے معلوم کیا جا سکتا ہے، جس سے وہ حملوں کا شکار ہو سکتے ہیں
  - خفیہ لیڈر کا انتخاب توثیق کاروں کی شناخت کو چھپاتا ہے تاکہ انہیں پہلے سے نہ جانا جا سکے
  - اس خیال کی ایک توسیع یہ ہے کہ ہر سلاٹ میں توثیق کار کا انتخاب بے ترتیب بنایا جائے۔
---

آج کے [حصہ داری کا ثبوت (PoS)](/developers/docs/consensus-mechanisms/pos) پر مبنی اتفاق رائے کے طریقہ کار میں، آنے والے بلاک تجویز کنندگان کی فہرست عوامی ہوتی ہے اور ان کے <span dir="ltr">IP</span> ایڈریسز کا پتہ لگانا ممکن ہے۔ اس کا مطلب یہ ہے کہ حملہ آور یہ شناخت کر سکتے ہیں کہ کن توثیق کاروں کو بلاک تجویز کرنا ہے اور انہیں <span dir="ltr">denial-of-service (DOS)</span> حملے کا نشانہ بنا سکتے ہیں جس سے وہ وقت پر اپنا بلاک تجویز کرنے سے قاصر رہ جاتے ہیں۔

یہ حملہ آور کے لیے منافع کمانے کے مواقع پیدا کر سکتا ہے۔ مثال کے طور پر سلاٹ `n+1` کے لیے منتخب کردہ بلاک تجویز کنندہ سلاٹ `n` میں تجویز کنندہ پر <span dir="ltr">DOS</span> حملہ کر سکتا ہے تاکہ وہ بلاک تجویز کرنے کا اپنا موقع گنوا دیں۔ اس سے حملہ آور بلاک تجویز کنندہ کو دونوں سلاٹس کا <span dir="ltr">MEV</span> نکالنے، یا ان تمام ٹرانزیکشنز کو حاصل کرنے کی اجازت مل جائے گی جنہیں دو بلاکس میں تقسیم کیا جانا چاہیے تھا اور اس کے بجائے ان سب کو ایک میں شامل کر کے تمام متعلقہ فیسیں حاصل کر لے گا۔ اس سے گھریلو توثیق کاروں کے ان جدید ادارہ جاتی توثیق کاروں کے مقابلے میں زیادہ متاثر ہونے کا امکان ہے جو خود کو <span dir="ltr">DOS</span> حملوں سے بچانے کے لیے زیادہ جدید طریقے استعمال کر سکتے ہیں، اور اس لیے یہ ایک مرکزیت پیدا کرنے والی قوت بن سکتا ہے۔

اس مسئلے کے کئی حل موجود ہیں۔ ایک [تقسیم شدہ توثیق کار ٹیکنالوجی (ڈی وی ٹی)](https://github.com/ethereum/distributed-validator-specs) ہے جس کا مقصد توثیق کار کو چلانے سے متعلق مختلف کاموں کو متعدد مشینوں پر فالتو پن (redundancy) کے ساتھ پھیلانا ہے، تاکہ حملہ آور کے لیے کسی خاص سلاٹ میں بلاک کو تجویز ہونے سے روکنا بہت مشکل ہو جائے۔ تاہم، سب سے مضبوط حل **<span dir="ltr">Single Secret Leader Election (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">RANDAO</span> کا استعمال کرتے ہوئے، <span dir="ltr">16,384</span> توثیق کاروں سے کمٹمنٹس کا نمونہ لینے کے لیے توثیق کاروں کا ایک بے ترتیب سیٹ منتخب کیا جاتا ہے۔
3. اگلے <span dir="ltr">8182</span> سلاٹس (<span dir="ltr">1</span> دن) کے لیے، بلاک تجویز کنندگان اپنی نجی اینٹروپی کا استعمال کرتے ہوئے کمٹمنٹس کے ایک ذیلی سیٹ کو شفل اور بے ترتیب بناتے ہیں۔
4. شفلنگ مکمل ہونے کے بعد، کمٹمنٹس کی ایک ترتیب وار فہرست بنانے کے لیے <span dir="ltr">RANDAO</span> کا استعمال کیا جاتا ہے۔ اس فہرست کو ایتھیریم سلاٹس پر نقشہ کیا جاتا ہے۔
5. توثیق کار دیکھتے ہیں کہ ان کی کمٹمنٹ ایک مخصوص سلاٹ کے ساتھ منسلک ہے، اور جب وہ سلاٹ آتا ہے تو وہ ایک بلاک تجویز کرتے ہیں۔
6. ان اقدامات کو دہرائیں تاکہ سلاٹس کے لیے کمٹمنٹس کی تفویض ہمیشہ موجودہ سلاٹ سے بہت آگے ہو۔

یہ حملہ آوروں کو پہلے سے یہ جاننے سے روکتا ہے کہ کون سا مخصوص توثیق کار اگلا بلاک تجویز کرے گا، جس سے <span dir="ltr">DOS</span> حملوں کی صلاحیت کو روکا جا سکتا ہے۔

## خفیہ غیر واحد لیڈر کا انتخاب <span dir="ltr">(SnSLE)</span> {#secret-non-single-leader-election}

ایک الگ تجویز بھی ہے جس کا مقصد ایک ایسا منظر نامہ بنانا ہے جہاں ہر توثیق کار کے پاس ہر سلاٹ میں بلاک تجویز کرنے کا بے ترتیب موقع ہو، بالکل اسی طرح جیسے ثبوتِ کار (PoW) کے تحت بلاک کی تجویز کا فیصلہ کیا گیا تھا، جسے **خفیہ غیر واحد لیڈر کا انتخاب <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> دونوں تحقیق کے مرحلے میں ہیں۔ ابھی تک کسی بھی خیال کے لیے کوئی حتمی تصریح (specification) نہیں ہے۔ <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)
