پروف-آف-سٹیک (proof-of-stake) ایتھیریم میں کیز (Keys)
صفحہ کی آخری اپ ڈیٹ: 25 فروری، 2026
ایتھیریم پبلک-پرائیویٹ کی (public-private key) کرپٹوگرافی کا استعمال کرتے ہوئے صارفین کے اثاثوں کو محفوظ بناتا ہے۔ پبلک کی (public key) کو ایتھیریم ایڈریس کی بنیاد کے طور پر استعمال کیا جاتا ہے—یعنی، یہ عام لوگوں کو نظر آتی ہے اور اسے ایک منفرد شناخت کنندہ کے طور پر استعمال کیا جاتا ہے۔ پرائیویٹ (یا 'خفیہ') کی (private key) تک رسائی صرف اکاؤنٹ کے مالک کو ہونی چاہیے۔ پرائیویٹ کی کا استعمال ٹرانزیکشنز اور ڈیٹا کو 'سائن' (sign) کرنے کے لیے کیا جاتا ہے تاکہ کرپٹوگرافی یہ ثابت کر سکے کہ ہولڈر کسی مخصوص پرائیویٹ کی کے کسی عمل کی منظوری دیتا ہے۔
ایتھیریم کی کیز (keys) ایلپٹک-کرو کرپٹوگرافی (elliptic-curve cryptography) (opens in a new tab) کا استعمال کرتے ہوئے تیار کی جاتی ہیں۔
تاہم، جب ایتھیریم پروف-آف-ورک (proof-of-work) سے پروف-آف-سٹیک (proof-of-stake) پر منتقل ہوا تو ایتھیریم میں ایک نئی قسم کی کی (key) شامل کی گئی۔ اصل کیز اب بھی بالکل پہلے کی طرح کام کرتی ہیں—اکاؤنٹس کو محفوظ بنانے والی ایلپٹک-کرو (elliptic-curve) پر مبنی کیز میں کوئی تبدیلی نہیں کی گئی۔ تاہم، صارفین کو ETH سٹیک کر کے اور ویلیڈیٹرز (validators) چلا کر پروف-آف-سٹیک میں حصہ لینے کے لیے ایک نئی قسم کی کی (key) کی ضرورت تھی۔ یہ ضرورت بڑی تعداد میں ویلیڈیٹرز کے درمیان پیغامات کے تبادلے سے وابستہ سکیل ایبلٹی (scalability) کے چیلنجز کی وجہ سے پیدا ہوئی، جس کے لیے ایک ایسے کرپٹوگرافک طریقہ کار کی ضرورت تھی جسے آسانی سے اکٹھا (aggregate) کیا جا سکے تاکہ نیٹ ورک کو کنسینسس (consensus) تک پہنچنے کے لیے درکار کمیونیکیشن کی مقدار کو کم کیا جا سکے۔
یہ نئی قسم کی کی (key) Boneh-Lynn-Shacham (BLS) سگنیچر سکیم (opens in a new tab) کا استعمال کرتی ہے۔ BLS سگنیچرز کو بہت موثر طریقے سے اکٹھا کرنے کے قابل بناتا ہے لیکن یہ اکٹھی کی گئی انفرادی ویلیڈیٹر کیز کی ریورس انجینئرنگ کی بھی اجازت دیتا ہے اور ویلیڈیٹرز کے درمیان افعال کو منظم کرنے کے لیے مثالی ہے۔
ویلیڈیٹر کیز کی دو اقسام
پروف-آف-سٹیک پر منتقل ہونے سے پہلے، ایتھیریم صارفین کے پاس اپنے فنڈز تک رسائی کے لیے صرف ایک ایلپٹک-کرو پر مبنی پرائیویٹ کی (private key) ہوتی تھی۔ پروف-آف-سٹیک کے متعارف ہونے کے بعد، جو صارفین سولو سٹیکرز (solo stakers) بننا چاہتے تھے انہیں ایک ویلیڈیٹر کی (validator key) اور ایک ودڈراول کی (withdrawal key) کی بھی ضرورت تھی۔
ویلیڈیٹر کی (validator key)
ویلیڈیٹر سائننگ کی (validator signing key) دو عناصر پر مشتمل ہوتی ہے:
- ویلیڈیٹر پرائیویٹ (private) کی
- ویلیڈیٹر پبلک (public) کی
ویلیڈیٹر پرائیویٹ کی کا مقصد آن چین (onchain) آپریشنز جیسے کہ بلاک پروپوزلز (block proposals) اور اٹیسٹیشنز (attestations) کو سائن کرنا ہے۔ اس وجہ سے، ان کیز کو ہاٹ والیٹ (hot wallet) میں رکھا جانا چاہیے۔
اس لچک کا فائدہ یہ ہے کہ ویلیڈیٹر سائننگ کیز کو ایک ڈیوائس سے دوسری ڈیوائس میں بہت تیزی سے منتقل کیا جا سکتا ہے، تاہم، اگر وہ کھو جائیں یا چوری ہو جائیں، تو چور چند طریقوں سے نقصان دہ کارروائی کر سکتا ہے:
- ویلیڈیٹر کو سلیش (slash) کروا سکتا ہے:
- پروپوزر (proposer) بن کر اور ایک ہی سلاٹ کے لیے دو مختلف بیکن بلاکس (beacon blocks) کو سائن کر کے
- اٹیسٹر (attester) بن کر اور ایک ایسی اٹیسٹیشن کو سائن کر کے جو کسی دوسری کو "گھیرتی" (surrounds) ہو
- اٹیسٹر بن کر اور ایک ہی ہدف (target) رکھنے والی دو مختلف اٹیسٹیشنز کو سائن کر کے
- رضاکارانہ اخراج (voluntary exit) پر مجبور کر سکتا ہے، جو ویلیڈیٹر کو سٹیکنگ سے روکتا ہے، اور اس کے ETH بیلنس تک رسائی ودڈراول کی (withdrawal key) کے مالک کو دے دیتا ہے
جب کوئی صارف سٹیکنگ ڈپازٹ کنٹریکٹ میں ETH جمع کرواتا ہے تو ٹرانزیکشن ڈیٹا میں ویلیڈیٹر پبلک کی (validator public key) شامل ہوتی ہے۔ اسے ڈپازٹ ڈیٹا (deposit data) کہا جاتا ہے اور یہ ایتھیریم کو ویلیڈیٹر کی شناخت کرنے کی اجازت دیتا ہے۔
ودڈراول کریڈینشلز (Withdrawal credentials)
ہر ویلیڈیٹر کی ایک پراپرٹی ہوتی ہے جسے ودڈراول کریڈینشلز (withdrawal credentials) کہا جاتا ہے۔ اس 32-بائٹ فیلڈ کا پہلا بائٹ اکاؤنٹ کی قسم کی شناخت کرتا ہے: 0x00 اصل BLS (شپیلا سے پہلے، ناقابل واپسی) کریڈینشلز کی نمائندگی کرتا ہے، 0x01 لیگیسی (legacy) کریڈینشلز کی نمائندگی کرتا ہے جو ایک ایگزیکیوشن ایڈریس (execution address) کی طرف اشارہ کرتے ہیں، اور 0x02 جدید کمپاؤنڈنگ (compounding) کریڈینشل کی قسم کی نمائندگی کرتا ہے۔
0x00 BLS کیز والے ویلیڈیٹرز کو اضافی بیلنس کی ادائیگیوں یا سٹیکنگ سے مکمل انخلا (withdrawal) کو فعال کرنے کے لیے ان کریڈینشلز کو اپ ڈیٹ کرنا چاہیے تاکہ وہ ایک ایگزیکیوشن ایڈریس کی طرف اشارہ کریں۔ یہ ابتدائی کی (key) بنانے کے دوران ڈپازٹ ڈیٹا میں ایک ایگزیکیوشن ایڈریس فراہم کر کے، یا بعد میں BLSToExecutionChange پیغام کو سائن کرنے اور نشر (broadcast) کرنے کے لیے ودڈراول کی (withdrawal key) کا استعمال کر کے کیا جا سکتا ہے۔
ویلیڈیٹر ودڈراول کریڈینشلز کے بارے میں مزید
ودڈراول کی (withdrawal key)
اگر ابتدائی ڈپازٹ کے دوران سیٹ نہیں کیا گیا ہے، تو ودڈراول کریڈینشلز کو اپ ڈیٹ کرنے کے لیے ودڈراول کی (withdrawal key) کی ضرورت ہوگی تاکہ وہ ایک ایگزیکیوشن ایڈریس کی طرف اشارہ کریں۔ اس سے اضافی بیلنس کی ادائیگیوں پر کارروائی شروع ہو سکے گی، اور صارفین کو اپنے سٹیک کیے گئے ETH کو مکمل طور پر نکالنے کی بھی اجازت ملے گی۔
ویلیڈیٹر کیز کی طرح، ودڈراول کیز بھی دو اجزاء پر مشتمل ہوتی ہیں:
- ودڈراول پرائیویٹ (private) کی
- ودڈراول پبلک (public) کی
ودڈراول کریڈینشلز کو 0x01 قسم میں اپ ڈیٹ کرنے سے پہلے اس کی (key) کو کھونے کا مطلب ویلیڈیٹر بیلنس تک رسائی کھونا ہے۔ ویلیڈیٹر اب بھی اٹیسٹیشنز اور بلاکس کو سائن کر سکتا ہے کیونکہ ان افعال کے لیے ویلیڈیٹر کی پرائیویٹ کی (private key) کی ضرورت ہوتی ہے، تاہم اگر ودڈراول کیز کھو جائیں تو اس کا کوئی خاص فائدہ نہیں ہوتا۔
ویلیڈیٹر کیز کو ایتھیریم اکاؤنٹ کیز سے الگ کرنے سے ایک ہی صارف کو متعدد ویلیڈیٹرز چلانے کی سہولت ملتی ہے۔
نوٹ: سٹیکنگ کی ذمہ داریوں سے نکلنے اور ویلیڈیٹر کا بیلنس نکالنے کے لیے فی الحال ویلیڈیٹر کی (key) کے ساتھ ایک رضاکارانہ اخراج کا پیغام (VEM) (opens in a new tab) سائن کرنے کی ضرورت ہوتی ہے۔ تاہم، EIP-7002 (opens in a new tab) ایک ایسی تجویز ہے جو مستقبل میں صارف کو ودڈراول کی (withdrawal key) کے ساتھ اخراج کے پیغامات کو سائن کر کے ویلیڈیٹر کے اخراج کو متحرک کرنے اور اس کا بیلنس نکالنے کی اجازت دے گی۔ یہ ان سٹیکرز کو جو سٹیکنگ-ایز-اے-سروس (staking-as-a-service) فراہم کنندگان کو ETH تفویض (delegate) کرتے ہیں، اپنے فنڈز کے کنٹرول میں رہنے کے قابل بنا کر اعتماد کے مفروضوں (trust assumptions) کو کم کرے گا۔
سیڈ فریز (seed phrase) سے کیز (keys) اخذ کرنا
اگر سٹیک کیے گئے ہر 32 ETH کے لیے 2 مکمل طور پر آزاد کیز کے ایک نئے سیٹ کی ضرورت ہوتی، تو کی مینجمنٹ (key management) تیزی سے مشکل ہو جاتی، خاص طور پر ان صارفین کے لیے جو متعدد ویلیڈیٹرز چلا رہے ہیں۔ اس کے بجائے، ایک ہی مشترکہ راز (secret) سے متعدد ویلیڈیٹر کیز اخذ کی جا سکتی ہیں اور اس ایک راز کو محفوظ کرنے سے متعدد ویلیڈیٹر کیز تک رسائی حاصل ہوتی ہے۔
نیمونکس (Mnemonics) (opens in a new tab) اور پاتھس (paths) نمایاں خصوصیات ہیں جن کا سامنا صارفین اکثر اس وقت کرتے ہیں جب وہ اپنے والیٹس تک رسائی حاصل کرتے ہیں (opens in a new tab)۔ نیمونک الفاظ کی ایک ترتیب ہے جو پرائیویٹ کی (private key) کے لیے ابتدائی سیڈ (seed) کے طور پر کام کرتی ہے۔ جب اضافی ڈیٹا کے ساتھ ملایا جاتا ہے، تو نیمونک ایک ہیش (hash) تیار کرتا ہے جسے 'ماسٹر کی (master key)' کہا جاتا ہے۔ اسے ایک درخت کی جڑ (root) کے طور پر سمجھا جا سکتا ہے۔ اس جڑ سے شاخیں پھر ایک درجہ بندی والے پاتھ (hierarchical path) کا استعمال کرتے ہوئے اخذ کی جا سکتی ہیں تاکہ چائلڈ نوڈس (child nodes) اپنے پیرنٹ نوڈ (parent node) کے ہیش اور درخت میں ان کے انڈیکس (index) کے مجموعے کے طور پر موجود ہو سکیں۔ نیمونک پر مبنی کی (key) بنانے کے لیے BIP-32 (opens in a new tab) اور BIP-19 (opens in a new tab) معیارات کے بارے میں پڑھیں۔
ان پاتھس (paths) کی ساخت درج ذیل ہے، جو ان صارفین کے لیے جانی پہچانی ہوگی جنہوں نے ہارڈویئر والیٹس کے ساتھ تعامل کیا ہے:
1m/44'/60'/0'/0`اس پاتھ میں سلیشز (slashes) پرائیویٹ کی (private key) کے اجزاء کو اس طرح الگ کرتی ہیں:
1master_key / purpose / coin_type / account / change / address_indexیہ منطق صارفین کو ایک ہی نیمونک فریز (mnemonic phrase) کے ساتھ زیادہ سے زیادہ ویلیڈیٹرز منسلک کرنے کے قابل بناتی ہے کیونکہ درخت کی جڑ (root) مشترک ہو سکتی ہے، اور فرق شاخوں پر ہو سکتا ہے۔ صارف نیمونک فریز سے کسی بھی تعداد میں کیز (keys) اخذ کر سکتا ہے۔
1 [m / 0]2 /3 /4[m] - [m / 1]5 \6 \7 [m / 2]ہر شاخ کو / سے الگ کیا جاتا ہے لہذا m/2 کا مطلب ہے ماسٹر کی (master key) سے شروع کریں اور شاخ 2 کی پیروی کریں۔ ذیل کی خاکہ کشی (schematic) میں ایک ہی نیمونک فریز کا استعمال تین ودڈراول کیز کو محفوظ کرنے کے لیے کیا گیا ہے، جن میں سے ہر ایک کے ساتھ دو ویلیڈیٹرز منسلک ہیں۔
مزید مطالعہ
- کارل بیکھوئزن (Carl Beekhuizen) کی ایتھیریم فاؤنڈیشن بلاگ پوسٹ (opens in a new tab)
- EIP-2333 BLS12-381 کی (key) جنریشن (opens in a new tab)
- EIP-7002: ایگزیکیوشن لیئر ٹرگرڈ ایگزٹس (Execution Layer Triggered Exits) (opens in a new tab)
- بڑے پیمانے پر کی مینجمنٹ (Key management at scale) (opens in a new tab)

