Blockchain

ہارڈ فورکس، سافٹ فورک، ڈیفالٹس اور جبر

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

کانٹے کی اقسام کو واضح کرنے کے لیے یہاں ایک وین ڈایاگرام ہے:

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

اس کے علاوہ، ایک بڑی تنقید اکثر سخت کانٹے کے لیے دی جاتی ہے کہ سخت کانٹے "زبردستی" ہوتے ہیں۔ یہاں جس قسم کی جبر کا مطلب ہے وہ جسمانی قوت نہیں ہے۔ بلکہ، یہ ہے نیٹ ورک اثر کے ذریعے زبردستی. یعنی، اگر نیٹ ورک قواعد کو A سے B میں تبدیل کرتا ہے، پھر بھی اگر آپ ذاتی طور پر A کو پسند کرتے ہیں، اگر زیادہ تر دیگر صارفین B کو پسند کرتے ہیں اور B پر سوئچ کرتے ہیں تو آپ کو B میں تبدیل ہونا پڑے گا، اس تبدیلی کی آپ کی ذاتی ناپسندیدگی کے باوجود آپ کو آن ہونے کے لیے سب کے طور پر ایک ہی نیٹ ورک.

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


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

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

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

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

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

اب، آئیے انتہائی متنازعہ کانٹے کو دیکھتے ہیں، خاص طور پر کانٹے جہاں کان کنی/ویلیڈیٹر کی ترجیحات اور صارف کی ترجیحات میں تضاد ہے۔ یہاں تین صورتیں ہیں: (i) دو طرفہ ہارڈ فورکس، (ii) سختی سے پھیلنے والے ہارڈ فورکس، اور (iii) نام نہاد "صارف کے لیے متحرک نرم فورک" (UASF)۔ چوتھی قسم وہ ہے جہاں کان کن نرم کانٹے کو چالو کرتے ہیں۔ صارف کی رضامندی کے بغیر; ہم اسے بعد میں حاصل کریں گے.

سب سے پہلے، دو طرفہ مشکل کانٹے. بہترین صورت میں، صورت حال سادہ ہے. دونوں سکے مارکیٹ میں تجارت کرتے ہیں، اور تاجر دونوں کی نسبتی قیمت کا فیصلہ کرتے ہیں۔ ETC/ETH کیس سے، ہمارے پاس زبردست شواہد ہیں کہ کان کنوں کے اپنے نظریاتی نظریات سے قطع نظر، اپنے منافع کو زیادہ سے زیادہ کرنے کے لیے قیمتوں کے تناسب کی بنیاد پر اپنی ہیشریٹ کو سکوں پر تفویض کرنے کا بہت زیادہ امکان ہے۔

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

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

دوسرا کنارے کا معاملہ یہ ہے کہ اگر تفاوت بہت زیادہ ہے، تو بڑی زنجیر 51٪ چھوٹی زنجیر پر حملہ کر سکتی ہے۔ یہاں تک کہ 10:1 تناسب کے ساتھ ETH/ETC تقسیم کے معاملے میں، ایسا نہیں ہوا ہے۔ تو یہ یقینی طور پر دیا نہیں ہے. تاہم، یہ ہمیشہ ایک امکان ہوتا ہے اگر غالب سلسلہ پر کان کن علیحدگی کی اجازت دینے اور ان اقدار پر عمل کرنے کے لیے زبردستی کو ترجیح دیں۔

اگلا، آئیے سختی سے سخت فورکس کو پھیلاتے ہوئے دیکھیں۔ SEHF میں، یہ خاصیت ہوتی ہے کہ غیر کانٹے والی زنجیر کانٹے والے اصولوں کے تحت درست ہے، اور اس لیے اگر کانٹے کی قیمت غیر کانٹے والی زنجیر سے کم ہے، تو اس میں غیر کانٹے والی زنجیر سے کم ہیش پاور ہوگی، اور لہذا غیر کانٹے والی زنجیر کو سب سے لمبی زنجیر کے طور پر قبول کیا جائے گا۔ اصل کلائنٹ اور فورکڈ کلائنٹ کے اصولوں کے مطابق - اور اس طرح کانٹے دار زنجیر "فنا ہو جائے گا".

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

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

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

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

اب، ہمارے پاس تین اصول ہیں:

  1. اصل اصول جہاں opcode X ہمیشہ درست ہوتا ہے۔
  2. وہ اصول جہاں opcode X صرف اس صورت میں درست ہے جب باقی لین دین نئے قواعد کی تعمیل کرتا ہے۔
  3. وہ اصول جہاں opcode X ہمیشہ غلط ہوتا ہے۔

نوٹ کریں کہ (2) (1) کے حوالے سے ایک نرم کانٹا ہے، اور (3) (2) کے حوالے سے نرم کانٹا ہے۔ اب، (3) کے حق میں سخت معاشی دباؤ ہے، اور اس لیے نرم کانٹا اپنے مقصد کو پورا کرنے میں ناکام رہتا ہے۔

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

ماخذ: https://vitalik.eth.limo/general/2017/03/14/forks_and_markets.html