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

سنگل سلاٹ حتمیت

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

ایک ایتھیریم بلاک کو حتمی ہونے میں تقریباً 15 منٹ لگتے ہیں۔ تاہم، ہم ایتھیریم کے اتفاق رائے کے طریقہ کار کو بلاکس کی زیادہ مؤثر طریقے سے توثیق کرنے کے قابل بنا سکتے ہیں اور حتمیت کے وقت کو ڈرامائی طور پر کم کر سکتے ہیں۔ پندرہ منٹ انتظار کرنے کے بجائے، بلاکس کو ایک ہی سلاٹ میں تجویز اور حتمی شکل دی جا سکتی ہے۔ اس تصور کو سنگل سلاٹ حتمیت (SSF) کے نام سے جانا جاتا ہے۔

حتمیت کیا ہے؟

ایتھیریم کے حصہ داری کا ثبوت (PoS) پر مبنی اتفاق رائے کے طریقہ کار میں، حتمیت سے مراد یہ ضمانت ہے کہ کل اسٹیک شدہ ETH کا کم از کم 33% جلائے بغیر کسی بلاک کو بلاک چین سے تبدیل یا ہٹایا نہیں جا سکتا۔ یہ 'کرپٹو-اقتصادی' سیکیورٹی ہے کیونکہ اعتماد اس انتہائی زیادہ لاگت سے آتا ہے جو چین کی ترتیب یا مواد کو تبدیل کرنے سے وابستہ ہے، جو کسی بھی معقول معاشی فرد کو اس کی کوشش کرنے سے روکے گی۔

تیز تر حتمیت کا ہدف کیوں؟

حتمیت کا موجودہ وقت بہت طویل ثابت ہوا ہے۔ زیادہ تر صارفین حتمیت کے لیے 15 منٹ انتظار نہیں کرنا چاہتے، اور یہ ان ایپس اور ایکسچینجز کے لیے تکلیف دہ ہے جو زیادہ ٹرانزیکشن تھرو پٹ چاہتے ہیں، کہ انہیں یہ یقین کرنے کے لیے اتنا طویل انتظار کرنا پڑے کہ ان کی ٹرانزیکشنز مستقل ہیں۔ بلاک کی تجویز اور حتمی شکل کے درمیان تاخیر مختصر ری آرگز (reorgs) کا موقع بھی پیدا کرتی ہے جسے کوئی حملہ آور مخصوص بلاکس کو سنسر کرنے یا MEV نکالنے کے لیے استعمال کر سکتا ہے۔ وہ طریقہ کار جو بلاکس کو مراحل میں اپ گریڈ کرنے سے نمٹتا ہے وہ بھی کافی پیچیدہ ہے اور سیکیورٹی کی خامیوں کو دور کرنے کے لیے اسے کئی بار پیچ کیا گیا ہے، جس سے یہ ایتھیریم کوڈ بیس کے ان حصوں میں سے ایک بن گیا ہے جہاں باریک کیڑے (bugs) پیدا ہونے کا زیادہ امکان ہوتا ہے۔ حتمیت کے وقت کو کم کر کے ایک سنگل سلاٹ تک لانے سے ان تمام مسائل کو ختم کیا جا سکتا ہے۔

لامرکزیت / وقت / اوور ہیڈ کا تبادلہ (tradeoff)

حتمیت کی ضمانت کسی نئے بلاک کی فوری خصوصیت نہیں ہے؛ نئے بلاک کو حتمی ہونے میں وقت لگتا ہے۔ اس کی وجہ یہ ہے کہ نیٹ ورک پر کل اسٹیک شدہ ETH کے کم از کم 2/3 کی نمائندگی کرنے والے توثیق کاروں کو بلاک کے لیے ووٹ ("تصدیق") دینا پڑتا ہے تاکہ اسے حتمی سمجھا جا سکے۔ نیٹ ورک پر ہر توثیق کرنے والے نوڈ کو دوسرے نوڈز سے تصدیقات پر کارروائی کرنی پڑتی ہے تاکہ یہ معلوم ہو سکے کہ آیا کسی بلاک نے وہ 2/3 کی حد حاصل کی ہے یا نہیں۔

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

