PeerDAS
Ethereum پروٹوکول EIP-4844 کے ساتھ بلاب (blob) ٹرانزیکشنز کے تعارف کے بعد سے اپنی سب سے اہم اسکیلنگ اپ گریڈ سے گزر رہا ہے۔ Fusaka اپ گریڈ کے حصے کے طور پر، PeerDAS بلاب ڈیٹا کو سنبھالنے کا ایک نیا طریقہ متعارف کراتا ہے، جو L2s کے لیے ڈیٹا کی دستیابی (DA) کی گنجائش میں تقریباً دس گنا (order-of-magnitude) اضافہ فراہم کرتا ہے۔
بلاب اسکیلنگ روڈ میپ پر مزید (opens in a new tab)
اسکیل ایبلٹی (Scalability)
ایتھریم کا وژن دنیا میں ہر ایک کے لیے دستیاب ایک غیر جانبدار، محفوظ اور ڈی سینٹرلائزڈ پلیٹ فارم بننا ہے۔ جیسے جیسے نیٹ ورک کا استعمال بڑھتا ہے، اس کے لیے نیٹ ورک کے اسکیل، سیکیورٹی، اور ڈی سینٹرلائزیشن کے ٹرائیلیما (trilemma) میں توازن پیدا کرنے کی ضرورت ہوتی ہے۔ اگر ایتھریم اپنے موجودہ ڈیزائن کے اندر نیٹ ورک کے ذریعے ہینڈل کیے جانے والے ڈیٹا میں محض اضافہ کر دے، تو اس سے ان نوڈز پر بوجھ پڑنے کا خطرہ پیدا ہو جائے گا جن پر ایتھریم اپنی ڈی سینٹرلائزیشن کے لیے انحصار کرتا ہے۔ اسکیل ایبلٹی کے لیے ایک سخت میکانزم ڈیزائن کی ضرورت ہوتی ہے جو سمجھوتوں (trade-offs) کو کم سے کم کرے۔
اس ہدف کو حاصل کرنے کی حکمت عملیوں میں سے ایک یہ ہے کہ تمام ٹرانزیکشنز کو مین نیٹ پر پروسیس کرنے کے بجائے لیئر 2 اسکیلنگ سلوشنز کے متنوع ایکو سسٹم کی اجازت دی جائے۔ یا رول اپس (rollups) اپنی الگ چینز پر ٹرانزیکشنز کو پروسیس کرتے ہیں اور تصدیق اور سیکیورٹی کے لیے ایتھریم کا استعمال کرتے ہیں۔ صرف سیکیورٹی کے لحاظ سے اہم کمٹمنٹس کو شائع کرنا اور پے لوڈز کو کمپریس کرنا L2s کو ایتھریم کی DA کی گنجائش کو زیادہ مؤثر طریقے سے استعمال کرنے کی سہولت دیتا ہے۔ اس کے نتیجے میں، L1 سیکیورٹی کی ضمانتوں پر سمجھوتہ کیے بغیر کم ڈیٹا لے کر چلتا ہے، جبکہ L2s کم گیس کی لاگت پر زیادہ صارفین کو شامل کرتے ہیں۔ ابتدائی طور پر، L2s عام ٹرانزیکشنز میں ڈیٹا کو calldata کے طور پر شائع کرتے تھے، جو گیس کے لیے L1 ٹرانزیکشنز کا مقابلہ کرتا تھا اور بلک ڈیٹا کی دستیابی کے لیے غیر عملی تھا۔
پروٹو-ڈینکشیرڈنگ (Proto-Danksharding)
L2 کو اسکیل کرنے کی جانب پہلا بڑا قدم Dencun اپ گریڈ تھا، جس نے پروٹو-ڈینکشیرڈنگ (EIP-4844) متعارف کرایا۔ اس اپ گریڈ نے رول اپس کے لیے ایک نئی، مخصوص ڈیٹا ٹائپ بنائی جسے بلابز (blobs) کہا جاتا ہے۔ بلابز، یا بائنری لارج آبجیکٹس (binary large objects)، صوابدیدی ڈیٹا کے عارضی ٹکڑے ہیں جنہیں EVM کے نفاذ کی ضرورت نہیں ہوتی اور نوڈز انہیں صرف محدود وقت کے لیے اسٹور کرتے ہیں۔ اس زیادہ مؤثر پروسیسنگ نے L2s کو ایتھریم پر مزید ڈیٹا شائع کرنے اور مزید اسکیل کرنے کی اجازت دی۔
اسکیلنگ کے لیے پہلے سے ہی مضبوط فوائد رکھنے کے باوجود، بلابز کا استعمال حتمی ہدف کا صرف ایک حصہ ہے۔ موجودہ پروٹوکول میں، نیٹ ورک کے ہر نوڈ کو اب بھی ہر بلاب ڈاؤن لوڈ کرنے کی ضرورت ہوتی ہے۔ رکاوٹ انفرادی نوڈز کے لیے درکار بینڈوتھ بن جاتی ہے، کیونکہ ڈاؤن لوڈ کیے جانے والے ڈیٹا کی مقدار براہ راست بلابز کی زیادہ تعداد کے ساتھ بڑھتی ہے۔
ایتھریم ڈی سینٹرلائزیشن پر سمجھوتہ نہیں کرتا، اور بینڈوتھ سب سے حساس پہلوؤں میں سے ایک ہے۔ یہاں تک کہ طاقتور کمپیوٹنگ وسیع پیمانے پر ہر اس شخص کے لیے دستیاب ہونے کے باوجود جو اسے برداشت کر سکتا ہے، ترقی یافتہ ممالک کے انتہائی شہری علاقوں (جیسے جرمنی (opens in a new tab)، بیلجیم (opens in a new tab)، آسٹریلیا (opens in a new tab) یا ریاستہائے متحدہ (opens in a new tab)) میں بھی اپ لوڈ بینڈوتھ کی حدود (opens in a new tab) نوڈز کو صرف ڈیٹا سینٹرز سے چلانے تک محدود کر سکتی ہیں اگر بینڈوتھ کی ضروریات کو احتیاط سے ترتیب نہ دیا جائے۔
جیسے جیسے بلابز بڑھتے ہیں، نوڈ آپریٹرز کے لیے بینڈوتھ اور ڈسک اسپیس کی ضروریات میں تیزی سے اضافہ ہوتا ہے۔ بلابز کا سائز اور مقدار ان پابندیوں کی وجہ سے محدود ہیں۔ ہر بلاب 128kb تک کا ڈیٹا لے جا سکتا ہے جس میں فی بلاک اوسطاً 6 بلابز ہوتے ہیں۔ یہ مستقبل کے ایک ایسے ڈیزائن کی جانب صرف پہلا قدم تھا جو بلابز کو اور بھی زیادہ مؤثر طریقے سے استعمال کرتا ہے۔
ڈیٹا کی دستیابی کی سیمپلنگ (Data availability sampling)
ڈیٹا کی دستیابی اس بات کی ضمانت ہے کہ چین کی آزادانہ طور پر توثیق کرنے کے لیے درکار تمام ڈیٹا نیٹ ورک کے تمام شرکاء کی رسائی میں ہے۔ یہ یقینی بناتا ہے کہ ڈیٹا مکمل طور پر شائع ہو چکا ہے اور اسے چین کی نئی اسٹیٹ (state) یا آنے والی ٹرانزیکشنز کی بغیر کسی بھروسے (trustlessly) کے تصدیق کرنے کے لیے استعمال کیا جا سکتا ہے۔
ایتھریم بلابز ڈیٹا کی دستیابی کی ایک مضبوط ضمانت فراہم کرتے ہیں جو L2s کی سیکیورٹی کو یقینی بناتی ہے۔ ایسا کرنے کے لیے، ایتھریم نوڈز کو بلابز کو مکمل طور پر ڈاؤن لوڈ اور اسٹور کرنے کی ضرورت ہوتی ہے۔ لیکن کیا ہو اگر ہم نیٹ ورک میں بلابز کو زیادہ مؤثر طریقے سے تقسیم کر سکیں اور اس پابندی سے بچ سکیں؟
ڈیٹا کو اسٹور کرنے اور اس کی دستیابی کو یقینی بنانے کا ایک مختلف طریقہ ڈیٹا کی دستیابی کی سیمپلنگ (DAS) ہے۔ ایتھریم چلانے والے ہر کمپیوٹر کے ہر ایک بلاب کو مکمل طور پر اسٹور کرنے کے بجائے، DAS کام کی ایک ڈی سینٹرلائزڈ تقسیم متعارف کراتا ہے۔ یہ نوڈز کے پورے نیٹ ورک میں چھوٹے، قابل انتظام کاموں کو تقسیم کر کے ڈیٹا پروسیسنگ کے بوجھ کو کم کرتا ہے۔ بلابز کو ٹکڑوں میں تقسیم کیا جاتا ہے اور ہر نوڈ تمام نوڈز میں یکساں بے ترتیب تقسیم (uniform random distribution) کے میکانزم کا استعمال کرتے ہوئے صرف چند ٹکڑے ڈاؤن لوڈ کرتا ہے۔
یہ ایک نیا مسئلہ متعارف کراتا ہے—ڈیٹا کی دستیابی اور سالمیت (integrity) کو ثابت کرنا۔ نیٹ ورک یہ کیسے ضمانت دے سکتا ہے کہ ڈیٹا دستیاب ہے اور یہ سب درست ہے جب انفرادی نوڈز کے پاس صرف چھوٹے ٹکڑے ہوں؟ ایک بدنیتی پر مبنی نوڈ جعلی ڈیٹا فراہم کر سکتا ہے اور ڈیٹا کی دستیابی کی مضبوط ضمانتوں کو آسانی سے توڑ سکتا ہے! یہاں کرپٹوگرافی مدد کے لیے آتی ہے۔
ڈیٹا کی سالمیت کو یقینی بنانے کے لیے، EIP-4844 کو پہلے ہی KZG کمٹمنٹس کے ساتھ نافذ کیا گیا تھا۔ یہ کرپٹوگرافک ثبوت ہیں جو اس وقت بنائے جاتے ہیں جب نیٹ ورک میں کوئی نیا بلاب شامل کیا جاتا ہے۔ ہر بلاک میں ایک چھوٹا سا ثبوت شامل ہوتا ہے، اور نوڈز اس بات کی تصدیق کر سکتے ہیں کہ موصول ہونے والے بلابز بلاک کی KZG کمٹمنٹ سے مطابقت رکھتے ہیں۔
DAS ایک ایسا میکانزم ہے جو اس کی بنیاد پر کام کرتا ہے اور اس بات کو یقینی بناتا ہے کہ ڈیٹا درست اور دستیاب دونوں ہے۔ سیمپلنگ ایک ایسا عمل ہے جہاں ایک نوڈ ڈیٹا کے صرف ایک چھوٹے سے حصے کی درخواست کرتا ہے اور کمٹمنٹ کے خلاف اس کی تصدیق کرتا ہے۔ KZG ایک پولی نومیئل (polynomial) کمٹمنٹ اسکیم ہے جس کا مطلب ہے کہ پولی نومیئل کریو (curve) پر کسی بھی ایک پوائنٹ کی تصدیق کی جا سکتی ہے۔ پولی نومیئل پر صرف چند پوائنٹس کو چیک کر کے، سیمپلنگ کرنے والے کلائنٹ کو ایک مضبوط امکانی (probabilistic) ضمانت مل سکتی ہے کہ ڈیٹا دستیاب ہے۔
PeerDAS
PeerDAS (EIP-7594) (opens in a new tab) ایک مخصوص تجویز ہے جو ایتھریم میں DAS میکانزم کو نافذ کرتی ہے، جو ممکنہ طور پر دی مرج (The Merge) کے بعد سب سے بڑی اپ گریڈ ہے۔ PeerDAS کو بلاب ڈیٹا کو بڑھانے، اسے کالموں میں تقسیم کرنے اور نوڈز میں ایک سب سیٹ (subset) تقسیم کرنے کے لیے ڈیزائن کیا گیا ہے۔
ایتھریم اسے حاصل کرنے کے لیے کچھ ہوشیار ریاضی کا سہارا لیتا ہے: یہ بلاب ڈیٹا پر ریڈ-سولومن (Reed-Solomon) طرز کی ایریژر کوڈنگ (erasure coding) کا اطلاق کرتا ہے۔ بلاب ڈیٹا کو ایک پولی نومیئل کے طور پر پیش کیا جاتا ہے جس کے کوایفیشنٹس (coefficients) ڈیٹا کو انکوڈ کرتے ہیں، پھر ایک توسیعی بلاب بنانے کے لیے اضافی پوائنٹس پر اس پولی نومیئل کا جائزہ لیا جاتا ہے، جس سے ایویلیوایشنز (evaluations) کی تعداد دوگنی ہو جاتی ہے۔ یہ اضافی ریڈنڈنسی (redundancy) ایریژر ریکوری (erasure recovery) کو قابل بناتی ہے: یہاں تک کہ اگر کچھ ایویلیوایشنز غائب بھی ہوں، تو اصل بلاب کو دوبارہ بنایا جا سکتا ہے جب تک کہ توسیعی ٹکڑوں سمیت کل ڈیٹا کا کم از کم آدھا حصہ دستیاب ہو۔
حقیقت میں، اس پولی نومیئل کے ہزاروں کوایفیشنٹس ہوتے ہیں۔ KZG کمٹمنٹس چند بائٹس کی ویلیوز ہوتی ہیں، جو ہیش کی طرح ہوتی ہیں، اور تمام نوڈز کو معلوم ہوتی ہیں۔ کافی ڈیٹا پوائنٹس رکھنے والا ہر نوڈ بلاب ڈیٹا کا مکمل سیٹ مؤثر طریقے سے دوبارہ بنا سکتا ہے (opens in a new tab)۔
دلچسپ حقیقت: یہی کوڈنگ تکنیک DVDs کے ذریعے استعمال کی جاتی تھی۔ اگر آپ کی DVD پر خراش آ جاتی، تو پلیئر پھر بھی اسے پڑھنے کے قابل ہوتا تھا جس کی وجہ ریڈ-سولومن کوڈنگ تھی جو پولی نومیئل کے غائب ٹکڑوں کو شامل کرتی ہے۔
تاریخی طور پر، بلاک چینز میں ڈیٹا، چاہے وہ بلاکس ہوں یا بلابز، تمام نوڈز کو براڈکاسٹ کیا جاتا تھا۔ PeerDAS کی اسپلٹ-اینڈ-سیمپل (split-and-sample) اپروچ کے ساتھ، ہر چیز کو ہر کسی تک براڈکاسٹ کرنا اب ضروری نہیں رہا۔ Fusaka کے بعد، کنسینسس لیئر نیٹ ورکنگ کو گپ شپ (gossip) کے موضوعات/سب نیٹس میں منظم کیا گیا ہے: بلاب کالمز کو مخصوص سب نیٹس کے لیے تفویض کیا جاتا ہے، اور ہر نوڈ پہلے سے طے شدہ سب سیٹس کو سبسکرائب کرتا ہے اور صرف ان ٹکڑوں کو اپنی تحویل میں رکھتا ہے۔
PeerDAS کے ساتھ، توسیعی بلاب ڈیٹا کو 128 ٹکڑوں میں تقسیم کیا جاتا ہے جنہیں کالم کہا جاتا ہے۔ ڈیٹا ان نوڈز میں ایک مخصوص گپ شپ پروٹوکول کے ذریعے ان مخصوص سب نیٹس پر تقسیم کیا جاتا ہے جنہیں وہ سبسکرائب کرتے ہیں۔ نیٹ ورک پر ہر باقاعدہ نوڈ کم از کم 8 تصادفی طور پر منتخب کردہ کالم سب نیٹس میں حصہ لیتا ہے۔ 128 میں سے صرف 8 سب نیٹس سے ڈیٹا وصول کرنے کا مطلب یہ ہے کہ یہ ڈیفالٹ نوڈ تمام ڈیٹا کا صرف 1/16 حصہ وصول کرتا ہے، لیکن چونکہ ڈیٹا کو بڑھایا گیا تھا اس لیے یہ اصل ڈیٹا کا 1/8 واں حصہ ہے۔
یہ موجودہ "ہر کوئی سب کچھ ڈاؤن لوڈ کرتا ہے" اسکیم کے مقابلے میں 8x کی ایک نئی نظریاتی اسکیلنگ حد کی اجازت دیتا ہے۔ بلاب کالمز پیش کرنے والے مختلف بے ترتیب سب نیٹس کو سبسکرائب کرنے والے نوڈز کے ساتھ، اس بات کا امکان بہت زیادہ ہے کہ وہ یکساں طور پر تقسیم کیے گئے ہیں اور اس لیے ڈیٹا کا ہر ٹکڑا نیٹ ورک میں کہیں نہ کہیں موجود ہے۔ ویلیڈیٹرز چلانے والے نوڈز کو اپنے چلائے جانے والے ہر ویلیڈیٹر کے ساتھ مزید سب نیٹس کو سبسکرائب کرنے کی ضرورت ہوتی ہے۔
ہر نوڈ کی ایک منفرد تصادفی طور پر تیار کردہ ID ہوتی ہے، یہ عام طور پر کنکشنز کے لیے اس کی عوامی شناخت کے طور پر کام کرتی ہے۔ PeerDAS میں، اس نمبر کا استعمال ان بے ترتیب سیٹ سب نیٹس کا تعین کرنے کے لیے کیا جاتا ہے جنہیں اسے سبسکرائب کرنا ہوتا ہے جس کے نتیجے میں تمام بلاب ڈیٹا کی یکساں بے ترتیب تقسیم ہوتی ہے۔
ایک بار جب کوئی نوڈ کامیابی کے ساتھ اصل ڈیٹا کو دوبارہ بنا لیتا ہے، تو وہ بازیافت شدہ کالموں کو واپس نیٹ ورک میں تقسیم کرتا ہے، جو ڈیٹا کے کسی بھی خلا کو فعال طور پر پُر کرتا ہے اور مجموعی سسٹم کی لچک کو بڑھاتا ہے۔ ≥4096 ETH کے مشترکہ بیلنس والے ویلیڈیٹرز سے جڑے نوڈز کا سپر نوڈ ہونا لازمی ہے اور اس لیے انہیں تمام ڈیٹا کالم سب نیٹس کو سبسکرائب کرنا چاہیے اور تمام کالموں کو اپنی تحویل میں رکھنا چاہیے۔ یہ سپر نوڈز ڈیٹا کے خلا کو مسلسل پُر کریں گے۔ پروٹوکول کی امکانی طور پر خود کو ٹھیک کرنے والی (self-healing) نوعیت دستیابی کی مضبوط ضمانتوں کی اجازت دیتی ہے جبکہ ڈیٹا کے صرف کچھ حصوں کو رکھنے والے ہوم آپریٹرز کو محدود نہیں کرتی۔
اوپر بیان کردہ سیمپلنگ میکانزم کی بدولت بلاب ڈیٹا کا صرف ایک چھوٹا سا سب سیٹ رکھنے والے کسی بھی نوڈ کے ذریعے ڈیٹا کی دستیابی کی تصدیق کی جا سکتی ہے۔ یہ دستیابی نافذ کی گئی ہے: ویلیڈیٹرز کو فورک-چوائس (fork-choice) کے نئے اصولوں پر عمل کرنا چاہیے، جس کا مطلب ہے کہ وہ ڈیٹا کی دستیابی کی تصدیق کرنے کے بعد ہی بلاکس کو قبول کریں گے اور ان کے لیے ووٹ دیں گے۔
صارفین (خاص طور پر L2 صارفین) پر اس کا براہ راست اثر کم فیس ہے۔ رول اپ ڈیٹا کے لیے 8x زیادہ جگہ کے ساتھ، ان کی چین پر صارف کے آپریشنز وقت کے ساتھ اور بھی سستے ہو جاتے ہیں۔ لیکن Fusaka کے بعد کم فیسوں میں وقت لگے گا اور اس کا انحصار BPOs پر ہوگا۔
بلاب-پیرامیٹر-اونلی (BPOs)
نیٹ ورک نظریاتی طور پر 8x زیادہ بلابز کو پروسیس کرنے کے قابل ہو جائے گا، لیکن بلابز میں اضافہ ایک ایسی تبدیلی ہے جسے مناسب طریقے سے ٹیسٹ کرنے اور مرحلہ وار طریقے سے محفوظ طریقے سے انجام دینے کی ضرورت ہے۔ ٹیسٹ نیٹس مین نیٹ پر فیچرز کو تعینات کرنے کے لیے کافی اعتماد فراہم کرتے ہیں لیکن ہمیں نمایاں طور پر زیادہ تعداد میں بلابز کو فعال کرنے سے پہلے p2p نیٹ ورک کے استحکام کو یقینی بنانے کی ضرورت ہے۔
نیٹ ورک پر بوجھ ڈالے بغیر فی بلاک بلابز کی ہدف تعداد کو بتدریج بڑھانے کے لیے، Fusaka بلاب-پیرامیٹر-اونلی (BPO) (opens in a new tab) فورکس متعارف کراتا ہے۔ باقاعدہ فورکس کے برعکس جنہیں وسیع ایکو سسٹم کوآرڈینیشن، معاہدے، اور سافٹ ویئر اپ ڈیٹس کی ضرورت ہوتی ہے، BPOs (EIP-7892) (opens in a new tab) پہلے سے پروگرام شدہ اپ گریڈز ہیں جو مداخلت کے بغیر وقت کے ساتھ بلابز کی زیادہ سے زیادہ تعداد میں اضافہ کرتے ہیں۔
اس کا مطلب یہ ہے کہ Fusaka کے فعال ہونے اور PeerDAS کے لائیو ہونے کے فوراً بعد، بلابز کی تعداد میں کوئی تبدیلی نہیں ہوگی۔ بلابز کی تعداد ہر چند ہفتوں میں دوگنی ہونا شروع ہو جائے گی یہاں تک کہ یہ زیادہ سے زیادہ 48 تک پہنچ جائے، جبکہ ڈیولپرز اس بات کو یقینی بنانے کے لیے نگرانی کرتے ہیں کہ میکانزم توقع کے مطابق کام کر رہا ہے اور نیٹ ورک چلانے والے نوڈز پر اس کے منفی اثرات مرتب نہیں ہو رہے ہیں۔
مستقبل کی سمتیں (Future directions)
PeerDAS صرف FullDAS کے ایک بڑے اسکیلنگ وژن کی جانب (opens in a new tab)، یا ڈینکشیرڈنگ (Danksharding) کی طرف ایک قدم ہے۔ جبکہ PeerDAS ہر بلاب پر انفرادی طور پر 1D ایریژر کوڈنگ کا استعمال کرتا ہے، مکمل ڈینکشیرڈنگ بلاب ڈیٹا کے پورے میٹرکس میں ایک زیادہ مکمل 2D ایریژر کوڈنگ اسکیم کا استعمال کرے گی۔ ڈیٹا کو دو جہتوں (dimensions) میں بڑھانے سے اور بھی مضبوط ریڈنڈنسی خصوصیات اور زیادہ مؤثر تعمیر نو اور تصدیق پیدا ہوتی ہے۔ FullDAS کو حقیقت کا روپ دینے کے لیے اضافی تحقیق کے ساتھ ساتھ خاطر خواہ نیٹ ورک اور پروٹوکول آپٹیمائزیشنز کی ضرورت ہوگی۔
مزید مطالعہ
- PeerDAS: فرانسسکو ڈی اماتو (Francesco D'Amato) کی جانب سے پیئر ڈیٹا کی دستیابی کی سیمپلنگ (opens in a new tab)
- ایتھریم کے PeerDAS کی ایک دستاویز (opens in a new tab)
- AGM کے بغیر PeerDAS کی سیکیورٹی کو ثابت کرنا (opens in a new tab)
- PeerDAS، اس کے اثرات، اور Fusaka کی ٹیسٹنگ پر وٹالک (Vitalik) (opens in a new tab)
صفحہ کی آخری اپ ڈیٹ: ۲۳ فروری، ۲۰۲۶

