تفاوت هارد فورک و سافت فورک در چیست؟
هنگامی که از شما خواسته میشود برنامه بانکداری دیجیتال خود را در تلفن هوشمند خود بهروز کنید، شاید به نظرتان عجیب برسد. چرا که امروزه تلفن شما بدون اینکه حتی متوجه شوید، بهطور خودکار بهروز میشود. بهروزرسانی، یک فرآیند ضروری است و اگر آخرین نسخه نرمافزار را نصب نکنید، ممکن است از دسترسی به خدمات آن محروم شوید.
در ارزهای دیجیتال منبع باز، اوضاع بسیار متفاوت است. برای استفاده از آن نیازی به خواندن همه سطرهای کد زیربنای بیتکوین نیست، اما داشتن انتخاب برای آن مهم است. همانطور که مشخص است هیچ سلسله مراتبی در این جا وجود ندارد و هیچ بانکی وجود ندارد که بتواند فقط بهروزرسانیها را انجام دهد و هر طور که بخواهد، همه چیز را تغییر دهد. در نتیجه، پیادهسازی ویژگیهای جدید در شبکههای بلاک چین، میتواند یک چالش باشد.
در این مقاله، میفهمیم چگونه میتوان شبکههای ارز دیجیتال را بهرغم عدم وجود مرجع مرکزی ارتقا داد. برای انجام این کار، آنها از دو مکانیزم مختلف استفاده میکنند: هارد فورک و سافت فورک.

