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

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

سنگل سلاٹ فائنلٹی

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

فائنلٹی کیا ہے؟

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

تیز تر فائنلٹی کا مقصد کیوں؟

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

ڈی سینٹرلائزیشن / وقت / اوور ہیڈ کا تبادلہ (tradeoff)

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

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

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

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

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

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

SSF کے راستے

جب سے ایتھریم کنسینسس میکانزم ڈیزائن کیا گیا تھا، دستخط جمع کرنے کی اسکیم (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) ہے جو واقعی ویلیڈیٹر نوڈز کو چیلنج کرتا ہے۔ دستخط جمع کرنے کو اسکیل کرنے کے لیے ممکنہ طور پر ہر سب نیٹ میں ویلیڈیٹرز کی تعداد بڑھانے، سب نیٹس کی تعداد بڑھانے، یا ایگریگیشن کی اضافی تہیں شامل کرنے (یعنی کمیٹیوں کی کمیٹیاں نافذ کرنے) کی ضرورت ہوگی۔ حل کا ایک حصہ خصوصی ایگریگیٹرز کی اجازت دینا ہو سکتا ہے - بالکل اسی طرح جیسے پروپوزر-بلڈر سیپریشن (PBS) اور Danksharding کے تحت رول اپ (rollup) ڈیٹا کے لیے بلاک بنانے اور کمٹمنٹس (commitments) پیدا کرنے کا کام خصوصی بلاک بلڈرز کو آؤٹ سورس کیا جائے گا۔

SSF میں فورک-چوائس (fork-choice) اصول کا کیا کردار ہے؟

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

حل طلب مسائل

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

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

SSF تحقیق کے مرحلے میں ہے۔ توقع نہیں ہے کہ اسے کئی سالوں تک جاری کیا جائے گا، ممکنہ طور پر دیگر اہم اپ گریڈز جیسے Verkle trees اور Danksharding کے بعد۔

مزید مطالعہ

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

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