لہذا، اوور ہیڈ (کمپیوٹنگ پاور)، لامرکزیت (چین کی توثیق میں حصہ لینے والے نوڈز کی تعداد) اور حتمیت کے وقت کے درمیان ایک تبادلہ (trade-off) ہے۔ مثالی نظام کم از کم کمپیوٹنگ پاور، زیادہ سے زیادہ لامرکزیت اور کم از کم حتمیت کے وقت کو متوازن کرتا ہے۔

ایتھیریم کے موجودہ اتفاق رائے کے طریقہ کار نے ان تینوں پیرامیٹرز کو اس طرح متوازن کیا:

  • کم از کم اسٹیک کو 32 ETH پر سیٹ کرنا۔ یہ توثیق کاروں کی تصدیقات کی تعداد پر ایک بالائی حد مقرر کرتا ہے جن پر انفرادی نوڈز کو کارروائی کرنی ہوتی ہے، اور اس طرح ہر نوڈ کے لیے کمپیوٹیشنل ضروریات پر ایک بالائی حد مقرر ہوتی ہے۔
  • حتمیت کا وقت تقریباً 15 منٹ مقرر کرنا۔ یہ عام گھریلو کمپیوٹرز پر چلنے والے توثیق کاروں کو ہر بلاک کے لیے تصدیقات پر محفوظ طریقے سے کارروائی کرنے کے لیے کافی وقت دیتا ہے۔

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

SSF کے راستے

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

یہ عمل ہر توثیق کار کو ہر دور میں ووٹ دینے کی کافی گنجائش فراہم کرتا ہے، کیونکہ 32 slots * 64 committees * 256 validators per committee = 524,288 validators per epoch۔ تحریر کے وقت (فروری 2023) تقریباً 513,000 فعال توثیق کار ہیں۔

اس اسکیم میں، ہر توثیق کار کے لیے کسی بلاک پر ووٹ دینا صرف اسی صورت میں ممکن ہے جب وہ اپنی تصدیقات کو پورے دور میں تقسیم کرے۔ تاہم، طریقہ کار کو بہتر بنانے کے ممکنہ طریقے موجود ہیں تاکہ ہر توثیق کار کو ہر سلاٹ میں تصدیق کرنے کا موقع ملے۔

جب سے ایتھیریم کے اتفاق رائے کا طریقہ کار ڈیزائن کیا گیا تھا، دستخط جمع کرنے کی اسکیم (BLS) ابتدائی سوچ سے کہیں زیادہ قابل توسیع (scalable) پائی گئی ہے، جبکہ کلائنٹس کی دستخطوں پر کارروائی اور تصدیق کرنے کی صلاحیت بھی بہتر ہوئی ہے۔ یہ بات سامنے آئی ہے کہ ایک بڑی تعداد میں توثیق کاروں کی تصدیقات پر کارروائی دراصل ایک ہی سنگل سلاٹ کے اندر ممکن ہے۔ مثال کے طور پر، ایک ملین توثیق کاروں کے ساتھ جن میں سے ہر ایک ہر سلاٹ میں دو بار ووٹ دیتا ہے، اور سلاٹ کے اوقات کو 16 سیکنڈ تک ایڈجسٹ کیا جاتا ہے، نوڈز کو سلاٹ کے اندر تمام 1 ملین تصدیقات پر کارروائی کرنے کے لیے کم از کم 125,000 ایگریگیشنز فی سیکنڈ کی شرح سے دستخطوں کی تصدیق کرنے کی ضرورت ہوگی۔ حقیقت میں، ایک عام کمپیوٹر کو ایک دستخط کی تصدیق کرنے میں تقریباً 500 نینو سیکنڈ لگتے ہیں، جس کا مطلب ہے کہ 125,000 تصدیقات ~62.5 ms میں کی جا سکتی ہیں - جو ایک سیکنڈ کی حد سے بہت کم ہے۔