چه کسی در یک شبکه بلاک چین تصمیم میگیرد؟
برای درک چگونگی کارکرد فورک ها، باید ابتدا از شرکتکنندگان درگیر در فرآیند تصمیمگیری شبکه مطلع شوید. در بیت کوین، شما میتوانید به طور گستردهای بین سه زیر مجموعه از شرکتکنندگان- توسعهدهندگان ، استخراج کنندگان و کاربران گره کامل، تمایز قائل شوید. اینها طرفهایی هستند که در واقع به شبکه کمک میکنند. از گرههای لایت (به عنوان مثال، کیف پول های روی تلفن هوشمند یا لپ تاپ و غیره) به طور گستردهای استفاده میشود، اما در شبکه شرکت ندارند.
توسعهدهندگان
توسعهدهندگان، مسئول ایجاد و بهروزرسانی کد هستند. برای کوین معمولی، هرکسی میتواند در این روند شرکت داشته باشد. این کد به صورت عمومی در دسترس است، بنابراین آنها میتوانند تغییراتی را برای بررسی سایر توسعهدهندگان ارائه دهند.
ماینرها
ماینرها (استخراجکنندگان) کسانی هستند که شبکه را ایمن میکنند. آنها کد رمزارز را اجرا میکنند و منابع خود را به افزودن بلوک های جدید به بلاک چین، اختصاص میدهند. به عنوان مثال، در شبکه بیت کوین این کار را از طریق Proof of Work انجام میدهند. آنها به خاطر تلاشهایشان به صورت بلوکی پاداش میگیرند.
کاربران گره کامل
گرههای کامل، ستون فقرات شبکه ارزهای دیجیتال هستند. آنها بلوک ها و معاملات را تأیید، ارسال و دریافت میکنند و نسخهای از بلاک چین را حفظ میکنند. در این دستهها اغلب همپوشانی پیدا خواهید کرد. به عنوان مثال، میتوانید یک توسعهدهنده و یک کاربر گره کامل یا یک کاربر استخراج و گره کامل باشید. شما میتوانید هر سه اینها باشید یا هیچ یک. در واقع، بسیاری از آنچه ما کاربران رمز دیجیتال میدانیم، هیچ یک از این نقشها را بر عهده ندارند. در عوض، آنها ترجیح میدهند از گرههای لایت یا خدمات متمرکز استفاده کنند. با نگاهی به توضیحات بالا، میتوانید موارد محکمی را برای توسعهدهندگان و استخراجکنندگان در تصمیمگیری برای شبکه ایجاد کنید.
توسعهدهندگان کد را ایجاد میکنند؛ بدون آنها، شما هیچ نرمافزاری برای اجرا و کسی را برای رفع اشکالات یا افزودن ویژگیهای جدید، نخواهید داشت.
ماینرها شبکه را ایمن میکنند. بدون رقابت سالم در استخراج، زنجیره میتواند ربوده یا ممکن است متوقف شود. اگر این دو دسته سعی کنند بقیه شبکه را برای پیروی از اراده خود تجهیز کنند، ممکن است نتیجه به خوبی پایان نیابد. برای بسیاری، قدرت واقعی در گرههای کامل متمرکز شده است. این تا حد زیادی تابعی از انتخاب شبکه است، به این معنی که کاربران میتوانند نرمافزار موردنظر خود را انتخاب کنند. در این راه شما را مجبور به بارگیری باینری Bitcoin Core نمیکنند. اگر ماینرها نگرش “راه من یا بزرگراه” را برای اعمال فشار ناخواسته بر روی کاربران اتخاذ کنند، در این حالت، کاربران فقط بزرگراه را انتخاب میکنند.
این گروهها صاحبان قدرت نیستند؛ بلکه ارائه دهنده خدمات هستند. اگر مردم تصمیم بگیرند از شبکه استفاده نکنند، کوین ارزش خود را از دست میدهد. از دست دادن ارزش، به طور مستقیم بر ماینرها تأثیر میگذارد (ارزش پاداش آنها به دلار کمتر است) در مورد توسعهدهندگان به گونه ای دیگر است، آنها فقط میتوانند توسط کاربران نادیده گرفته شوند.
این طور نیست که نرمافزار اختصاصی باشد. شما میتوانید هر ویرایشی را که میخواهید انجام دهید و اگر دیگران نرمافزار اصلاح شده شما را اجرا کنند، همه میتوانید با هم ارتباط برقرار کنید. در این صورت، شما نرمافزار را فورک میکنید و یک شبکه جدید ایجاد میکنید.
فورک چیست؟
یک فورک نرمافزاری در صورتی رخ میدهد که نرمافزار کپی و اصلاح میشود. پروژه اصلی ادامه دارد، اما اکنون از پروژه جدید جدا شده است و جهت دیگری دارد. فرض کنید تیم وبسایت محتوای ارز دیجیتال مورد علاقه شما ، اختلاف نظری اساسی راجع به فرایند کارشان داشته باشد. یک قسمت از تیم ممکن است سایت را در دامنه دیگری تکرار کند، اما در ادامه، آنها انواع مختلفی از محتوای اصلی را ارسال میکنند. این پروژهها یک نقطه مشترک ایجاد میکنند و دارای یک تاریخچه هستند. دقیقاً مانند یک جاده واحد که بعداً به دو قسمت تقسیم میشود، اکنون یک واگرایی دائمی و دوسویه شدن در مسیر آنها شکل گرفته است.
توجه داشته باشید که این نوع اتفاقات در پروژههای متن باز، بسیار زیاد اتفاق میافتد و مدتها قبل از ظهور بیت کوین یا اتریوم اتفاق میافتاده است. با این حال، تمایز بین هارد فورک و سافت فورک تقریباً منحصر به فضای بلاک چین است. بیایید کمی بیشتر در مورد آنها بحث کنیم.
هارد فورک یا سافت فورک؟
علیرغم داشتن نامهای مشابه و درنهایت در راستای همان هدف، هارد فورکها و سافت فورکها تفاوت چشمگیری دارند. بیایید نگاهی به هر یک بیندازیم.
هارد فورک چیست؟
هارد فورک ها به روزرسانیهای نرمافزاری سازگار با قبل هستند. به طور معمول، این موارد زمانی اتفاق میافتد که گره ها، قوانین جدید را به گونهای اضافه میکنند که با قوانین گره های قدیمی مغایرت داشته باشد. گره های جدید فقط میتوانند با مواردی که نسخه جدید را کار میکنند ارتباط برقرار کنند. در نتیجه، بلاک چین تقسیم میشود و دو شبکه جداگانه ایجاد میکند: یکی با قوانین قدیمی کار میکند و دیگری با قوانین جدید.
گرهها بعد از بهروزرسانی آبی میشوند. گرههای زرد قدیمی آنها را رد میکنند، در حالی که گرههای آبی به یکدیگر متصل میشوند. بنابراین اکنون دو شبکه به صورت موازی در حال اجرا هستند. آنها هر دو به انتشار بلوک ها و معاملات ادامه میدهند، اما دیگر روی یک بلاک چین کار نمیکنند. همه گرهها تا زمان انشعاب، یک بلاک چین یکسان داشتند ( و این سابقه تراکنشها باقی مانده است)، اما پس از آن بلوکها و معاملات مختلفی دارند.
پس از انشعاب
از آنجا که این سابقه مشترک بین آن دو وجود دارد، اگر پیش از فورک در آنها حضور داشته باشید، در هر دو شبکه، ارزهای دیجیتال شما محفوظ میمانند.
فرض کنید وقتی یک فورک در بلوک 600000 رخ داد، شما 5 BTC داشتید. شما میتوانید این 5 BTC را در زنجیره قدیمی در Block 600،001 خرج کنید، اما در بلاک چین جدید Block 600،001 این امکان را ندارید. با فرض اینکه رمزنگاری تغییر نکرده است، کلیدهای خصوصی شما هنوز پنج کوین را در شبکه فورک نگه میدارد.
یک نمونه از هارد فورک: فورک سال 2017 بود که بیتکوین را به دو زنجیره جداگانه تقسیم کرد – زنجیره اصلی: Bitcoin (BTC) و زنجیره جدید: Bitcoin Cash (BCH). این فورک پس از بحث و جدال در مورد بهترین روش برای مقیاس بندی رخ داد. طرفداران بیتکوین کش، میخواستند اندازه بلوک را افزایش دهند، در حالی که طرفداران بیت کوین، با این تغییر مخالفت میکردند.
افزایش اندازه بلوک نیاز به اصلاح قوانین دارد. این قبل از سافت فورک SegWit بود، بنابراین گره ها فقط بلوک های کوچکتر از 1 مگابایت را میپذیرند. اگر یک بلوک 2 مگابایتی ایجاد کنید که معتبر نباشد، گرههای دیگر همچنان آن را رد میکنند. فقط گرههایی که نرمافزار خود را تغییر دادهاند تا اجازه بلوک های بیش از 1 مگابایت را بدهند، میتوانند این بلوکها را بپذیرند. البته، این امر باعث میشود که آنها با نسخه قبلی ناسازگار باشند. بنابراین فقط گرههایی با همان تغییرات پروتکل، میتوانند با یکدیگر ارتباط برقرار کنند.
سافت فورک چیست؟
سافت فورک یک ارتقا سازگار با قبل است، به این معنی که گرههای ارتقایافته، هنوز هم میتوانند با موارد ارتقانیافته ارتباط برقرار کنند. آنچه معمولاً در سافت فورک میبینید، اضافه شدن قانون جدیدی است که با قوانین قدیمی مغایرت ندارد. به عنوان مثال، میتوان کاهش اندازه بلوک را با سافت فورک اجرا کرد.
بیایید برای نشان دادن این نکته بار دیگر از بیت کوین استفاده کنیم: اگرچه محدودیتی در اندازه بزرگ بودن یک بلوک وجود دارد، اما در مورد کوچک بودن آن محدودیتی وجود ندارد. اگر میخواهید بلوک های زیر یک اندازه خاص را بپذیرید، فقط باید بزرگترها را رد کنید.
با این کار، ارتباط شما به طور خودکار از شبکه قطع نمیشود. شما هنوز با گرههایی که این قوانین را اجرا نمیکنند، ارتباط برقرار میکنید، اما برخی از اطلاعاتی را که به شما منتقل میکنند، فیلتر میکنید. یک نمونه خوب و واقعی از یک سافت فورک، فورک فوق العاده Segregated Witness (SegWit) بود، که اندکی پس از انشعاب Bitcoin / Bitcoin Cash رخ داد. SegWit یک بهروزرسانی بود که قالب بلوک ها و تراکنش ها را تغییر داد، اما هوشمندانه ساخته شد. گرههای قدیمی همچنان میتوانند بلوک ها و تراکنش ها را تأیید کنند (قالببندی قوانین را نقض نمیکند)، اما نمیتوانند آنها را درک کنند. برخی از فیلدها فقط در صورت تغییر گره ها به نرمافزار جدیدتر، قابل خواندن هستند که به آنها امکان تجزیه و تحلیل دادههای اضافی را میدهد. حتی دو سال پس از فعالسازیSegWit ، همه گرهها به روز نشدهاند. انجام این کار مزایایی دارد اما فوریتی واقعی وجود ندارد؛ زیرا هیچ تغییری در شکستن شبکه وجود ندارد.
هارد فورک یا سافت فورک کدام یک بهتر است؟
اساساً هر دو نوع فورک فوق، اهداف مختلفی را دنبال میکنند. هارد فورکهای بحثبرانگیز، میتوانند یک جامعه را از هم جدا کنند، اما موارد برنامهریزی شده، به شما امکان تغییر نرمافزار را با همه توافقکنندگان میدهد. سافت فورک ها گزینه ملایمتری هستند. به طور کلی شما را در کارهایی که میتوانید انجام دهید، محدودتر میکنند؛ زیرا تغییرات جدید شما نمیتواند با قوانین قدیمی مغایرت داشته باشد. پس اگر بهروزرسانی شما به گونهای ساخته شود که سازگار بماند، لازم نیست نگران تقسیم شبکه باشید.
نتیجهگیری پایانی
هارد فورک و سافت فورک برای موفقیت طولانیمدت شبکه های بلاک چین، بسیار مهم هستند. آنها به ما اجازه میدهند، علیرغم نبود یک مرجع مرکزی، در سیستمهای غیرمتمرکز تغییر ایجاد کرده و آنها را ارتقا دهیم. فورکها امکان ایجاد یکپارچهسازی ویژگیهای جدید در بلاکچینها و ارزهای دیجیتال را فراهم میکنند. بدون این مکانیزمها، ما به یک سیستم متمرکز با کنترل از بالا به پایین، نیاز داریم. در غیر این صورت، ما میتوانیم دقیقاً همان قوانین را در طول عمر پروتکل حفظ کنیم.