مرکزی مواد پر جائیں
Change page

تصدیقات

صفحہ کی آخری اپ ڈیٹ: 21 اکتوبر، 2025

ایک ویلیڈیٹر سے توقع کی جاتی ہے کہ وہ ہر epoch کے دوران ایک تصدیق (attestation) بنائے، اس پر دستخط کرے اور اسے نشر کرے۔ یہ صفحہ واضح کرتا ہے کہ یہ تصدیقات کیسی نظر آتی ہیں اور کنسینسس کلائنٹس کے درمیان ان پر کیسے کارروائی اور مواصلت کی جاتی ہے۔

تصدیق کیا ہے؟

ہر (6.4 منٹ) میں ایک ویلیڈیٹر نیٹ ورک پر ایک تصدیق تجویز کرتا ہے۔ یہ تصدیق epoch میں ایک مخصوص سلاٹ کے لیے ہوتی ہے۔ تصدیق کا مقصد چین کے بارے میں ویلیڈیٹر کے نقطہ نظر کے حق میں ووٹ دینا ہے، خاص طور پر سب سے حالیہ جسٹیفائیڈ بلاک اور موجودہ epoch کے پہلے بلاک (جنہیں source اور target چیک پوائنٹس کہا جاتا ہے) کے حق میں۔ یہ معلومات تمام حصہ لینے والے ویلیڈیٹرز کے لیے یکجا کی جاتی ہیں، جس سے نیٹ ورک کو بلاک چین کی اسٹیٹ کے بارے میں کنسینسس تک پہنچنے کے قابل بنایا جاتا ہے۔

تصدیق میں درج ذیل اجزاء شامل ہوتے ہیں:

  • aggregation_bits: ویلیڈیٹرز کی ایک بٹ لسٹ جہاں پوزیشن ان کی کمیٹی میں ویلیڈیٹر کے انڈیکس سے میپ ہوتی ہے؛ ویلیو (0/1) ظاہر کرتی ہے کہ آیا ویلیڈیٹر نے data پر دستخط کیے ہیں (یعنی، کیا وہ فعال ہیں اور بلاک پروپوزر سے متفق ہیں)
  • data: تصدیق سے متعلق تفصیلات، جیسا کہ ذیل میں بیان کیا گیا ہے
  • signature: ایک BLS دستخط جو انفرادی ویلیڈیٹرز کے دستخطوں کو جمع (aggregate) کرتا ہے

تصدیق کرنے والے ویلیڈیٹر کا پہلا کام data بنانا ہے۔ data میں درج ذیل معلومات شامل ہوتی ہیں:

  • slot: سلاٹ نمبر جس کا تصدیق حوالہ دیتی ہے
  • index: ایک نمبر جو شناخت کرتا ہے کہ ویلیڈیٹر کسی دیے گئے سلاٹ میں کس کمیٹی سے تعلق رکھتا ہے
  • beacon_block_root: اس بلاک کا روٹ ہیش جسے ویلیڈیٹر چین کے ہیڈ پر دیکھتا ہے (فورک-چوائس الگورتھم لاگو کرنے کا نتیجہ)
  • source: فائنلٹی ووٹ کا وہ حصہ جو ظاہر کرتا ہے کہ ویلیڈیٹرز سب سے حالیہ جسٹیفائیڈ بلاک کے طور پر کیا دیکھتے ہیں
  • target: فائنلٹی ووٹ کا وہ حصہ جو ظاہر کرتا ہے کہ ویلیڈیٹرز موجودہ epoch میں پہلے بلاک کے طور پر کیا دیکھتے ہیں

ایک بار جب data بن جاتا ہے، تو ویلیڈیٹر aggregation_bits میں اپنے ویلیڈیٹر انڈیکس سے متعلقہ بٹ کو 0 سے 1 میں تبدیل کر سکتا ہے تاکہ یہ ظاہر ہو سکے کہ اس نے حصہ لیا ہے۔

آخر میں، ویلیڈیٹر تصدیق پر دستخط کرتا ہے اور اسے نیٹ ورک پر نشر کرتا ہے۔

جمع شدہ تصدیق (Aggregated attestation)

ہر ویلیڈیٹر کے لیے اس ڈیٹا کو نیٹ ورک پر بھیجنے سے کافی اوور ہیڈ (overhead) وابستہ ہے۔ اس لیے، انفرادی ویلیڈیٹرز کی تصدیقات کو وسیع پیمانے پر نشر کرنے سے پہلے سب نیٹس (subnets) کے اندر جمع (aggregate) کیا جاتا ہے۔ اس میں دستخطوں کو ایک ساتھ جمع کرنا شامل ہے تاکہ جو تصدیق نشر کی جائے اس میں کنسینسس data اور ایک واحد دستخط شامل ہو جو ان تمام ویلیڈیٹرز کے دستخطوں کو ملا کر بنایا گیا ہو جو اس data سے متفق ہیں۔ اسے aggregation_bits کا استعمال کرتے ہوئے چیک کیا جا سکتا ہے کیونکہ یہ ان کی کمیٹی میں ہر ویلیڈیٹر کا انڈیکس فراہم کرتا ہے (جس کی ID data میں فراہم کی گئی ہے) جسے انفرادی دستخطوں کی کیوری (query) کرنے کے لیے استعمال کیا جا سکتا ہے۔