مزید کارکردگی کے فوائد فی سلاٹ تصادفی طور پر منتخب کردہ 125,000 توثیق کاروں کی سپر کمیٹیاں بنا کر حاصل کیے جا سکتے ہیں۔ صرف ان توثیق کاروں کو بلاک پر ووٹ دینے کا موقع ملتا ہے اور اس لیے توثیق کاروں کا صرف یہی ذیلی سیٹ فیصلہ کرتا ہے کہ آیا کوئی بلاک حتمی ہے۔ آیا یہ ایک اچھا خیال ہے یا نہیں، اس کا انحصار اس بات پر ہے کہ کمیونٹی ایتھیریم پر کامیاب حملے کو کتنا مہنگا دیکھنا پسند کرے گی۔ اس کی وجہ یہ ہے کہ کل اسٹیک شدہ ایتھر کے 2/3 کی ضرورت کے بجائے، ایک حملہ آور اس سپر کمیٹی میں اسٹیک شدہ ایتھر کے 2/3 کے ساتھ ایک بے ایمان بلاک کو حتمی شکل دے سکتا ہے۔ یہ اب بھی تحقیق کا ایک فعال شعبہ ہے، لیکن یہ قرین قیاس لگتا ہے کہ توثیق کاروں کے ایک ایسے سیٹ کے لیے جو اتنا بڑا ہو کہ اسے سپر کمیٹیوں کی ضرورت پڑے، ان ذیلی کمیٹیوں میں سے کسی ایک پر حملہ کرنے کی لاگت انتہائی زیادہ ہوگی (مثال کے طور پر، حملے کی ETH میں ظاہر کی گئی لاگت 2/3 * 125,000 * 32 = ~2.6 million ETH ہوگی)۔ حملے کی لاگت کو توثیق کاروں کے سیٹ کا سائز بڑھا کر ایڈجسٹ کیا جا سکتا ہے (مثال کے طور پر، توثیق کار کے سائز کو اس طرح ترتیب دیں کہ حملے کی لاگت 1 ملین ایتھر، 4 ملین ایتھر، 10 ملین ایتھر وغیرہ کے برابر ہو)۔ کمیونٹی کے ابتدائی پولز (opens in a new tab) سے یہ ظاہر ہوتا ہے کہ 1-2 ملین ایتھر حملے کی ایک قابل قبول لاگت ہے، جس کا مطلب ہے کہ فی سپر کمیٹی ~65,536 - 97,152 توثیق کار ہوں گے۔

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

SSF میں فورک کے انتخاب کے اصول کا کیا کردار ہے؟

آج کا اتفاق رائے کا طریقہ کار حتمیت کے گیجٹ (وہ الگورتھم جو یہ طے کرتا ہے کہ آیا 2/3 توثیق کاروں نے کسی مخصوص چین کی تصدیق کی ہے) اور فورک کے انتخاب کے اصول (وہ الگورتھم جو یہ فیصلہ کرتا ہے کہ جب متعدد اختیارات ہوں تو کون سی چین درست ہے) کے درمیان گہرے تعلق پر انحصار کرتا ہے۔ فورک کے انتخاب کا الگورتھم صرف آخری حتمی بلاک کے بعد والے بلاکس پر غور کرتا ہے۔ SSF کے تحت فورک کے انتخاب کے اصول پر غور کرنے کے لیے کوئی بلاکس نہیں ہوں گے، کیونکہ حتمیت اسی سلاٹ میں ہوتی ہے جس میں بلاک تجویز کیا جاتا ہے۔ اس کا مطلب یہ ہے کہ SSF کے تحت کسی بھی وقت یا تو فورک کے انتخاب کا الگورتھم یا حتمیت کا گیجٹ فعال ہوگا۔ حتمیت کا گیجٹ ان بلاکس کو حتمی شکل دے گا جہاں 2/3 توثیق کار آن لائن تھے اور ایمانداری سے تصدیق کر رہے تھے۔ اگر کوئی بلاک 2/3 کی حد سے تجاوز کرنے کے قابل نہیں ہوتا ہے، تو فورک کے انتخاب کا اصول یہ طے کرنے کے لیے متحرک ہو جائے گا کہ کس چین کی پیروی کرنی ہے۔ یہ غیر فعالی کا رساؤ (inactivity leak) کے طریقہ کار کو برقرار رکھنے کا موقع بھی پیدا کرتا ہے جو اس چین کو بحال کرتا ہے جہاں >1/3 توثیق کار آف لائن ہو جاتے ہیں، اگرچہ کچھ اضافی باریکیوں کے ساتھ۔

حل طلب مسائل

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

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

SSF تحقیق کے مرحلے میں ہے۔ توقع نہیں ہے کہ اسے کئی سالوں تک جاری کیا جائے گا، غالباً دیگر اہم اپ گریڈز جیسے ورکل ٹریز اور ڈینک شارڈنگ کے بعد۔

مزید مطالعہ

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