ایتھیریم کے حصہ داری کا ثبوت (PoS) میں تنظیم نو کا کھیل
کیسپر شوارز-شِلنگ (Caspar Schwarz-Schilling) ایتھیریم کے حصہ داری کا ثبوت (PoS) میں بلاک کی تنظیم نو کے حملوں پر تحقیق پیش کرتے ہیں، جس میں حملے کے ویکٹرز، دفاعی طریقہ کار، اور پروٹوکول کی سطح پر موجود تخفیف کا احاطہ کیا گیا ہے۔
Date published: ۲۹ نومبر، ۲۰۲۲
یہ پیشکش ایتھیریم کے حصہ داری کا ثبوت (PoS) میں ممکنہ بلاک کی تنظیم نو کی اقسام اور انہیں روکنے کے لیے تیار کی گئی تخفیف کا جائزہ لیتی ہے۔ ایتھیریم فاؤنڈیشن کے روبسٹ انسنٹوز گروپ (Robust Incentives Group) کے محقق، کیسپر شوارز-شِلنگ، ثبوتِ کار (PoW) اور حصہ داری کا ثبوت (PoS) کے درمیان سیکیورٹی کے منظر نامے کا موازنہ کرتے ہوئے، سابقہ (ex-post) اور پیشگی (ex-ante) تنظیم نو کے طریقہ کار پر تفصیلی روشنی ڈالتے ہیں۔
یہ ٹرانسکرپٹ لس کون کی جانب سے شائع کردہ اصل ویڈیو ٹرانسکرپٹ (opens in a new tab) کی ایک قابل رسائی کاپی ہے۔ اسے پڑھنے میں آسانی کے لیے معمولی طور پر مدون کیا گیا ہے۔
تعارف اور پس منظر (0:03)
خوش آمدید۔ آج میں ان تنظیم نو کے بارے میں بات کرنے جا رہا ہوں جو ایتھیریم کے حصہ داری کا ثبوت (PoS) میں ممکن ہیں۔
میں نے حال ہی میں ایتھیریم فاؤنڈیشن، خاص طور پر روبسٹ انسنٹوز گروپ (Robust Incentives Group) میں شمولیت اختیار کی ہے۔ بنیادی طور پر ہم ایک تحقیقی ٹیم ہیں جو مراعات سے متعلق کسی بھی چیز پر توجہ مرکوز کرتی ہے۔ میں اسے مختصر رکھوں گا — یہ گفتگو معلومات سے بھرپور ہے اور آپ ہمارا زیادہ تر کام GitHub پر تلاش کر سکتے ہیں۔
تنظیم نو کی دو اقسام (0:44)
آج میں تنظیم نو کے بارے میں بات کرنا چاہتا ہوں، اور خاص طور پر میں تنظیم نو کی دو مختلف اقسام کا خاکہ پیش کرنا چاہتا ہوں جو ایتھیریم کے حصہ داری کا ثبوت (PoS) کے دائرہ کار میں ممکن ہیں۔
ایک طرف ہمارے پاس سابقہ (ex-post) تنظیم نو ہے اور دوسری طرف پیشگی (ex-ante) تنظیم نو ہے۔ مجھے قدرے دکھاوے والے لاطینی ناموں کے لیے معاف کریں، لیکن یہ مقصد پورا کرتے ہیں۔
سابقہ (ex-post) تنظیم نو کچھ اس طرح کی ہوتی ہے جس کے بارے میں ہم عام طور پر تنظیم نو کی بات کرتے وقت سوچتے ہیں۔ مخالف ایک بلاک دیکھتا ہے — اگر یہ قیمتی ہے تو وہ اسے تنظیم نو کرنے کی کوشش کر سکتا ہے۔ لہذا یہاں خاکہ میں ہم دیکھتے ہیں کہ بلاک N+1 وہ بلاک ہے جسے حملہ آور تنظیم نو کے ذریعے نکالنا چاہتا ہے، اور اسی پیرنٹ بلاک N پر تعمیر کر کے، اگر یہ کام کرتا ہے، تو بلاک N+3 پھر بلاک N+2 پر تعمیر ہوتا ہے۔ یہ معمول کی بات ہے۔
اب پیشگی (ex-ante) تنظیم نو قدرے مختلف ہے۔ خیال یہ ہے کہ حملہ آور کو یہ جاننے سے پہلے ہی حملہ شروع کرنے کی ضرورت ہوتی ہے کہ وہ کس بلاک کی تنظیم نو کرنے جا رہے ہیں۔ یہ تقریباً کیسے کام کرتا ہے؟ انتہائی اعلیٰ سطح پر، بلاک N+1 کو N کے اوپر بنایا جاتا ہے لیکن فوری طور پر جاری نہیں کیا جاتا۔ ایماندار نوڈز کو یہ بھی نہیں معلوم ہوتا کہ N+1 موجود ہے اور اس لیے وہ N پر تعمیر جاری رکھیں گے۔ پھر کسی طریقہ کار کے ذریعے N+1 جاری ہو جاتا ہے اور N+3 دیکھ سکتا ہے کہ N+1 آگے ہے اور اس کے اوپر تعمیر کرتا ہے، اس طرح کہ N+2 دراصل تنظیم نو کے ذریعے باہر ہو جاتا ہے۔
آپ حیران ہو سکتے ہیں کہ آپ اس قسم کی تنظیم نو کیوں کرنا چاہیں گے۔ خیر، ابھی بھی حاصل کرنے کے لیے MEV موجود ہے۔ اگر آپ خوش قسمت ہیں، تو بلاک N+2 میں بہت زیادہ MEV ہے — آپ اس بلاک کو کاپی پیسٹ کر کے اسے حاصل کر سکتے ہیں۔ بدترین صورت میں، آپ کے پاس بنیادی طور پر سننے کے لیے دو سلاٹس کے برابر ٹرانزیکشنز ہوتی ہیں۔
ثبوتِ کار (PoW) میں سابقہ (ex-post) تنظیم نو (2:49)
پیشگی (ex-ante) تنظیم نو میں گہرائی سے جانے سے پہلے، جو اس گفتگو کا بنیادی موضوع ہے، مجھے مختصراً سابقہ (ex-post) تنظیم نو کا خلاصہ کرنے دیں اور خاص طور پر ثبوتِ کار (PoW) کے تناظر سے شروع کریں۔
بنیادی طور پر یہ معمول کے مشتبہ افراد — جارجیوس (Georgios) اور وٹالک (Vitalik) کی بلاگ پوسٹ کا خلاصہ ہے۔ بس آگے بڑھیں اور اسے پڑھیں، یہ زبردست ہے۔
مختصر یہ کہ، ایتھیریم کے ثبوتِ کار (PoW) میں، سابقہ (ex-post) تنظیم نو مشکل ہے لیکن یہ ناممکن نہیں ہے۔ ایک 10% کان کن کے پاس لگاتار کچھ بلاکس کی کان کنی کا نسبتاً اچھا موقع ہوتا ہے، اور اگر مراعات کافی زیادہ ہوں — فرض کریں کہ حاصل کرنے کے لیے 100 ETH مالیت کے MEV کے ساتھ ایک بلاک ہے — تو شاید ایک فیصد کامیابی کی شرح دراصل تنظیم نو کی کوشش کو فائدہ مند بنانے کے لیے کافی ہو سکتی ہے۔
حصہ داری کا ثبوت (PoS) میں سابقہ (ex-post) تنظیم نو (3:39)
حصہ داری کا ثبوت (PoS) میں یہ بالکل مختلف صورتحال ہے۔ ہم درکار اسٹیک کی ایک مضحکہ خیز مقدار کے بارے میں بات کر رہے ہیں۔ میں آپ کو بتاؤں گا کہ کوئی اس کے بارے میں کیسے آگے بڑھ سکتا ہے تاکہ صرف اس بات پر زور دیا جا سکے کہ یہ کتنا مضحکہ خیز حد تک مشکل ہے۔
شاید پہلے کچھ بنیادی باتیں۔ ایتھیریم کے حصہ داری کا ثبوت (PoS) میں وقت سلاٹس میں آگے بڑھتا ہے۔ ہر سلاٹ 12 سیکنڈ طویل ہوتا ہے۔ ہر سلاٹ میں دو کردار ہوتے ہیں: آپ کے پاس ایک تجویز کنندہ ہوتا ہے — بالکل ایک تجویز کنندہ — اور ہزاروں تصدیق کنندگان کی ایک کمیٹی ہوتی ہے جنہیں P2P لیئر پر سنے جانے والے بلاکس کی تصدیق کرنی ہوتی ہے۔ وہ فورک کے انتخاب کو چلا کر چین کے ہیڈ کا تعین کرتے ہیں، جو بنیادی طور پر ایک فنکشن ہے جو بلاک ٹری کو ان پٹ کے طور پر لیتا ہے اور آپ کو چین کا ہیڈ دیتا ہے۔
آپ کو بلاکس کی تصدیق کرنی ہوتی ہے اگر آپ کوئی درست بلاک سنتے ہیں، یا سلاٹ میں چار سیکنڈ گزرنے پر — جو بھی پہلے آئے۔ لہذا اگر کسی وجہ سے بلاک N+1 کا تجویز کنندہ آف لائن ہے اور سلاٹ میں چار سیکنڈ گزرنے پر کوئی بلاک نہیں ہے، تو آپ بلاک N کی تصدیق کرتے ہیں۔ اگر آپ اسے وقت پر سنتے ہیں، تو آپ بلاک N+1 کی تصدیق کرتے ہیں۔ سادہ سی بات ہے۔
یہ تمام تصدیقات بلاکس کو وزن دیتی ہیں، اور اس وزن کو فورک کے انتخاب کے ذریعے یہ تعین کرنے کے لیے استعمال کیا جاتا ہے کہ تازہ ترین ہیڈ کون سا ہے۔
اب آئیے ایک بلاک کی تنظیم نو کا جائزہ لیتے ہیں۔ شروع میں، سب کچھ معمول کے مطابق ہوتا ہے — ہر کوئی بلاک N کی تصدیق کرتا ہے، یہاں تک کہ حملہ آور بھی۔ پھر N+1 کو N کے اوپر بنایا جاتا ہے، اور چونکہ حملہ آور اس بلاک کو وزن نہیں دینا چاہتا جسے وہ تنظیم نو کے ذریعے نکالنے کی کوشش کر رہا ہے، اس لیے وہ اس کے بجائے بلاک N کی تصدیق کرتا ہے۔ بلاک N بہت زیادہ وزن حاصل کر رہا ہے کیونکہ حملہ آور کے پاس کمیٹی کا دو تہائی حصہ ہے — جس کا مطلب ہے کہ انہیں تقریباً پورے اسٹیک کے دو تہائی حصے کو کنٹرول کرنے کی ضرورت ہے۔
ایماندار لوگوں کے ایک تہائی نے N+1 کی تصدیق کی، دو تہائی نے N کی۔ اب بلاک N+2 آتا ہے — ظاہر ہے حملہ آور اسے N پر بناتا ہے، اور اپنے ہی بلاک کی تصدیق کرتا ہے۔ ایماندار توثیق کاروں کے نقطہ نظر سے، N+1 اب بھی وزن کے لحاظ سے آگے ہے کیونکہ N+1 اور N+2 دونوں بلاک N کا پورا وزن وراثت میں حاصل کرتے ہیں، لیکن N+1 کے پاس یہ ایک تہائی تصدیقات بھی ہیں جن کی N+2 میں کمی ہے۔
اگر ہم اس کا حساب لگائیں — بلاک N+1 کے پاس ایک تہائی جمع ایک تہائی مالیت کی تصدیقات ہیں، جو دو تہائی بنتی ہیں، اور بلاک N+2 کے پاس بھی دو تہائی ہیں۔ سادگی کے لیے فرض کریں کہ ٹائی بریک حملہ آور کے حق میں جاتا ہے۔ پھر N+3 دیکھے گا کہ N+2 آگے ہے اور اس کے اوپر تعمیر کرے گا۔
آپ کو یہ اندازہ دینے کے لیے کہ یہ مفروضے کتنے مضحکہ خیز ہیں — یہاں تک کہ اگر آپ کے پاس 65% اسٹیکر ہو، تو کسی بھی دیے گئے سلاٹ میں کمیٹی کے دو تہائی حصے کو کنٹرول کرنے کا آپ کا امکان 0.05% ہے۔ اس سے یہ ظاہر ہوتا ہے کہ متوازی تصدیقات کی طاقت حقیقی ہے — ایتھیریم کے حصہ داری کا ثبوت (PoS) میں سابقہ (ex-post) تنظیم نو ناقابل یقین حد تک مشکل ہے، اگر عملی طور پر ناممکن نہیں۔
پیشگی (ex-ante) تنظیم نو کے حملے کا طریقہ کار (7:34)
اب میں پیشگی (ex-ante) تنظیم نو کے بارے میں بات کرنے جا رہا ہوں۔ یہ حملہ نیوڈر (Neuder) اور دیگر کے ایک مقالے پر مبنی ہے۔ ہم نے حال ہی میں اس حملے میں نمایاں بہتری کی ہے۔ ہم نے اس پر ایک مقالہ بھی لکھا اور اسے عین وقت پر arXiv پر اپ لوڈ کرنے میں کامیاب رہے۔
یہ بھی پہلے سے بتا دوں — پریشان نہ ہوں، اس کی تخفیف موجود ہے۔ انہیں دی مرج سے پہلے ضم کر دیا جائے گا۔
پیشگی (ex-ante) تنظیم نو کا حملہ کیسے کام کرتا ہے؟ ابتدائی طور پر، بلاک N — معمول کے مطابق، ہر کوئی اس کی تصدیق کرتا ہے۔ اب آپ N+1 کے تجویز کنندہ ہیں۔ آپ اسے تجویز کرتے ہیں اور ایک واحد توثیق کار کے ساتھ نجی طور پر اس کی تصدیق کرتے ہیں۔ اہم بات یہ ہے کہ آپ اسے نجی رکھتے ہیں — آپ اسے جاری نہیں کرتے اور آپ اسے P2P لیئر پر نہیں پھیلاتے۔
ہوتا یہ ہے کہ ایماندار لوگ بلاک N+1 کو نہیں دیکھتے، اس لیے وہ بلاک N کی تصدیق کریں گے۔ یہی چال ہے — آپ کو وہ وزن وراثت میں ملتا ہے اور آپ کو دراصل اس سے لڑنا نہیں پڑتا۔
آئیے فی الحال صفر تاخیر فرض کرتے ہیں۔ سلاٹ N+2 میں، ہم حملہ آور کے طور پر جو کرتے ہیں وہ یہ ہے کہ بلاک N+1 اور نجی تصدیق کو ایک ہی وقت میں جاری کرتے ہیں۔ سلاٹ N+2 میں ایماندار توثیق کاروں کو ایک بلاک کی تصدیق کرنے کی ضرورت ہوتی ہے۔ ان کے نقطہ نظر سے وہ بلاک N+2 اور بلاک N+1 کو اس ایک نجی تصدیق کے ساتھ دیکھتے ہیں۔ اگر وہ فورک کا انتخاب چلاتے ہیں تو وہ پائیں گے کہ بلاک N+1 کا وزن بلاک N+2 سے زیادہ ہے، کیونکہ N+1 کے پاس نجی تصدیق ہے جو N+2 کے پاس نہیں ہے۔ یہاں تک کہ تمام ایماندار توثیق کار بھی دراصل بلاک N+1 کی تصدیق کریں گے۔ N+3 میں، واضح طور پر، N+1 کو چین کے ہیڈ کے طور پر دیکھا جائے گا۔
نیٹ ورک کی تاخیر اور حملہ (10:25)
میں نے صفر تاخیر فرض کی تھی، جو ظاہر ہے کہ اس طرح کام نہیں کرتی۔ تاخیر ہوتی ہے — P2P لیئر پر بلاکس اور پیغامات کو پھیلانے میں وقت لگتا ہے۔
حملہ آور اب بھی اس قسم کا حملہ اس طرح کر سکتا ہے کہ P2P ٹوپولوجی پر مختلف مقامات پر اس کے بہت سے نوڈز ہوں۔ جب سلاٹ N+2 میں ایماندار تجویز کنندہ اس بلاک کو تجویز کرتا ہے، تو آپ کو پھیلاؤ کے عمل میں بہت جلد اس کے بارے میں پتہ چل جاتا ہے۔ نتیجے کے طور پر، آپ اپنے نجی بلاک کو ان تمام مختلف مقامات سے اس طرح جاری کر سکتے ہیں کہ اکثریت بلاک N+2 کے بارے میں سننے سے پہلے بلاک N+1 کے بارے میں سن لے گی — جس کا مطلب ہے کہ وہ دیکھتے ہیں کہ بلاک N+1 وزن میں آگے ہے اور وہ دراصل اس کی تصدیق کریں گے۔
یہاں جو کچھ ہو رہا ہے اس پر دوبارہ زور دینے کے لیے: ہمارے پاس ایک واحد تصدیق کنندہ کے ساتھ ایک تجویز کنندہ ہے جو ایک بلاک کی تنظیم نو کرنے میں کامیاب ہو رہا ہے۔ کم از کم یہ کہنا درست ہوگا کہ یہ مثالی نہیں ہے۔
طویل تنظیم نو کے لیے متوازن حکمت عملی (11:42)
اگر آپ مزید پیچیدہ ہونا چاہتے ہیں، تو آپ متوازن حکمت عملی کا استعمال کرتے ہوئے طویل تنظیم نو کر سکتے ہیں۔ خیال یہ ہے کہ ایماندار کمیٹی کو چین کے مختلف مناظر میں تقسیم کیا جائے۔
آپ اپنا نجی بلاک اس طرح جاری کرتے ہیں کہ تقریباً آدھے ایماندار نوڈز بلاک N+2 کے بارے میں سننے سے پہلے آپ کے نجی بلاک اور تصدیق کے بارے میں سن لیں — اس لیے وہ آپ کے بلاک کی تصدیق کرتے ہیں۔ دوسرے آدھے حصے کے لیے آپ چاہتے ہیں کہ وہ N+2 کی تصدیق کرنے سے پہلے آپ کا بلاک نہ سنیں۔
اب آپ کے پاس ایماندار کمیٹی کا آدھا حصہ N+1 کی تصدیق کر رہا ہے اور دوسرا آدھا حصہ N+2 کی تصدیق کر رہا ہے۔ اس سے کیا مدد ملتی ہے؟ ایماندار کمیٹی اب ایک دوسرے کے اثر کو زائل کر دیتی ہے، اور آپ کو بطور حملہ آور ان سے لڑنا بھی نہیں پڑتا — جو بنیادی طور پر حملہ آور کا خواب سچ ہونے کے مترادف ہے۔
خاکے کا جائزہ لیتے ہوئے: بلاک N معمول کے مطابق، بلاک N+1 — وہی کہانی، آپ اسے جاری نہیں کرتے۔ ایماندار توثیق کار بلاک N کی تصدیق کرتے ہیں۔ بلاک N+2 آتا ہے، آپ اس کے بارے میں جلدی سن لیتے ہیں، اور آپ بلاک N+1 کو ایک تصدیق — "فیصلہ کن ووٹ" — کے ساتھ اس طرح جاری کرتے ہیں کہ آدھی ایماندار کمیٹی اسے پہلے دیکھتی ہے اور آدھی بعد میں۔ آدھے N+1 کے لیے ووٹ دیتے ہیں، دوسرے آدھے N+2 کے لیے۔ آپ دراصل ایک کا فرق والی تقسیم چاہتے ہیں تاکہ N+2 کے پاس ایک تصدیق زیادہ ہو، اس طرح N+3، N+2 پر تعمیر ہوتا ہے اور تنظیم نو کو جاری رکھتا ہے۔
دو بلاک کی تنظیم نو کو ختم کرنے کے لیے: بلاک N+3 تجویز کیا جاتا ہے، آپ اسے جلدی سن لیتے ہیں، آپ بلاک N+1 اور اپنی دو بقیہ تصدیقات جاری کرتے ہیں، P2P لیئر کو بھر دیتے ہیں تاکہ ایماندار لوگوں کی اکثریت بلاک N+1 کے لیے ووٹ دے — اس طرح کہ اس کا وزن بلاک N+3 سے زیادہ ہو جائے اور N+4 کو N+1 کے اوپر بنایا جائے۔
اگر آپ اس کے بارے میں سوچیں، تو ان مفروضوں کے تحت یہ تنظیم نو کرنا نسبتاً سستا ہے۔ یہاں تک کہ اگر آپ کے پاس کامل تقسیم نہیں ہے، چونکہ P2P لیئر اتنی بڑی ہے کہ آپ کے پاس ایک امکانی تقسیم ہوتی ہے جسے آپ نشانہ بنا سکتے ہیں تاکہ حملے کی لاگت کمیٹی کے سائز کے مربع جزر میں بڑھے۔
تجویز کنندہ تقویت کی تخفیف (15:17)
آئیے تخفیف کے بارے میں بات کرتے ہیں۔ بنیادی خیال کیا ہے؟ ہم تجویز کنندہ کو تھوڑی زیادہ طاقت دینے جا رہے ہیں۔ اگر کوئی درست بلاک وقت پر پہنچتا ہے، تو آئیے سلاٹ کے دورانیے کے لیے اس بلاک کے وزن کو بڑھا دیں۔ اس سلاٹ کے مکمل ہونے کے بعد، ہم معمول کا ایل ایم ڈی گھوسٹ (LMD GHOST) اسکور دوبارہ شروع کرتے ہیں اور یہ معمول کے مطابق ہو جاتا ہے۔
لہذا اگر بلاک N+2 وقت پر تجویز کیا جاتا ہے اور یہ درست ہے، تو اس بلاک کو تقویت ملے گی — فرض کریں کمیٹی کے سائز کا 80%۔ اب حملہ آور کی طرف سے یہ چھوٹی سی N+1 تصدیق کام نہیں کرے گی۔ بالکل نہیں۔
توازن قائم کرنے والی چیزیں بھی اب کام نہیں کرتیں کیونکہ آپ کے پاس 50/50 کی تقسیم ہوتی ہے لیکن تقویت ہمیشہ اسے ایک سمت میں دھکیل دیتی ہے۔ ایسا کوئی طریقہ نہیں ہے کہ آپ اس 50/50 کی تقسیم کو برقرار رکھ سکیں۔
خیال یہ ہے کہ اس تخفیف کے موجود ہونے سے، مخالف کی تصدیقات کو ایماندار توثیق کاروں کو اپنی پسند کے مطابق ووٹ دینے پر راضی کرنے کے لیے تقویت کا مقابلہ کرنا پڑتا ہے۔ یہ متوازن حکمت عملیوں کو توڑ دیتا ہے اور بنیادی طور پر تمام تنظیم نو کو مکمل طور پر روک دیتا ہے۔ اچھی خبر — ایک اوپن PR موجود ہے، لہذا بنیادی طور پر اسے دی مرج سے پہلے ضم کر دیا جائے گا۔
اہم نکات (16:48)
کچھ اہم نکات۔ میں نے سابقہ (ex-post) اور پیشگی (ex-ante) تنظیم نو کے درمیان فرق کے بارے میں بات کی ہے۔ میں نے ثبوتِ کار (PoW) بمقابلہ حصہ داری کا ثبوت (PoS) میں تنظیم نو کے مختلف منظر ناموں کا مختصراً خاکہ پیش کیا۔ میں نے آپ کو دکھایا کہ پیشگی (ex-ante) تنظیم نو کیسے کی جاتی ہے لیکن اہم بات یہ بھی ہے کہ اسے کیسے ٹھیک کیا جائے۔
اگر آپ اس میں دلچسپی رکھتے ہیں، تو ایک مقالہ موجود ہے — جو بہت زیادہ تفصیلی اور باریک بین ہے۔ سلائیڈز اپ لوڈ کر دی جائیں گی۔ اگر آپ دلچسپی رکھتے ہیں تو آ کر مجھ سے بات کریں، اور آپ مجھے ٹوئٹر پر بھی تلاش کر سکتے ہیں۔
مجھے امید ہے کہ یہ آپ کے لیے دلچسپ رہا ہوگا۔ بہت شکریہ۔