ایتھیریم پروٹوکول EIP-4844 کے ساتھ بلاب ٹرانزیکشنز کے تعارف کے بعد سے اپنی سب سے اہم اسکیلنگ اپ گریڈ سے گزر رہا ہے۔ فوساکا اپ گریڈ کے حصے کے طور پر، PeerDAS بلاب ڈیٹا کو سنبھالنے کا ایک نیا طریقہ متعارف کراتا ہے، جو لیئر ۲ (l2) کے لیے ڈیٹا کی دستیابی (DA) کی گنجائش میں تقریباً دس گنا اضافہ فراہم کرتا ہے۔
بلاب اسکیلنگ روڈ میپ کے بارے میں مزید (opens in a new tab)
اسکیل ایبلٹی
ایتھیریم کا وژن دنیا میں ہر ایک کے لیے دستیاب ایک غیر جانبدار، محفوظ اور لامركزی پلیٹ فارم بننا ہے۔ جیسے جیسے نیٹ ورک کا استعمال بڑھتا ہے، اس کے لیے نیٹ ورک کے اسکیل، سیکیورٹی، اور لامرکزیت کے ٹرائلیما (trilemma) میں توازن پیدا کرنے کی ضرورت ہوتی ہے۔ اگر ایتھیریم اپنے موجودہ ڈیزائن کے اندر نیٹ ورک کے ذریعے سنبھالے جانے والے ڈیٹا میں محض اضافہ کر دے، تو اس سے ان نوڈز پر بوجھ پڑنے کا خطرہ پیدا ہو جائے گا جن پر ایتھیریم اپنی لامرکزیت کے لیے انحصار کرتا ہے۔ اسکیل ایبلٹی کے لیے ایک سخت میکانزم ڈیزائن کی ضرورت ہوتی ہے جو سمجھوتوں کو کم سے کم کرے۔
اس ہدف کو حاصل کرنے کی حکمت عملیوں میں سے ایک یہ ہے کہ تمام ٹرانزیکشنز کو مین نیٹ پر پروسیس کرنے کے بجائے لیئر ۲ (l2) اسکیلنگ سلوشنز کے ایک متنوع ایکو سسٹم کی اجازت دی جائے۔ یا رول اپس اپنی الگ چینز پر ٹرانزیکشنز کو پروسیس کرتے ہیں اور تصدیق اور سیکیورٹی کے لیے ایتھیریم کا استعمال کرتے ہیں۔ صرف سیکیورٹی کے لحاظ سے اہم کمٹمنٹس کو شائع کرنے اور پے لوڈز کو کمپریس کرنے سے لیئر ۲ (l2) ایتھیریم کی DA کی گنجائش کو زیادہ مؤثر طریقے سے استعمال کر سکتے ہیں۔ اس کے نتیجے میں، لیئر ۱ (l1) سیکیورٹی کی ضمانتوں پر سمجھوتہ کیے بغیر کم ڈیٹا لے کر چلتا ہے، جبکہ لیئر ۲ (l2) کم گیس کی قیمتوں پر زیادہ صارفین کو شامل کرتے ہیں۔ ابتدائی طور پر، لیئر ۲ (l2) نے عام ٹرانزیکشنز میں calldata کے طور پر ڈیٹا شائع کیا، جس نے گیس کے لیے لیئر ۱ (l1) ٹرانزیکشنز کا مقابلہ کیا اور یہ بلک ڈیٹا کی دستیابی کے لیے غیر عملی تھا۔
پروٹو-ڈینک شارڈنگ
لیئر ۲ (l2) کو اسکیل کرنے کی جانب پہلا بڑا قدم ڈینکون اپ گریڈ تھا، جس نے پروٹو-ڈینک شارڈنگ (EIP-4844) متعارف کرایا۔ اس اپ گریڈ نے رول اپس کے لیے ایک نئی، مخصوص ڈیٹا ٹائپ بنائی جسے بلاب کہا جاتا ہے۔ بلاب، یا بائنری لارج آبجیکٹس، صوابدیدی ڈیٹا کے عارضی ٹکڑے ہیں جنہیں EVM کے نفاذ کی ضرورت نہیں ہوتی اور نوڈز انہیں صرف ایک محدود وقت کے لیے اسٹور کرتے ہیں۔ اس زیادہ مؤثر پروسیسنگ نے لیئر ۲ (l2) کو ایتھیریم پر مزید ڈیٹا شائع کرنے اور مزید اسکیل کرنے کی اجازت دی۔
اسکیلنگ کے لیے پہلے سے ہی مضبوط فوائد رکھنے کے باوجود، بلاب کا استعمال حتمی ہدف کا صرف ایک حصہ ہے۔ موجودہ پروٹوکول میں، نیٹ ورک کے ہر نوڈ کو اب بھی ہر بلاب ڈاؤن لوڈ کرنے کی ضرورت ہوتی ہے۔ انفرادی نوڈز کے لیے درکار بینڈوتھ ایک رکاوٹ بن جاتی ہے، کیونکہ ڈاؤن لوڈ کیے جانے والے ڈیٹا کی مقدار براہ راست بلاب کی زیادہ تعداد کے ساتھ بڑھتی ہے۔
ایتھیریم لامرکزیت پر سمجھوتہ نہیں کرتا، اور بینڈوتھ سب سے حساس پہلوؤں میں سے ایک ہے۔ یہاں تک کہ طاقتور کمپیوٹنگ وسیع پیمانے پر ہر اس شخص کے لیے دستیاب ہونے کے باوجود جو اس کی استطاعت رکھتا ہے، ترقی یافتہ ممالک (جیسے جرمنی (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 بلاب ہوتے ہیں۔ یہ مستقبل کے ایک ایسے ڈیزائن کی جانب صرف پہلا قدم تھا جو بلاب کو اور بھی زیادہ مؤثر طریقے سے استعمال کرتا ہے۔
ڈیٹا کی دستیابی کی سیمپلنگ
ڈیٹا کی دستیابی اس بات کی ضمانت ہے کہ چین کی آزادانہ طور پر توثیق کرنے کے لیے درکار تمام ڈیٹا نیٹ ورک کے تمام شرکاء کی رسائی میں ہے۔ یہ یقینی بناتا ہے کہ ڈیٹا مکمل طور پر شائع ہو چکا ہے اور اسے چین کی نئی حالت یا آنے والی ٹرانزیکشنز کی بغیر کسی بھروسے کے تصدیق کرنے کے لیے استعمال کیا جا سکتا ہے۔
ایتھیریم بلاب ڈیٹا کی دستیابی کی ایک مضبوط ضمانت فراہم کرتے ہیں جو لیئر ۲ (l2) کی سیکیورٹی کو یقینی بناتی ہے۔ ایسا کرنے کے لیے، ایتھیریم نوڈز کو بلاب کو مکمل طور پر ڈاؤن لوڈ اور اسٹور کرنے کی ضرورت ہوتی ہے۔ لیکن کیا ہو اگر ہم نیٹ ورک میں بلاب کو زیادہ مؤثر طریقے سے تقسیم کر سکیں اور اس پابندی سے بچ سکیں؟
ڈیٹا کو اسٹور کرنے اور اس کی دستیابی کو یقینی بنانے کا ایک مختلف طریقہ ڈیٹا کی دستیابی کی سیمپلنگ (DAS) ہے۔ ایتھیریم چلانے والے ہر کمپیوٹر کے ہر ایک بلاب کو مکمل طور پر اسٹور کرنے کے بجائے، DAS کام کی ایک لامركزی تقسیم متعارف کراتا ہے۔ یہ نوڈز کے پورے نیٹ ورک میں چھوٹے، قابل انتظام کاموں کو تقسیم کر کے ڈیٹا پروسیسنگ کے بوجھ کو کم کرتا ہے۔ بلاب کو ٹکڑوں میں تقسیم کیا جاتا ہے اور ہر نوڈ تمام نوڈز میں یکساں بے ترتیب تقسیم کے میکانزم کا استعمال کرتے ہوئے صرف چند ٹکڑے ڈاؤن لوڈ کرتا ہے۔
یہ ایک نیا مسئلہ متعارف کراتا ہے—ڈیٹا کی دستیابی اور سالمیت کو ثابت کرنا۔ نیٹ ورک یہ کیسے ضمانت دے سکتا ہے کہ ڈیٹا دستیاب ہے اور یہ سب درست ہے جب انفرادی نوڈز کے پاس صرف چھوٹے ٹکڑے ہوں؟ ایک بدنیتی پر مبنی نوڈ جعلی ڈیٹا فراہم کر سکتا ہے اور ڈیٹا کی دستیابی کی مضبوط ضمانتوں کو آسانی سے توڑ سکتا ہے! یہیں پر علمِ تشفیر مدد کے لیے آتا ہے۔
ڈیٹا کی سالمیت کو یقینی بنانے کے لیے، EIP-4844 کو پہلے ہی KZG کمٹمنٹس کے ساتھ نافذ کیا گیا تھا۔ یہ کرپٹوگرافک ثبوت ہیں جو اس وقت بنائے جاتے ہیں جب نیٹ ورک میں کوئی نیا بلاب شامل کیا جاتا ہے۔ ہر بلاک میں ایک چھوٹا سا ثبوت شامل ہوتا ہے، اور نوڈز اس بات کی تصدیق کر سکتے ہیں کہ موصول ہونے والے بلاب بلاک کی KZG کمٹمنٹ سے مطابقت رکھتے ہیں۔
DAS ایک ایسا میکانزم ہے جو اس کی بنیاد پر کام کرتا ہے اور اس بات کو یقینی بناتا ہے کہ ڈیٹا درست اور دستیاب دونوں ہے۔ سیمپلنگ ایک ایسا عمل ہے جہاں ایک نوڈ ڈیٹا کے صرف ایک چھوٹے سے حصے کی درخواست کرتا ہے اور کمٹمنٹ کے خلاف اس کی تصدیق کرتا ہے۔ KZG ایک پولی نومیئل کمٹمنٹ اسکیم ہے جس کا مطلب ہے کہ پولی نومیئل وکر پر کسی بھی ایک نقطے کی تصدیق کی جا سکتی ہے۔ پولی نومیئل پر صرف چند نکات کی جانچ کر کے، سیمپلنگ کرنے والے کلائنٹ کو ایک مضبوط امکانی ضمانت مل سکتی ہے کہ ڈیٹا دستیاب ہے۔
PeerDAS
PeerDAS (EIP-7594) (opens in a new tab) ایک مخصوص تجویز ہے جو ایتھیریم میں DAS میکانزم کو نافذ کرتی ہے، جو شاید دی مرج کے بعد سب سے بڑی اپ گریڈ کی نشاندہی کرتی ہے۔ PeerDAS کو بلاب ڈیٹا کو بڑھانے، اسے کالموں میں تقسیم کرنے اور نوڈز میں ایک ذیلی سیٹ تقسیم کرنے کے لیے ڈیزائن کیا گیا ہے۔
ایتھیریم اسے حاصل کرنے کے لیے کچھ ہوشیار ریاضی کا سہارا لیتا ہے: یہ بلاب ڈیٹا پر ریڈ-سولومن طرز کی حذفی کوڈنگ کا اطلاق کرتا ہے۔ بلاب ڈیٹا کو ایک پولی نومیئل کے طور پر پیش کیا جاتا ہے جس کے کوایفیشینٹس ڈیٹا کو انکوڈ کرتے ہیں، پھر ایک توسیعی بلاب بنانے کے لیے اضافی نکات پر اس پولی نومیئل کا جائزہ لیا جاتا ہے، جس سے جائزوں کی تعداد دوگنی ہو جاتی ہے۔ یہ اضافی فالتو پن حذفی بحالی کو قابل بناتا ہے: یہاں تک کہ اگر کچھ جائزے غائب بھی ہوں، تو اصل بلاب کو دوبارہ بنایا جا سکتا ہے جب تک کہ توسیعی ٹکڑوں سمیت کل ڈیٹا کا کم از کم آدھا حصہ دستیاب ہو۔
حقیقت میں، اس پولی نومیئل میں ہزاروں کوایفیشینٹس ہوتے ہیں۔ KZG کمٹمنٹس چند بائٹس کی قدریں ہیں، جو ہیش کی طرح ہوتی ہیں، اور تمام نوڈز کو معلوم ہوتی ہیں۔ کافی ڈیٹا پوائنٹس رکھنے والا ہر نوڈ بلاب ڈیٹا کے مکمل سیٹ کو مؤثر طریقے سے دوبارہ بنا سکتا ہے (opens in a new tab)۔
دلچسپ حقیقت: یہی کوڈنگ تکنیک DVDs کے ذریعے استعمال کی گئی تھی۔ اگر آپ کی DVD پر خراش آ جاتی، تو پلیئر پھر بھی اسے پڑھنے کے قابل ہوتا تھا جس کی وجہ ریڈ-سولومن کوڈنگ تھی جو پولی نومیئل کے غائب ٹکڑوں کو شامل کرتی ہے۔
تاریخی طور پر، بلاک چینز میں ڈیٹا، چاہے وہ بلاک ہوں یا بلاب، تمام نوڈز پر نشر کیا جاتا تھا۔ PeerDAS کی اسپلٹ اینڈ سیمپل اپروچ کے ساتھ، ہر چیز کو ہر کسی تک نشر کرنا اب ضروری نہیں رہا۔ فوساکا کے بعد، اتفاق رائے کی تہہ کی نیٹ ورکنگ کو گاسپ پروٹوکول کے موضوعات/سب نیٹس میں منظم کیا گیا ہے: بلاب کالم مخصوص سب نیٹس کو تفویض کیے جاتے ہیں، اور ہر نوڈ پہلے سے طے شدہ ذیلی سیٹس کو سبسکرائب کرتا ہے اور صرف ان ٹکڑوں کو اپنی تحویل میں رکھتا ہے۔
PeerDAS کے ساتھ، توسیعی بلاب ڈیٹا کو 128 ٹکڑوں میں تقسیم کیا جاتا ہے جنہیں کالم کہا جاتا ہے۔ ڈیٹا ان نوڈز میں مخصوص سب نیٹس پر ایک وقف شدہ گاسپ پروٹوکول کے ذریعے تقسیم کیا جاتا ہے جنہیں وہ سبسکرائب کرتے ہیں۔ نیٹ ورک پر ہر باقاعدہ نوڈ کم از کم 8 تصادفی طور پر منتخب کردہ کالم سب نیٹس میں حصہ لیتا ہے۔ 128 میں سے صرف 8 سب نیٹس سے ڈیٹا وصول کرنے کا مطلب یہ ہے کہ یہ ڈیفالٹ نوڈ تمام ڈیٹا کا صرف 1/16 حصہ وصول کرتا ہے، لیکن چونکہ ڈیٹا کو بڑھایا گیا تھا اس لیے یہ اصل ڈیٹا کا 1/8 حصہ ہے۔
یہ موجودہ "ہر کوئی سب کچھ ڈاؤن لوڈ کرتا ہے" اسکیم کی نسبت 8x کی ایک نئی نظریاتی اسکیلنگ حد کی اجازت دیتا ہے۔ بلاب کالمز پیش کرنے والے مختلف بے ترتیب سب نیٹس کو سبسکرائب کرنے والے نوڈز کے ساتھ، اس بات کا امکان بہت زیادہ ہے کہ وہ یکساں طور پر تقسیم کیے گئے ہیں اور اس لیے ڈیٹا کا ہر ٹکڑا نیٹ ورک میں کہیں نہ کہیں موجود ہے۔ توثیق کار چلانے والے نوڈز کو اپنے چلائے جانے والے ہر توثیق کار کے ساتھ مزید سب نیٹس کو سبسکرائب کرنے کی ضرورت ہوتی ہے۔
ہر نوڈ کی ایک منفرد تصادفی طور پر تیار کردہ ID ہوتی ہے، یہ عام طور پر کنکشنز کے لیے اس کی عوامی شناخت کے طور پر کام کرتی ہے۔ PeerDAS میں، اس نمبر کا استعمال ان بے ترتیب سیٹ سب نیٹس کا تعین کرنے کے لیے کیا جاتا ہے جنہیں اسے سبسکرائب کرنا ہوتا ہے جس کے نتیجے میں تمام بلاب ڈیٹا کی یکساں بے ترتیب تقسیم ہوتی ہے۔
ایک بار جب کوئی نوڈ کامیابی کے ساتھ اصل ڈیٹا کو دوبارہ بنا لیتا ہے، تو وہ بازیافت شدہ کالموں کو واپس نیٹ ورک میں تقسیم کرتا ہے، جو ڈیٹا کے کسی بھی خلا کو فعال طور پر پُر کرتا ہے اور مجموعی سسٹم کی لچک کو بڑھاتا ہے۔ ≥4096 ETH کے مشترکہ بیلنس والے توثیق کاروں سے جڑے نوڈز کا سپر نوڈ ہونا لازمی ہے اور اس لیے انہیں تمام ڈیٹا کالم سب نیٹس کو سبسکرائب کرنا چاہیے اور تمام کالموں کو اپنی تحویل میں رکھنا چاہیے۔ یہ سپر نوڈز ڈیٹا کے خلا کو مسلسل پُر کریں گے۔ پروٹوکول کی امکانی طور پر خود کو ٹھیک کرنے والی نوعیت مضبوط دستیابی کی ضمانتوں کی اجازت دیتی ہے جبکہ ڈیٹا کے صرف کچھ حصوں کو رکھنے والے ہوم آپریٹرز کو محدود نہیں کرتی۔
اوپر بیان کردہ سیمپلنگ میکانزم کی بدولت بلاب ڈیٹا کا صرف ایک چھوٹا سا ذیلی سیٹ رکھنے والے کسی بھی نوڈ کے ذریعے ڈیٹا کی دستیابی کی تصدیق کی جا سکتی ہے۔ یہ دستیابی نافذ کی گئی ہے: توثیق کاروں کو نئے فورک-چوائس قواعد پر عمل کرنا چاہیے، جس کا مطلب ہے کہ وہ ڈیٹا کی دستیابی کی تصدیق کرنے کے بعد ہی بلاکس کو قبول کریں گے اور ان کے لیے ووٹ دیں گے۔
صارفین (خاص طور پر لیئر ۲ (l2) صارفین) پر اس کا براہ راست اثر کم فیس ہے۔ رول اپ ڈیٹا کے لیے 8x زیادہ جگہ کے ساتھ، ان کی چین پر صارف کے آپریشنز وقت کے ساتھ اور بھی سستے ہو جاتے ہیں۔ لیکن فوساکا کے بعد کم فیسوں میں وقت لگے گا اور اس کا انحصار BPOs پر ہوگا۔
بلاب-پیرامیٹر-اونلی (BPOs)
نیٹ ورک نظریاتی طور پر 8x زیادہ بلاب پروسیس کرنے کے قابل ہو جائے گا، لیکن بلاب میں اضافہ ایک ایسی تبدیلی ہے جس کا مناسب طریقے سے تجربہ کرنے اور مرحلہ وار طریقے سے محفوظ طریقے سے عمل میں لانے کی ضرورت ہے۔ ٹیسٹ نیٹس مین نیٹ پر خصوصیات کو تعینات کرنا کے لیے کافی اعتماد فراہم کرتے ہیں لیکن ہمیں نمایاں طور پر زیادہ تعداد میں بلاب کو فعال کرنے سے پہلے p2p نیٹ ورک کے استحکام کو یقینی بنانے کی ضرورت ہے۔
نیٹ ورک پر بوجھ ڈالے بغیر فی بلاک بلاب کی ہدف تعداد کو بتدریج بڑھانے کے لیے، فوساکا بلاب-پیرامیٹر-اونلی (BPO) (opens in a new tab) فورک متعارف کراتا ہے۔ باقاعدہ فورک کے برعکس جنہیں وسیع ایکو سسٹم کوآرڈینیشن، معاہدے، اور سافٹ ویئر اپ ڈیٹس کی ضرورت ہوتی ہے، BPOs (EIP-7892) (opens in a new tab) پہلے سے پروگرام شدہ اپ گریڈ ہیں جو بغیر کسی مداخلت کے وقت کے ساتھ بلاب کی زیادہ سے زیادہ تعداد میں اضافہ کرتے ہیں۔
اس کا مطلب یہ ہے کہ فوساکا کے فعال ہونے اور PeerDAS کے لائیو ہونے کے فوراً بعد، بلاب کی تعداد میں کوئی تبدیلی نہیں ہوگی۔ بلاب کی تعداد ہر چند ہفتوں میں دوگنی ہونا شروع ہو جائے گی یہاں تک کہ یہ زیادہ سے زیادہ 48 تک پہنچ جائے، جبکہ ڈیولپرز اس بات کو یقینی بنانے کے لیے نگرانی کرتے ہیں کہ میکانزم توقع کے مطابق کام کر رہا ہے اور نیٹ ورک چلانے والے نوڈز پر اس کے منفی اثرات مرتب نہیں ہو رہے ہیں۔
مستقبل کی سمتیں
PeerDAS صرف FullDAS کے ایک بڑے اسکیلنگ وژن کی جانب (opens in a new tab)، یا ڈینک شارڈنگ کی طرف ایک قدم ہے۔ جبکہ PeerDAS ہر بلاب پر انفرادی طور پر 1D حذفی کوڈنگ کا استعمال کرتا ہے، مکمل ڈینک شارڈنگ بلاب ڈیٹا کے پورے میٹرکس میں ایک زیادہ مکمل 2D حذفی کوڈنگ اسکیم کا استعمال کرے گی۔ دو جہتوں میں ڈیٹا کو بڑھانے سے اور بھی مضبوط فالتو پن کی خصوصیات اور زیادہ مؤثر تعمیر نو اور تصدیق پیدا ہوتی ہے۔ FullDAS کو عملی جامہ پہنانے کے لیے اضافی تحقیق کے ساتھ ساتھ خاطر خواہ نیٹ ورک اور پروٹوکول آپٹیمائزیشن کی ضرورت ہوگی۔
مزید مطالعہ
- فرانچسکو ڈی اماتو (Francesco D'Amato) کی جانب سے PeerDAS: پیئر ڈیٹا کی دستیابی کی سیمپلنگ (opens in a new tab)
- ایتھیریم کے PeerDAS کی ایک دستاویز (opens in a new tab)
- AGM کے بغیر PeerDAS کی سیکیورٹی کو ثابت کرنا (opens in a new tab)
- PeerDAS، اس کے اثرات، اور فوساکا کی جانچ پر وٹالک (Vitalik) (opens in a new tab)