ہر epoch میں ہر سب نیٹ میں 16 ویلیڈیٹرز کو aggregators کے طور پر منتخب کیا جاتا ہے۔ ایگریگیٹرز وہ تمام تصدیقات جمع کرتے ہیں جو وہ گپ شپ (gossip) نیٹ ورک پر سنتے ہیں جن کا data ان کے اپنے ڈیٹا کے برابر ہوتا ہے۔ ہر مماثل تصدیق بھیجنے والے کو aggregation_bits میں ریکارڈ کیا جاتا ہے۔ اس کے بعد ایگریگیٹرز تصدیق کے مجموعے کو وسیع تر نیٹ ورک پر نشر کرتے ہیں۔

جب کسی ویلیڈیٹر کو بلاک پروپوزر کے طور پر منتخب کیا جاتا ہے تو وہ نئے بلاک میں تازہ ترین سلاٹ تک سب نیٹس سے جمع شدہ تصدیقات کو پیکج کرتے ہیں۔

تصدیق کی شمولیت کا لائف سائیکل

  1. جنریشن (Generation)
  2. پروپیگیشن (Propagation)
  3. ایگریگیشن (Aggregation)
  4. پروپیگیشن (Propagation)
  5. شمولیت (Inclusion)

تصدیق کے لائف سائیکل کا خاکہ ذیل کی اسکیمیٹک میں دیا گیا ہے:

attestation lifecycle

انعامات

ویلیڈیٹرز کو تصدیقات جمع کرانے پر انعام دیا جاتا ہے۔ تصدیق کا انعام شرکت کے فلیگز (source، target اور head)، بنیادی انعام (base reward) اور شرکت کی شرح پر منحصر ہے۔

جمع کرائی گئی تصدیق اور اس کی شمولیت میں تاخیر (inclusion delay) کی بنیاد پر، شرکت کے ہر فلیگ کی ویلیو true یا false ہو سکتی ہے۔

بہترین صورتحال اس وقت ہوتی ہے جب تینوں فلیگز true ہوں، اس صورت میں ایک ویلیڈیٹر کمائے گا (فی درست فلیگ):

reward += base reward * flag weight * flag attesting rate / 64

فلیگ کی تصدیق کی شرح (flag attesting rate) کو دیے گئے فلیگ کے لیے تمام تصدیق کرنے والے ویلیڈیٹرز کے موثر بیلنس (effective balances) کے مجموعے کا کل فعال موثر بیلنس سے موازنہ کر کے ماپا جاتا ہے۔

بنیادی انعام (Base reward)

بنیادی انعام کا حساب تصدیق کرنے والے ویلیڈیٹرز کی تعداد اور ان کے موثر اسٹیک شدہ ایتھر (ETH) بیلنس کے مطابق کیا جاتا ہے:

base reward = validator effective balance x 2^6 / SQRT(Effective balance of all active validators)

شمولیت میں تاخیر (Inclusion delay)

جس وقت ویلیڈیٹرز نے چین کے ہیڈ (block n) پر ووٹ دیا، اس وقت block n+1 ابھی تجویز نہیں کیا گیا تھا۔ اس لیے تصدیقات قدرتی طور پر ایک بلاک بعد شامل ہو جاتی ہیں، لہذا وہ تمام تصدیقات جنہوں نے block n کے چین ہیڈ ہونے پر ووٹ دیا تھا، block n+1 میں شامل ہو گئیں اور، شمولیت میں تاخیر (inclusion delay) 1 ہے۔ اگر شمولیت میں تاخیر دگنی ہو کر دو سلاٹس ہو جائے، تو تصدیق کا انعام آدھا رہ جاتا ہے، کیونکہ تصدیق کے انعام کا حساب لگانے کے لیے بنیادی انعام کو شمولیت میں تاخیر کے متضاد (reciprocal) سے ضرب دیا جاتا ہے۔

تصدیق کے منظرنامے

غائب ووٹنگ ویلیڈیٹر

ویلیڈیٹرز کے پاس اپنی تصدیق جمع کرانے کے لیے زیادہ سے زیادہ 1 epoch ہوتا ہے۔ اگر epoch 0 میں تصدیق چھوٹ گئی تھی، تو وہ اسے epoch 1 میں شمولیت کی تاخیر کے ساتھ جمع کرا سکتے ہیں۔

غائب ایگریگیٹر

فی epoch کل 16 ایگریگیٹرز ہوتے ہیں۔ اس کے علاوہ، بے ترتیب ویلیڈیٹرز 256 epochs کے لیے دو سب نیٹس کو سبسکرائب کرتے ہیں اور ایگریگیٹرز کے غائب ہونے کی صورت میں بیک اپ کے طور پر کام کرتے ہیں۔

غائب بلاک پروپوزر

نوٹ کریں کہ بعض صورتوں میں ایک خوش قسمت ایگریگیٹر بلاک پروپوزر بھی بن سکتا ہے۔ اگر تصدیق شامل نہیں کی گئی کیونکہ بلاک پروپوزر غائب ہو گیا ہے، تو اگلا بلاک پروپوزر جمع شدہ تصدیق کو اٹھا لے گا اور اسے اگلے بلاک میں شامل کر دے گا۔ تاہم، شمولیت میں تاخیر میں ایک کا اضافہ ہو جائے گا۔

مزید مطالعہ

کسی ایسے کمیونٹی وسیلے کے بارے میں جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحے میں ترمیم کریں اور اسے شامل کریں!

کیا یہ مضمون مددگار تھا؟