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

ڈینک شارڈنگ

صفحہ میں ترمیم کریں (opens in a new tab)

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

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

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

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

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

رول اپس اپنے ٹرانزیکشن ڈیٹا کی کمٹمنٹس کو آن چین پوسٹ کرتے ہیں اور اصل ڈیٹا کو ڈیٹا بلابس میں بھی دستیاب کراتے ہیں۔ اس کا مطلب ہے کہ ثابت کنندہ یہ چیک کر سکتے ہیں کہ کمٹمنٹس درست ہیں یا اس ڈیٹا کو چیلنج کر سکتے ہیں جو ان کے خیال میں غلط ہے۔ نوڈ کی سطح پر، ڈیٹا کے بلابس اتفاقِ رائے کے کلائنٹ میں رکھے جاتے ہیں۔ اتفاقِ رائے کے کلائنٹس تصدیق کرتے ہیں کہ انہوں نے ڈیٹا دیکھا ہے اور اسے نیٹ ورک کے ارد گرد پھیلا دیا گیا ہے۔ اگر ڈیٹا کو ہمیشہ کے لیے رکھا جاتا، تو یہ کلائنٹس پھول جاتے اور نوڈس چلانے کے لیے ہارڈویئر کی بڑی ضروریات کا باعث بنتے۔ اس کے بجائے، ڈیٹا کو ہر 18 دن بعد نوڈ سے خود بخود کاٹ دیا جاتا ہے۔ اتفاقِ رائے کے کلائنٹ کی تصدیقات یہ ظاہر کرتی ہیں کہ ثابت کنندگان کے لیے ڈیٹا کی تصدیق کرنے کا کافی موقع موجود تھا۔ اصل ڈیٹا کو رول اپ آپریٹرز، صارفین یا دیگر کے ذریعے آف چین اسٹور کیا جا سکتا ہے۔

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

رول اپس ان ٹرانزیکشنز کو ڈیٹا بلابس میں پوسٹ کرتے ہیں جنہیں وہ انجام دیتے ہیں۔ وہ ڈیٹا کے لیے ایک "کمٹمنٹ" بھی پوسٹ کرتے ہیں۔ وہ ڈیٹا پر ایک کثیر رقمی (polynomial) فنکشن فٹ کر کے ایسا کرتے ہیں۔ پھر اس فنکشن کا مختلف مقامات پر جائزہ لیا جا سکتا ہے۔ مثال کے طور پر، اگر ہم ایک انتہائی سادہ فنکشن 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) ثبوتوں کا استعمال کرتے ہوئے لیئر ۱ (l1) پر ایتھیریم ٹرانزیکشنز کی درستگی کی جانچ کرتے ہیں۔ KZG ایک متبادل ثبوت ہے جو ڈیٹا پر ایک کثیر رقمی مساوات کو فٹ کرتا ہے۔ کمٹمنٹ کچھ خفیہ ڈیٹا پوائنٹس پر کثیر رقمی کا جائزہ لیتی ہے۔ ایک ثابت کنندہ ڈیٹا پر وہی کثیر رقمی فٹ کرے گا اور انہی قدروں پر اس کا جائزہ لے گا، یہ چیک کرتے ہوئے کہ نتیجہ یکساں ہے۔ یہ ڈیٹا کی تصدیق کرنے کا ایک طریقہ ہے جو کچھ رول اپس اور بالآخر ایتھیریم پروٹوکول کے دیگر حصوں کے ذریعے استعمال ہونے والی صفر علم تکنیکوں کے ساتھ مطابقت رکھتا ہے۔

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

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

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

جب کوئی رول اپ کسی بلاب میں ڈیٹا پوسٹ کرتا ہے، تو وہ ایک "کمٹمنٹ" فراہم کرتے ہیں جسے وہ آن چین پوسٹ کرتے ہیں۔ یہ کمٹمنٹ مخصوص مقامات پر ڈیٹا پر فٹ ہونے والے کثیر رقمی کا جائزہ لینے کا نتیجہ ہے۔ ان مقامات کی وضاحت KZG تقریب میں پیدا ہونے والے بے ترتیب نمبروں سے کی جاتی ہے۔ پھر ثابت کنندگان ڈیٹا کی تصدیق کرنے کے لیے انہی مقامات پر کثیر رقمی کا جائزہ لے سکتے ہیں - اگر وہ انہی قدروں پر پہنچتے ہیں تو ڈیٹا درست ہے۔

اگر کوئی کمٹمنٹ کے لیے استعمال ہونے والے بے ترتیب مقامات کو جانتا ہے، تو ان کے لیے ایک نیا کثیر رقمی بنانا آسان ہے جو ان مخصوص مقامات پر فٹ بیٹھتا ہو (یعنی ایک "ٹکراؤ" یا collision)۔ اس کا مطلب ہے کہ وہ بلاب سے ڈیٹا شامل یا ہٹا سکتے ہیں اور پھر بھی ایک درست ثبوت فراہم کر سکتے ہیں۔ اسے روکنے کے لیے، ثابت کنندگان کو اصل خفیہ مقامات دینے کے بجائے، وہ دراصل بیضوی خطوط (elliptic curves) کا استعمال کرتے ہوئے ایک کرپٹوگرافک "بلیک باکس" میں لپٹے ہوئے مقامات وصول کرتے ہیں۔ یہ مؤثر طریقے سے قدروں کو اس طرح گڈمڈ کر دیتے ہیں کہ اصل قدروں کو ریورس انجینئر نہیں کیا جا سکتا، لیکن کچھ ہوشیار الجبرا کے ساتھ ثابت کنندگان اور تصدیق کنندگان اب بھی ان مقامات پر کثیر رقمی کا جائزہ لے سکتے ہیں جن کی وہ نمائندگی کرتے ہیں۔
نہ تو ڈینک شارڈنگ اور نہ ہی پروٹو-ڈینک شارڈنگ روایتی "شارڈنگ" ماڈل کی پیروی کرتے ہیں جس کا مقصد بلاک چین کو متعدد حصوں میں تقسیم کرنا ہے۔ شارڈ چینز اب روڈ میپ کا حصہ نہیں ہیں۔ اس کے بجائے، ڈینک شارڈنگ ایتھیریم کو اسکیل کرنے کے لیے بلابس میں تقسیم شدہ ڈیٹا سیمپلنگ کا استعمال کرتی ہے۔ اسے نافذ کرنا بہت آسان ہے۔ اس ماڈل کو بعض اوقات "ڈیٹا-شارڈنگ" بھی کہا جاتا ہے۔

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

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

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

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

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

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

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

مزید مطالعہ

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