---
title: "حصہ داری کا ثبوت (⁦PoS⁩) ایتھیریم میں کلیدیں"
description: "ایتھیریم کے حصہ داری کا ثبوت (⁦PoS⁩) اتفاق رائے کے طریقہ کار میں استعمال ہونے والی کلیدوں کی وضاحت"
lang: ur
---

ایتھیریم عوامی-نجی کلید کے علمِ تشفیر کا استعمال کرتے ہوئے صارف کے اثاثوں کو محفوظ بناتا ہے۔ عوامی کلید کو ایتھیریم پتہ کی بنیاد کے طور پر استعمال کیا جاتا ہے—یعنی، یہ عام لوگوں کو نظر آتی ہے اور اسے ایک منفرد شناخت کنندہ کے طور پر استعمال کیا جاتا ہے۔ نجی (یا 'خفیہ') کلید تک رسائی صرف اکاؤنٹ کے مالک کو ہونی چاہیے۔ نجی کلید کا استعمال ٹرانزیکشنز اور ڈیٹا پر 'دستخط کرنے' کے لیے کیا جاتا ہے تاکہ علمِ تشفیر یہ ثابت کر سکے کہ حامل کسی مخصوص نجی کلید کے کسی عمل کی منظوری دیتا ہے۔

ایتھیریم کی کلیدیں [بیضوی-منحنی علمِ تشفیر (elliptic-curve cryptography)](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography) کا استعمال کرتے ہوئے تیار کی جاتی ہیں۔

تاہم، جب ایتھیریم [ثبوتِ کار (PoW)](/developers/docs/consensus-mechanisms/pow) سے [حصہ داری کا ثبوت (PoS)](/developers/docs/consensus-mechanisms/pos) پر منتقل ہوا تو ایتھیریم میں ایک نئی قسم کی کلید شامل کی گئی۔ اصل کلیدیں اب بھی بالکل پہلے کی طرح کام کرتی ہیں—اکاؤنٹس کو محفوظ بنانے والی بیضوی-منحنی پر مبنی کلیدوں میں کوئی تبدیلی نہیں کی گئی۔ تاہم، صارفین کو <span dir="ltr">ETH</span> اسٹیک کر کے اور توثیق کاروں کو چلا کر حصہ داری کا ثبوت (PoS) میں حصہ لینے کے لیے ایک نئی قسم کی کلید کی ضرورت تھی۔ یہ ضرورت بڑی تعداد میں توثیق کاروں کے درمیان گزرنے والے بہت سے پیغامات سے وابستہ اسکیل ایبلٹی چیلنجز سے پیدا ہوئی جس کے لیے ایک ایسے تشفیری طریقہ کار کی ضرورت تھی جسے آسانی سے جمع کیا جا سکے تاکہ نیٹ ورک کو اتفاق رائے پر پہنچنے کے لیے درکار مواصلات کی مقدار کو کم کیا جا سکے۔

