آخرین بهروزرسانی: ۲۱ بهمن ۱۴۰۰
فورک نوعی بروزرسانی نرم افزاری است که میتواند منجر به تقسیم شبکه بلاکچین شود. به طور کلی دو نوع فورک در بلاکچین داریم که با نام هارد فورک و سافت فورک شناخته میشوند. تفاوت هارد فورک و سافت فورک در بلاک چین به فرآیند انجام آنها برمیگردد که در ادامه به طور مفصل در مورد آن صحبت کردهایم. اگر مقاله فورک چیست را مطالعه نکردهاید پیشنهاد میکنیم در ابتدا به سراغ این مقاله بروید و بعد از آن به خواندن ادامه این مطلب بپردازید.
آنچه در این مطلب خواهید خواند:
- چه کسانی در شبکه بلاکچین تصمیمگیرنده هستند؟
- منظور از فورک در بلاک چین چیست؟
- انواع فورک در بلاکچین
- هارد فورک چیست؟
- سافت فورک چیست؟
- نمونه هایی از هارد فورک
- نمونهای از سافت فورک
- هارد فورک یا سافت فورک: کدامیک بهتر است؟
فهرست
تفاوت هارد فورک و سافت فورک در بلاک چین
شما به عنوان کاربر گوشیهای هوشمند مطمئنا با به روزرسانیها و ارتقاهایی که اپلیکیشنها ارائه میدهند، آشنا هستید. زمانی که نوتیفیکشنی مبنی بر بروزرسانی برنامه و نرم افزارهای گوشی خود را دریافت مینمایید، معمولا بدون درنگ آن را به آخرین نسخه موجود آپدیت میکنید. در بیشتر موارد نیز بدون اینکه متوجه شوید، برنامههای گوشی شما به طور خودکار به روز میشوند. به هر حال این پروسهی مهمی است و معمول اگر آخرین نسخه از نرمافزار را نصب نکنید، نمیتوانید به خدمات آن دسترسی یابید. بلاکچین نیز تقریبا به روزرسانیهای مشابهی دارد اما در آن پروسهی بروزرسانی به راحتی لمس یک دکمه نیست.
برنامههای غیرمتمرکز مثل ارزهای دیجیتال در بلاکچین رویکرد متفاوت و پیچیدهتری دارند. چرا که بلاکچینها پروتکلهای غیرمتمرکز منبع باز هستند و فاقد قدرت مرکزی میباشند. یعنی هیچ نهادی که بتواند بهروزرسانیها را انجام دهد و هر چیز را آنطور که میخواهد تغییر دهد، وجود ندارد. به این ترتیب، تصمیم برای ارتقاء یک پروتکل مستلزم اجماع همه کاربران در شبکه است. در نتیجه، پیاده سازی ویژگیهای جدید در شبکههای بلاکچین میتواند یک چالش بزرگی محسوب شود.
در این مطلب از وبلاگ بیتستان دقیقا این موضوع را بررسی خواهیم کرد که چگونه میتوان شبکه ارزهای دیجیتال را علیرغم فقدان یک مرجع مرکزی ارتقا داد. معمولا برای این کار از دو مکانیسم هارد فورک و سافت فورک استفاده میکنند. ما در ادامه به طور مفصل به تفاوت هارد فورک و سافت فورک در بلاک چین پرداختهایم اما شما قبل از آن برای درک نحوه کار فورکها باید در مورد شرکتکنندگان درگیر در شبکه ارزهای دیجیتال نیز اطلاعات کافی داشته باشید.
چه کسانی در شبکه بلاکچین تصمیمگیرنده هستند؟
به طور کلی در شبکه رمزارزهایی مثل بیتکوین سه گروه توسعهدهندگان، ماینرها و کاربران نود کامل (full node) را داریم. توسعهدهندگان مسئول ایجاد و بروزرسانی کدهای برنامهنویسی هستند و بدون آنها، هیچ نرمافزاری برای اجرا یا رفع اشکال یا اضافه کردن ویژگیهای جدید نداریم. ماینرها نیز افرادی هستند که منابعی را برای افزودن بلاکهای جدید به بلاکچین اختصاص میدهند و شبکه را ایمن میکنند.
کاربران نود کامل (full node) نیز به عنوان ستون فقرات شبکه ارزهای دیجیتال شناخته میشوند. آنها بلوکها و تراکنشها را تأیید، ارسال و دریافت مینمایند و یک نسخه از بلاکچین را حفظ میکنند. حالا که با تصمیمگیرندگان در شبکهی بلاکچین ارزهای دیجیتال آشنا شدید، میتوانید با مفهوم فورک و انواع آن آشنا شوید.
منظور از فورک در بلاکچین چیست؟
قبل از اینکه بخواهیم در مورد تفاوت هارد فورک و سافت فورک در بلاک چین صحبت کنیم، اجازه دهید با مفهوم فورک در بلاکچین آشنا شویم. فورک در اصطلاح برنامه نویسی یک اصلاح برای کدهای منبع باز یا متن باز (open source) است. به عبارت دیگر فورک در نرم افزار به معنی کپی و اصلاح نرم افزار در یک نقطهی خاص میباشد. به این ترتیب پروژه اصلی ادامه مییابد، اما از پروژه جدید که جهت متفاوتی دارد جدا میشود. درست مثل یک جاده که در یک نقطه به دو مسیر متفاوت تقسیم میشود. معمولاً کد فورک شده مشابه کد اصلی اما با تغییرات مهم میباشد.
فورک در پروژه های متنباز زیاد اتفاق میافتد و قدمت آن به قبل از ظهور بیتکوین و اتریوم برمیگردد. با این حال، تمایز بین هارد فورک و سافت فورک تقریباً منحصر به فضای بلاکچین است. گاهی اوقات از فورک برای آزمایش یک پروسه استفاده میشود، اما در مورد ارزهای دیجیتال، بیشتر برای اجرای یک تغییر اساسی یا ایجاد یک دارایی جدید با ویژگیهای مشابه (اما نه برابر) با ویژگی اصلی استفاده میشود.
فورکها انواع مختلفی دارند و میتوانند موقتی یا دائمی باشند. فورکهای دائمی برای همیشه در شبکه وجود خواهند داشت در حالی که فورکهای موقت کوتاه مدت هستند و در شرایط خاصی ایجاد میشوند. گاهی اوقات نیز فورکها به عنوان مسیری برای تأمین مالی جمعی یا پروژههای فناوری جدید مطرح میشوند. اعضایی که از خدمات ارائه شده توسط بلاکچین موجود ناراضی باشند نیز میتوانند منجر به تشکیل فورک بلاکچین شوند.
معمولا فورکها با نام مشابه بلاکچین اصلی ظاهر میشوند. مثلا بیتکوین دو فورک بیتکوین کش و بیتکوین گلد دارد. نقطهی جالب توجه در مورد فورک این است که اگر از قبل توکنهایی را در شبکه بلاکچین داشته باشید، در زنجیره جدید نیز به همان مقدار توکن به شما تعلق میگیرد. یعنی دارندگان کریپتوکارنسی اصلی مبلغی معادل آن را در نسخه جدید بلاکچین خواهند داشت. شاید اینگونه بنظر برسد که با داشتن کوین میتوانید سرمایه خود را دو برابر کنید، اما معمولاً اینطور نیست. اغلب قیمت یکی از ارزهای رمزپایه نسبت به ارزش دیگری کاهش مییابد، بنابراین ارزش کل دارایی شما مشابه قبل ثابت باقی میماند حتی اگر کوینهای بیشتری داشته باشید.
انواع فورک در بلاکچین
فورکها در بلاکچین به دو نوع تقسیم میشوند: هارد فورک و سافت فورک. علیرغم اینکه هر دو نوع فورک نامهای مشابه و در نهایت هدف یکسانی دارند اما تفاوت قابل توجهی بین آنها وجود دارد. بنظر شما منظور از هارد فورک و سافت فورک چیست؟ در ادامه بیشتر به تفاوت هارد فورک و سافت فورک در بلاک چین پرداختهایم.
هارد فورک چیست؟
همانطور که در بالا نیز اشاره کردیم، فورک به معنی کپی و اصلاح کد در یک نقطهی خاص میباشد. هارد فورک در بلاکچین زمانی اتفاق میافتد که گرههای جدیدتر نسخه قدیمی پروتکل را نپذیرند. به عبارت دیگر هارد فورک به ارتقای نرم افزاری اشاره دارد که با نسخههای قدیمی سازگار نیست و نسخههای قدیمیتر را نامعتبر میکند. بنابراین این تغییر در پروتکل منجر به دو شاخه از بلاکچین میشود، به طوری که یک بلاکچین از نسخه قبلی پروتکل و بلاکچین دیگر از نسخه جدید بلاکچین پیروی میکند. اگر نسخههای قدیمیتر به اجرای خود ادامه دهند، در نهایت با پروتکل متفاوت و با دادههای متفاوت از نسخه جدیدتر مواجه میشوند. این میتواند منجر به سردرگمی قابل توجه و خطای احتمالی شود.
معمولا این مورد زمانی اتفاق میافتد که گرهها قوانین جدیدی را به گونهای اضافه میکنند که با قوانین گرههای قدیمی در تضاد باشد. به این ترتیب گرههای جدید فقط میتوانند با گرههایی که نسخه جدید را اجرا میکنند ارتباط برقرار نمایند. در نتیجه همانطور که گفتیم زنجیره بلوکی تقسیم میشود و دو شبکه مجزا ایجاد میکند: یکی با قوانین قدیمی و دیگری با قوانین جدید. این دو شبکه به صورت موازی در حال اجرا خواهند بود و هر دو به انتشار بلاکها و تراکنشها ادامه میدهند، اما دیگر روی یک بلاکچین کار نمیکنند. یعنی همه گرهها تا نقطه فورک یک بلاکچین یکسان داشتند اما بعد از آن بلوکها و تراکنشهای متفاوتی خواهند داشت.
همه شرکتکنندگان برای ادامه مشارکت و اعتبارسنجی تراکنشهای جدید باید به نرمافزار جدید ارتقا یابند. کسانی که ارتقاء ندهند از شبکه جدا میشوند و نمیتوانند تراکنشهای جدید را تأیید کنند. این جداسازی منجر به واگرایی دائمی بلاکچین می شود. هارد فورک میتواند در هر بلاکچینی مانند بیتکوین، بیتکوین کش و غیره اتفاق بیفتد. اینکه دو زنجیره (یا بیشتر) به طور موازی و نامحدود با هم رشد کنند، در بلاکچین امکانپذیر است. عمولاً هر دو نوع بلاکچین توسط جامعه پذیرفته میشود، اما معمولا یکی از آنها همیشه غالب میماند.
در ادامهی تفاوت هارد فورک و سافت فورک در بلاک چین به بررسی مفهوم سافت فورک پرداختهایم.
سافت فورک چیست؟
سافت فورک در بلاکچین یک ارتقاء نرمافزاری است که با نسخههای قدیمیتر سازگاری دارد. به این معنی که گرههای قدیمی بلوکهای جدید را به عنوان بلوکهای معتبر شناسایی میکنند و گرههای نسخه جدید نیز میتوانند با گرههای ارتقا نیافته ارتباط برقرار کنند. همچنین شرکتکنندگانی که به نرمافزار جدید ارتقاء ندادهاند، میتوانند در اعتبارسنجی و تأیید تراکنشها شرکت کنند. چیزی که معمولا در سافت فورک می بینید، اضافه شدن یک قانون جدید است که با قوانین قدیمی تر در تضاد نیست.
برخلاف هارد فورک، همه ماینرها نیازی به توافق برای اجرای قوانین ندارند، اما توافق بین اکثریت ماینرها کارساز خواهد بود. پیادهسازی سافت فورک بسیار سادهتر است چرا که همه شرکتکنندگان چه آنهایی که بروزرسانی شده باشند و چه آنهایی که بروزرسانی نشده باشند، میتوانند به شناسایی بلوکهای جدید و حفظ سازگاری با شبکه ادامه دهند. به عنوان مثال، اگر یک پروتکل به گونهای تغییر کند که یک تغییر ظاهری را اجرا کند یا تابعی را اضافه کند که به هیچ وجه بر ساختار تأثیری نداشته باشد، بلوکهای نسخه جدید توسط گرههای نسخه قدیمی پذیرفته میشوند. با این حال، برعکس آن امکانپذیر نیست یعنی نسخه جدیدتر بلوکهای نسخه قدیمی را رد میکند.
به این ترتیب ماینرهای نسخه قدیمی متوجه میشوند که بلاکهای آنها رد شده است و مجبور به ارتقا میشوند. با ارتقای بیشتر ماینرها، زنجیره بلوکی نسخه جدید طولانیتر شده و سیستم به خودی خود اصلاح میشود. از آنجایی که بلوکهای نسخه جدید توسط گرههای قدیمی پذیرفته میشوند، در نهایت بلوکهای نسخه جدید برنده خواهند شد.
با این حال نکتهای که باید به آن توجه داشته باشید این است که عملکرد یک شرکت کننده ارتقا نیافته تحت تأثیر قرار میگیرد. سافت فورک را میتوان یک مکانیسم ارتقاء تدریجی نامید، زیرا کسانی که نرم افزار خود را ارتقا ندادهاند انگیزه انجام این کار را پیدا میکنند.
نمونه هایی از هارد فورک
در ادامه تفاوت هارد فورک و سافت فورک در بلاک چین نمونههایی از هر دو رو معرفی میکنیم.
بیتکوین کش
نمونهای از هارد فورک در سال 2017 اتفاق افتاد که بیتکوین را به دو زنجیره مجزا تقسیم کرد: زنجیره اصلی با نام بیتکوین (BTC) و زنجیره جدید با نام بیتکوین کش (BCH). این فورک پس از کشمکشهای فراوان بر سر بهترین رویکرد برای مقیاسبندی رخ داد. طرفداران بیتکوین کش به دنبال افزایش اندازه بلوک بودند در حالی که طرفداران بیتکوین مخالف این تغییر بودند.
تغییراتی که بین بیتکوین کش و بیتکوین تفاوت ایجاد کرده است، شامل موارد زیر میباشد:
- بیتکوین کش کارمزد انتقال ارزان تری دارد، بنابراین انجام تراکنشها در BCH باعث صرفه جویی بیشتر میشود.
- بیتکوین کش زمان انتقال سریعتری دارد. بنابراین، لازم نیست 10 دقیقه صبر کنید تا تراکنش بیتکوین را تأیید کنید.
- بیتکوین کش میتواند تراکنشهای بیشتری را در هر ثانیه انجام دهد. این بدان معناست که افراد بیشتری میتوانند همزمان از بیتکوین کش استفاده کنند.
اتریوم کلاسیک
اتریوم برای معکوس کردن اثرات هک رخ داده در یکی از برنامههای خود (DAO) یک هارد فورک ارائه داد. بخش اقلیتی از جامعه با تغییر بلاکچین آن به هر قیمتی مخالف بودند تا ماهیت تغییر ناپذیری آن حفظ شود. توسعهدهندگان اصلی اتریوم و اکثریت جامعه با هارد فورک پیش رفتند و فقط اقلیتی نرمافزار خود را ارتقا دادند و به استخراج آنچه که اکنون به عنوان اتریوم کلاسیک (ETC) شناخته می شود، ادامه دادند.
از آنجایی که اکثریت به زنجیره جدید منتقل شدند، آنها همچنان نماد اصلی ETH را حفظ کردند، در حالی که به اقلیت حامی زنجیره قدیمی اصطلاح Ethereum Classic یا ETC داده شد. اتریوم کلاسیک یک پلتفرم منبع باز مبتنی بر بلاکچین است که قراردادهای هوشمند را فعال میکند و دارای زبان برنامه نویسی تورینگ میباشد.
نمونهای از سافت فورک
افزایش سرعت تراکنش از جمله پرتکرارترین مباحث در بین ماینرها میباشد. به طور کلی، استخراج یک تراکنش بیتکوین در یک بلوک حدود ده دقیقه طول می کشد و ماینرها همیشه در جستجوی راهی برای افزایش تعداد تراکنشها را در یک بلوک بودهاند. برای دستیابی به این هدف ماینرها راه حلی به نام Segregated Witness یا SegWit پیشنهاد کردند. SegWit یکی از معروفترین و محبوبترین نمونههای سافت فورک است که مدت کوتاهی پس از تقسیم بیتکوین/ بیتکوین کش رخ داد.
SegWit قالب بلوکها و تراکنشها را تغییر داد اما هوشمندانه ساخته شده بود، به طوری که گرههای قدیمی هنوز هم میتوانستند بلوکها و تراکنشها را تأیید کنند و قالببندی قوانین را نقض نمیکردند.
هارد فورک یا سافت فورک: کدامیک بهتر است؟
اساساً، هر دو نوع فورک اهداف مختلفی را دنبال میکنند. هر دوی هارد فورکها و سافت فورکها برای موفقیت طولانی مدت شبکههای بلاکچین بسیار مهم هستند و به ما اجازه میدهند تا علیرغم نداشتن یک مرجع مرکزی، تغییرات و ارتقاء را در سیستم های غیرمتمرکز اعمال کنیم. فورکها این امکان را برای بلاکچین و ارزهای دیجیتال فراهم کردهاند تا ویژگیهای جدید را در حین توسعه اعمال کنند. بدون این مکانیسم، ما به یک سیستم متمرکز با کنترل از بالا به پایین نیاز داریم.
هارد فورک در فرآیند و ویژگیهای خود با سافت فورک مغایرت دارد اما به طور کلی میتوان گفت که سافتفورکها گزینه ملایمتری هستند و تغییرات جدید در آن با قوانین قدیمی در تضاد نیست. لیستی از تفاوت هارد فورک و سافت فورک در بلاک چین به طور خلاصه برای شما در زیر آوردهایم.
هارد فورک | سافت فورک |
با نسخههای قدیمی سازگار نیست. | با نسخههای قدیمی سازگار است. |
دو بلاکچین ایجاد میکند. | در آخر تقسیمبندی خود را ترکیب میکند و آنها را یکی مینماید. |
به همه ماینرها نیاز دارد که قوانین جدید را تأیید کنند. | سافتفورک میتواند با اکثر ماینرها کار خود را شروع کند. |
کل قوانین یک بلاکچین را تغییر میدهد. | از سافت فورک برای افزودن عملکردها و ویژگیهای جدید به زنجیره بلوکی استفاده میشود. |
بیتستان به عنوان یک صرافی آنلاین بستر امنی را برای خرید و فروش رمزارزهای دیجیتال فراهم کرده است. شما میتوانید به صورت 24 ساعته از خدمات خرید و فروش این مجموعه بهرهمند شوید و به سادگی، بیتکوین و سایر رمز ارزها را بخرید و یا بفروشید. توجه کنید که این امکان برای شما عزیزان فراهم شده است از پشتیبانی کارشناسان مجرب ما نیز بهرهمند شوید. شما میتوانید از طریق صفحه چت آنلاین روی وب سایت و یا تماس با شماره تلفن مجموعه با ما در ارتباط باشید.