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

صفحہ کی آخری اپ ڈیٹ: ۱۶ فروری، ۲۰۲۶

ڈینک شارڈنگ

ڈینک شارڈنگ (Danksharding) وہ طریقہ ہے جس سے ایتھیریم ایک حقیقی معنوں میں اسکیل ایبل بلاک چین بنتا ہے، لیکن وہاں تک پہنچنے کے لیے کئی پروٹوکول اپ گریڈز درکار ہیں۔ پروٹو-ڈینک شارڈنگ (Proto-Danksharding) اس راستے کا ایک درمیانی قدم ہے۔ دونوں کا مقصد لیئر 2 پر ٹرانزیکشنز کو صارفین کے لیے ہر ممکن حد تک سستا بنانا ہے اور ایتھیریم کو 100,000 ٹرانزیکشنز فی سیکنڈ تک اسکیل کرنا چاہیے۔

پروٹو-ڈینک شارڈنگ کیا ہے؟

پروٹو-ڈینک شارڈنگ، جسے EIP-4844 (opens in a new tab) کے نام سے بھی جانا جاتا ہے، رول اپس کے لیے بلاکس میں سستا ڈیٹا شامل کرنے کا ایک طریقہ ہے۔ یہ نام ان دو محققین سے آیا ہے جنہوں نے یہ خیال پیش کیا: Protolambda اور Dankrad Feist۔ تاریخی طور پر، رول اپس اس بات تک محدود رہے ہیں کہ وہ صارفین کی ٹرانزیکشنز کو کتنا سستا بنا سکتے ہیں کیونکہ وہ اپنی ٹرانزیکشنز کو CALLDATA میں پوسٹ کرتے ہیں۔

یہ مہنگا ہے کیونکہ اس پر تمام ایتھیریم نوڈز کے ذریعے کارروائی کی جاتی ہے اور یہ ہمیشہ کے لیے آن چین رہتا ہے، حالانکہ رول اپس کو صرف تھوڑے وقت کے لیے ڈیٹا کی ضرورت ہوتی ہے۔ پروٹو-ڈینک شارڈنگ ڈیٹا بلابز متعارف کراتی ہے جنہیں بھیجا جا سکتا ہے اور بلاکس کے ساتھ منسلک کیا جا سکتا ہے۔ ان بلابز میں موجود ڈیٹا EVM کی رسائی میں نہیں ہوتا اور ایک مقررہ وقت کے بعد خود بخود حذف ہو جاتا ہے (لکھتے وقت 4096 ایپوکس (epochs) پر سیٹ کیا گیا ہے، یا تقریباً 18 دن)۔ اس کا مطلب ہے کہ رول اپس اپنا ڈیٹا بہت سستے میں بھیج سکتے ہیں اور بچت کو سستی ٹرانزیکشنز کی صورت میں آخری صارفین تک منتقل کر سکتے ہیں۔

بلاب ڈیٹا کی تصدیق کیسے کی جاتی ہے؟

رول اپس ان ٹرانزیکشنز کو پوسٹ کرتے ہیں جنہیں وہ ڈیٹا بلابز میں ایگزیکیوٹ کرتے ہیں۔ وہ ڈیٹا کے لیے ایک "کمٹمنٹ" بھی پوسٹ کرتے ہیں۔ وہ ڈیٹا پر ایک پولی نومیئل فنکشن (polynomial function) فٹ کر کے ایسا کرتے ہیں۔ اس فنکشن کا پھر مختلف مقامات پر جائزہ لیا جا سکتا ہے۔ مثال کے طور پر، اگر ہم ایک انتہائی سادہ فنکشن f(x) = 2x-1 کی وضاحت کرتے ہیں تو ہم اس فنکشن کا x = 1، x = 2، x = 3 کے لیے جائزہ لے سکتے ہیں جس کے نتائج 1, 3, 5 آتے ہیں۔ ایک پروور ڈیٹا پر وہی فنکشن لاگو کرتا ہے اور انہی مقامات پر اس کا جائزہ لیتا ہے۔ اگر اصل ڈیٹا تبدیل ہو جاتا ہے، تو فنکشن ایک جیسا نہیں رہے گا، اور اس لیے ہر مقام پر جانچی گئی قدریں بھی ایک جیسی نہیں ہوں گی۔ حقیقت میں، کمٹمنٹ اور ثبوت زیادہ پیچیدہ ہوتے ہیں کیونکہ وہ کرپٹوگرافک فنکشنز میں لپٹے ہوتے ہیں۔

KZG کیا ہے؟