یہ نئی قسم کی کلید [**<span dir="ltr">Boneh-Lynn-Shacham (BLS)</span>** دستخطی اسکیم](https://wikipedia.org/wiki/BLS_digital_signature) کا استعمال کرتی ہے۔ <span dir="ltr">BLS</span> دستخطوں کو انتہائی موثر انداز میں جمع کرنے کے قابل بناتا ہے لیکن یہ جمع شدہ انفرادی توثیق کار کلیدوں کی ریورس انجینئرنگ کی بھی اجازت دیتا ہے اور توثیق کاروں کے درمیان کارروائیوں کو منظم کرنے کے لیے مثالی ہے۔

## توثیق کار کلیدوں کی دو اقسام {#two-types-of-keys}

حصہ داری کا ثبوت (PoS) پر منتقل ہونے سے پہلے، ایتھیریم صارفین کے پاس اپنے فنڈز تک رسائی کے لیے صرف ایک بیضوی-منحنی پر مبنی نجی کلید تھی۔ حصہ داری کا ثبوت (PoS) کے متعارف ہونے کے ساتھ، جو صارفین سولو اسٹیکرز بننا چاہتے تھے انہیں ایک **توثیق کار کلید** اور ایک **انخلا کی کلید** کی بھی ضرورت تھی۔

### توثیق کار کلید {#validator-key}

توثیق کار کی دستخط کرنے والی کلید دو عناصر پر مشتمل ہوتی ہے:

- توثیق کار کی **نجی** کلید
- توثیق کار کی **عوامی** کلید

توثیق کار کی نجی کلید کا مقصد آن چین کارروائیوں جیسے بلاک کی تجاویز اور تصدیقات پر دستخط کرنا ہے۔ اس وجہ سے، ان کلیدوں کو ہاٹ والیٹ میں رکھا جانا چاہیے۔

اس لچک کا فائدہ یہ ہے کہ توثیق کار کی دستخط کرنے والی کلیدوں کو ایک ڈیوائس سے دوسری ڈیوائس میں بہت تیزی سے منتقل کیا جا سکتا ہے، تاہم، اگر وہ کھو جائیں یا چوری ہو جائیں، تو چور چند طریقوں سے **بدنیتی پر مبنی کارروائی** کر سکتا ہے:

- توثیق کار کی کٹوتی کروا سکتا ہے:
  - تجویز کنندہ بن کر اور ایک ہی سلاٹ کے لیے دو مختلف بیکن بلاکس پر دستخط کر کے
  - تصدیق کنندہ بن کر اور ایک ایسی تصدیق پر دستخط کر کے جو دوسری کو "گھیرتی" ہو
  - تصدیق کنندہ بن کر اور ایک ہی ہدف رکھنے والی دو مختلف تصدیقات پر دستخط کر کے
- زبردستی رضاکارانہ خروج کروا سکتا ہے، جو توثیق کار کو اسٹیکنگ سے روکتا ہے، اور انخلا کی کلید کے مالک کو اس کے <span dir="ltr">ETH</span> بیلنس تک رسائی فراہم کرتا ہے

جب کوئی صارف اسٹیکنگ ڈپازٹ کنٹریکٹ میں <span dir="ltr">ETH</span> جمع کرتا ہے تو **توثیق کار کی عوامی کلید** ٹرانزیکشن ڈیٹا میں شامل ہوتی ہے۔ اسے _ڈپازٹ ڈیٹا_ کے نام سے جانا جاتا ہے اور یہ ایتھیریم کو توثیق کار کی شناخت کرنے کی اجازت دیتا ہے۔

### انخلا کی اسناد {#withdrawal-credentials}

ہر توثیق کار کی ایک خصوصیت ہوتی ہے جسے _انخلا کی اسناد_ کہا جاتا ہے۔ اس <span dir="ltr">32-byte</span> فیلڈ کا پہلا بائٹ اکاؤنٹ کی قسم کی شناخت کرتا ہے: `0x00` اصل <span dir="ltr">BLS</span> (شپیلا سے پہلے، ناقابل انخلا) اسناد کی نمائندگی کرتا ہے، `0x01` پرانی اسناد کی نمائندگی کرتا ہے جو عمل درآمد کے پتہ کی طرف اشارہ کرتی ہیں، اور `0x02` جدید کمپاؤنڈنگ اسناد کی قسم کی نمائندگی کرتا ہے۔

`0x00` <span dir="ltr">BLS</span> کلیدوں والے توثیق کاروں کو اضافی بیلنس کی ادائیگیوں یا اسٹیکنگ سے مکمل انخلا کو فعال کرنے کے لیے ان اسناد کو اپ ڈیٹ کرنا چاہیے تاکہ وہ عمل درآمد کے پتہ کی طرف اشارہ کریں۔ یہ ابتدائی کلید کی تیاری کے دوران ڈپازٹ ڈیٹا میں عمل درآمد کا پتہ فراہم کر کے، _یا_ بعد میں `BLSToExecutionChange` پیغام پر دستخط کرنے اور نشر کرنے کے لیے انخلا کی کلید کا استعمال کر کے کیا جا سکتا ہے۔

[توثیق کار کی انخلا کی اسناد کے بارے میں مزید](/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/)

### انخلا کی کلید {#withdrawal-key}

اگر ابتدائی ڈپازٹ کے دوران سیٹ نہیں کیا گیا ہے، تو انخلا کی اسناد کو اپ ڈیٹ کرنے کے لیے انخلا کی کلید درکار ہوگی تاکہ وہ عمل درآمد کے پتہ کی طرف اشارہ کریں۔ یہ اضافی بیلنس کی ادائیگیوں پر کارروائی شروع کرنے کے قابل بنائے گا، اور صارفین کو اپنے اسٹیک کیے گئے <span dir="ltr">ETH</span> کو مکمل طور پر نکالنے کی بھی اجازت دے گا۔

توثیق کار کلیدوں کی طرح، انخلا کی کلیدیں بھی دو اجزاء پر مشتمل ہوتی ہیں:

- انخلا کی **نجی** کلید
- انخلا کی **عوامی** کلید

انخلا کی اسناد کو `0x01` قسم میں اپ ڈیٹ کرنے سے پہلے اس کلید کو کھونے کا مطلب توثیق کار کے بیلنس تک رسائی کھونا ہے۔ توثیق کار اب بھی تصدیقات اور بلاکس پر دستخط کر سکتا ہے کیونکہ ان کارروائیوں کے لیے توثیق کار کی نجی کلید کی ضرورت ہوتی ہے، تاہم اگر انخلا کی کلیدیں کھو جائیں تو اس کی ترغیب نہ ہونے کے برابر ہے۔

توثیق کار کلیدوں کو ایتھیریم اکاؤنٹ کی کلیدوں سے الگ کرنے سے ایک ہی صارف کو متعدد توثیق کار چلانے کی سہولت ملتی ہے۔

![validator key schematic](validator-key-schematic.png)

**نوٹ**: اسٹیکنگ کے فرائض سے خروج اور توثیق کار کا بیلنس نکالنے کے لیے فی الحال توثیق کار کلید کے ساتھ [رضاکارانہ خروج کے پیغام (VEM)](https://mirror.xyz/ladislaus.eth/wmoBbUBes2Wp1_6DvP6slPabkyujSU7MZOFOC3QpErs&1) پر دستخط کرنے کی ضرورت ہے۔ تاہم، [<span dir="ltr">EIP-7002</span>](https://eips.ethereum.org/EIPS/eip-7002) ایک تجویز ہے جو مستقبل میں صارف کو انخلا کی کلید کے ساتھ خروج کے پیغامات پر دستخط کر کے توثیق کار کے خروج کو متحرک کرنے اور اس کا بیلنس نکالنے کی اجازت دے گی۔ یہ ان اسٹیکرز کو جو <span dir="ltr">ETH</span> کو [اسٹیکنگ-بطور-سروس فراہم کنندگان](/staking/saas/#what-is-staking-as-a-service) کو تفویض کرتے ہیں، اپنے فنڈز کے کنٹرول میں رہنے کے قابل بنا کر اعتماد کے مفروضے کو کم کرے گا۔

## سیڈ فریز سے کلیدیں اخذ کرنا {#deriving-keys-from-seed}

اگر اسٹیک کیے گئے ہر <span dir="ltr">32 ETH</span> کے لیے 2 مکمل طور پر آزاد کلیدوں کے ایک نئے سیٹ کی ضرورت ہوتی، تو کلید کا انتظام تیزی سے بوجھل ہو جاتا، خاص طور پر متعدد توثیق کار چلانے والے صارفین کے لیے۔ اس کے بجائے، ایک ہی مشترکہ راز سے متعدد توثیق کار کلیدیں اخذ کی جا سکتی ہیں اور اس ایک راز کو محفوظ کرنے سے متعدد توثیق کار کلیدوں تک رسائی حاصل ہوتی ہے۔

[نیمونکس (Mnemonics)](https://en.bitcoinwiki.org/wiki/Mnemonic_phrase) اور راستے نمایاں خصوصیات ہیں جن کا صارفین اکثر سامنا کرتے ہیں جب [وہ اپنے والیٹس تک رسائی حاصل کرتے ہیں](https://ethereum.stackexchange.com/questions/19055/what-is-the-difference-between-m-44-60-0-0-and-m-44-60-0)۔ نیمونک الفاظ کی ایک ترتیب ہے جو نجی کلید کے لیے ابتدائی سیڈ کے طور پر کام کرتی ہے۔ جب اضافی ڈیٹا کے ساتھ ملایا جاتا ہے، تو نیمونک ایک ہیش تیار کرتا ہے جسے 'ماسٹر کلید' کہا جاتا ہے۔ اسے ایک درخت کی جڑ کے طور پر سوچا جا سکتا ہے۔ اس جڑ سے شاخیں پھر ایک درجہ بندی کے راستے کا استعمال کرتے ہوئے اخذ کی جا سکتی ہیں تاکہ چائلڈ نوڈز اپنے پیرنٹ نوڈ کے ہیش اور درخت میں ان کے اشاریہ کے مجموعے کے طور پر موجود ہو سکیں۔ نیمونک پر مبنی کلید کی تیاری کے لیے [<span dir="ltr">BIP-32</span>](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) اور [<span dir="ltr">BIP-19</span>](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) معیارات کے بارے میں پڑھیں۔

ان راستوں کی ساخت درج ذیل ہے، جو ان صارفین کے لیے جانی پہچانی ہوگی جنہوں نے ہارڈویئر والیٹس کے ساتھ تعامل کیا ہے:

```
m/44'/60'/0'/0`
```

اس راستے میں سلیش نجی کلید کے اجزاء کو اس طرح الگ کرتے ہیں:

```
master_key / purpose / coin_type / account / change / address_index
```

یہ منطق صارفین کو ایک ہی **نیمونک فریز** کے ساتھ زیادہ سے زیادہ توثیق کار منسلک کرنے کے قابل بناتی ہے کیونکہ درخت کی جڑ مشترک ہو سکتی ہے، اور شاخوں پر تفریق ہو سکتی ہے۔ صارف نیمونک فریز سے **کسی بھی تعداد میں کلیدیں اخذ کر سکتا ہے**۔

```
[m / 0]
     /
    /
[m] - [m / 1]
    \
     \
      [m / 2]
```

ہر شاخ کو `/` سے الگ کیا جاتا ہے لہذا `m/2` کا مطلب ہے ماسٹر کلید سے شروع کریں اور شاخ 2 کی پیروی کریں۔ ذیل کی خاکہ کشی میں ایک ہی نیمونک فریز کا استعمال تین انخلا کی کلیدوں کو ذخیرہ کرنے کے لیے کیا گیا ہے، جن میں سے ہر ایک کے ساتھ دو توثیق کار وابستہ ہیں۔

![validator key logic](multiple-keys.png)

## مزید مطالعہ {#further-reading}

- [کارل بیکھوزین (Carl Beekhuizen) کی جانب سے ایتھیریم فاؤنڈیشن کی بلاگ پوسٹ](https://blog.ethereum.org/2020/05/21/keys)
- [<span dir="ltr">EIP-2333</span> <span dir="ltr">BLS12-381</span> کلید کی تیاری](https://eips.ethereum.org/EIPS/eip-2333)
- [<span dir="ltr">EIP-7002</span>: عمل درآمد کی تہہ سے متحرک خروج](https://web.archive.org/web/20250125035123/https://research.2077.xyz/eip-7002-unpacking-improvements-to-staking-ux-post-merge)
- [بڑے پیمانے پر کلید کا انتظام](https://docs.ethstaker.cc/ethstaker-knowledge-base/scaled-node-operators/key-management-at-scale)