KZG کا مطلب Kate-Zaverucha-Goldberg ہے - یہ ایک ایسی اسکیم کے تین اصل مصنفین (opens in a new tab) کے نام ہیں جو ڈیٹا کے ایک بلاب کو ایک چھوٹی کرپٹوگرافک "کمٹمنٹ" (opens in a new tab) تک کم کر دیتی ہے۔ رول اپ کے ذریعے جمع کرائے گئے ڈیٹا کے بلاب کی تصدیق کی جانی چاہیے تاکہ یہ یقینی بنایا جا سکے کہ رول اپ غلط برتاؤ نہیں کر رہا ہے۔ اس میں ایک پروور شامل ہوتا ہے جو بلاب میں ٹرانزیکشنز کو دوبارہ ایگزیکیوٹ کرتا ہے تاکہ یہ چیک کیا جا سکے کہ کمٹمنٹ درست تھی۔ یہ تصوراتی طور پر اسی طرح ہے جیسے ایگزیکیوشن کلائنٹس مرکل پروفز (Merkle proofs) کا استعمال کرتے ہوئے لیئر 1 پر ایتھیریم ٹرانزیکشنز کی درستگی کی جانچ کرتے ہیں۔ KZG ایک متبادل ثبوت ہے جو ڈیٹا پر ایک پولی نومیئل مساوات کو فٹ کرتا ہے۔ کمٹمنٹ کچھ خفیہ ڈیٹا پوائنٹس پر پولی نومیئل کا جائزہ لیتی ہے۔ ایک پروور ڈیٹا پر وہی پولی نومیئل فٹ کرے گا اور انہی قدروں پر اس کا جائزہ لے گا، یہ چیک کرتے ہوئے کہ نتیجہ ایک ہی ہے۔ یہ ڈیٹا کی تصدیق کرنے کا ایک طریقہ ہے جو کچھ رول اپس اور بالآخر ایتھیریم پروٹوکول کے دیگر حصوں کے ذریعے استعمال ہونے والی زیرو-نالج (zero-knowledge) تکنیکوں کے ساتھ مطابقت رکھتا ہے۔

KZG تقریب کیا تھی؟

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

EIP-4844 KZG تقریب عوام کے لیے کھلی تھی اور دسیوں ہزار لوگوں نے اپنی اینٹروپی (بے ترتیبی) شامل کرنے کے لیے اس میں حصہ لیا۔ مجموعی طور پر 140,000 سے زیادہ شراکتی عمل ہوئے، جس سے یہ اپنی نوعیت کی دنیا کی سب سے بڑی تقریب بن گئی۔ تقریب کو نقصان پہنچانے کے لیے، ان شرکاء میں سے 100% کو فعال طور پر بے ایمان ہونا پڑے گا۔ شرکاء کے نقطہ نظر سے، اگر وہ جانتے ہیں کہ وہ ایماندار تھے، تو کسی اور پر بھروسہ کرنے کی ضرورت نہیں ہے کیونکہ وہ جانتے ہیں کہ انہوں نے تقریب کو محفوظ بنایا (انہوں نے انفرادی طور پر N میں سے 1 ایماندار شریک کی ضرورت کو پورا کیا)۔

ڈینک شارڈنگ کیا ہے؟

ڈینک شارڈنگ رول اپ اسکیلنگ کی مکمل تکمیل ہے جو پروٹو-ڈینک شارڈنگ کے ساتھ شروع ہوئی تھی۔ ڈینک شارڈنگ ایتھیریم پر رول اپس کے لیے اپنا کمپریسڈ ٹرانزیکشن ڈیٹا ڈمپ کرنے کے لیے بڑے پیمانے پر جگہ لائے گی۔ اس کا مطلب ہے کہ ایتھیریم آسانی کے ساتھ سینکڑوں انفرادی رول اپس کو سپورٹ کرنے کے قابل ہو جائے گا اور لاکھوں ٹرانزیکشنز فی سیکنڈ کو حقیقت بنا دے گا۔

یہ اس طرح کام کرتا ہے کہ پروٹو-ڈینک شارڈنگ میں بلاکس کے ساتھ منسلک بلابز کو چھ (6) سے بڑھا کر مکمل ڈینک شارڈنگ میں 64 کر دیا جاتا ہے۔ باقی درکار تبدیلیاں ان طریقوں میں اپ ڈیٹس ہیں جن سے کنسینسس کلائنٹس کام کرتے ہیں تاکہ وہ نئے بڑے بلابز کو سنبھال سکیں۔ ان میں سے کئی تبدیلیاں ڈینک شارڈنگ سے آزاد دیگر مقاصد کے لیے پہلے ہی روڈ میپ پر موجود ہیں۔ مثال کے طور پر، ڈینک شارڈنگ کے لیے پروپوزر-بلڈر علیحدگی (proposer-builder separation) کا نفاذ ضروری ہے۔ یہ ایک اپ گریڈ ہے جو مختلف ویلیڈیٹرز کے درمیان بلاکس بنانے اور بلاکس تجویز کرنے کے کاموں کو الگ کرتا ہے۔ اسی طرح، ڈینک شارڈنگ کے لیے ڈیٹا کی دستیابی کی سیمپلنگ (data availability sampling) درکار ہے، لیکن یہ بہت ہلکے کلائنٹس کی ترقی کے لیے بھی درکار ہے جو زیادہ تاریخی ڈیٹا اسٹور نہیں کرتے ("اسٹیٹ لیس کلائنٹس" (stateless clients))۔

موجودہ پیش رفت

مکمل ڈینک شارڈنگ میں ابھی کئی سال باقی ہیں۔ اس دوران، KZG تقریب 140,000 سے زیادہ شراکتی عمل کے ساتھ اختتام پذیر ہو چکی ہے، اور پروٹو-ڈینک شارڈنگ کے لیے EIP (opens in a new tab) پختہ ہو چکا ہے۔ یہ تجویز تمام ٹیسٹ نیٹس میں مکمل طور پر نافذ کر دی گئی ہے، اور مارچ 2024 میں Cancun-Deneb ("Dencun") نیٹ ورک اپ گریڈ کے ساتھ مین نیٹ پر لائیو ہو گئی ہے۔

مزید مطالعہ

صفحہ کی آخری اپ ڈیٹ: ۱۶ فروری، ۲۰۲۶

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