یکی از مفهوم های پرکاربرد در دنیای ارزهای دیجیتال فورک، هارد فورک و سافت فورک است. می خواهیم بدانیم مفهوم فورک در ارز دیجیتال چیست. عوامل موثر در رخداد فورک کدامند و تاثیر فورک بر قیمت ارزهای دیجیتال چگونه است؟

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

در واقع فورک ها روشی برای ایجاد تغییر قوانین اجماع یا ارائه قوانین جدید در بلاک چین مورد استفاده قرار می گیرند. با توجه به اینکه فورک ها تغییراتی در کد یا پروتکل اصلی شبکه ایجاد می کنند یکی از روش های به روزرسانی و ارتقای بلاک چین به شمار می روند.

در صورتی که تغییرات اعمال شده سازگاری لازم با پروتکل قبلی را داشته باشند به آنها اصطلاحا سافت فورک (soft fork) یا انشعاب نرم می گویند. اگر تغییرات اعمال شده به طور کلی منجر به ایجاد تغییرات پایه ای در عملکرد بلاک چین شوند به گونه ای که دیگر با پروتکل قبلی سازگار نباشند هارد فورک(hard fork) نامیده می شوند.

مفهوم فورک در ارز دیجیتال

بیشتر بخوانید: مفهوم نود node در بلاک چین چیست؟

فورک چیست؟

بر اساس مطالب گفته شده اطلاعاتی که در بلاک چین ثبت می گردند قابل تغییر نیستند. زمانی که یک بلاک چین شروع به فعالیت می کند امکان جلوگیری از اجرای آن وجود ندارد. پروتکل ها قوانین موجود در ارزهای دیجیتال هستند که توسط برنامه نویسان تعیین شده اند. بلاک چین ها نیز طبق پروتکل ها و قوانین نوشته شده عمل کرده و تا پایان به این کار ادامه می دهند.

به طور مثال مهم ترین قوانین شبکه اصلی بیت کوین عبارت است از:

  • مدت زمان اجرای هر بلاک 10 دقیقه باشد.
  • ظرفیت هر بلاک 1 مگابایت باشد.
  • تعداد کل واحدهای عرضه شده 21 میلیون باشد.

اما گاهی ممکن است نیاز باشد قابلیت های یک بلاک چین را افزایش دهیم یا تغییراتی برای پیشرفت آن در کد بلاک چین اعمال کنیم.

برای انجام این عمل نیاز به بروزرسانی بلاک چین داریم که اصطلاحا به آن فورک می گویند. در واقع فورک به عنوان راه حلی برای تغییر قوانین و شرایط یک ارز دیجیتال محسوب می شوند.

همانطور که قبلا هم گفتیم فورک های جدید می توانند با قوانین قبلی سازگار بوده و یا ناسازگار با آن قوانین باشند. زمانی که یک نرم افزار یا یک پروتکل به روزرسانی می شود از واژه فورک یا انشعاب استفاده می شود. اما در ارزهای دیجیتال زمانی که شبکه به دو بخش تقسیم شود فورک اتفاق می افتد.

مفهوم فورک در ارز دیجیتال

بیشتر بخوانید: اتریوم کلاسیک چیست و چه مزیت هایی نسبت به اتریوم دارد؟

عوامل موثر در رخ دادن فورک

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

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

عوامل موثر در ایجاد فورک شامل موارد زیر است:

  • حل اختلافات فنی
    اختلاف نظر بین توسعه دهندگان، بنیان گذاران و دیگر افراد تاثیر گذار در سیستم بلاک چین روی مسائل فنی شبکه منجر به ایجاد فورک و زنجیره جدید در شبکه می شود.
    بیت کوین کش یک نمونه فورک از بیت کوین است که به دلیل ایجاد اختلاف نظرهای زیاد در رابطه با مقیاس پذیری بیت کوین در سال 2017 رخ داد. عده ای از توسعه دهندگان و ماینرهای بزرگ بیت کوین با اعلام نارضایتی خود از میزان سرعت و کارمزد تراکنش ها منجر به ایجاد فورک شدند و تغییرات وسیعی در قوانین بیت کوین و افزایش میزان سایز بلاک از یک مگابایت به 8 مگابایت ایجاد کردند.
    علاوه بر این در سال 2018 نیز کاربران و توسعه دهندگان بیت کوین کش تبدیل به دو دسته شدند. عده ای از آنها فورک جدید دیگری با اعمال برخی از قابلیت های فنی و حذف نمودن محدودیت موجود در بلاک ها ایجاد کردند. با ایجاد این فورک ارز دیجیتال جدیدی به نام BSV تولید گردید.
  • برگرداندن مبالغ از دست رفته
    گاها یک سری باگ های فنی در پروتکل بلاک چین وجود دارد که ممکن است تحت تاثیر حملات صورت گرفته هک شده و از دست بروند. در این مواقع توسعه دهندگان لازم می دانند تغییراتی در بلاک چین ایجاد کرده و با حذف تراکنش های کلاهبرداری شده سرمایه از دست رفته را مجددا بازگردانند.
    لازم به ذکر است انجام این کار آسان نیست. زیرا تغییر یا حذف یک تراکنش از بلاک چین مشابه دستکاری و تغییر شبکه های متمرکز خواهد بود که ماهیت وجودی بلاک چین را زیر سوال می برد.
    با این وجود در سال 2016 این اتفاق برای بلاک چین اتریوم به وجود آمد.
    هک DAO در سال 2016 منجر به از دست رفتن میلیون ها دلار سرمایه شد. پس از وقوع این اتفاق توسعه دهندگان اتریوم مجبور شدند برای جلب اعتماد مردم فورک ایجاد کنند. با وجود انتقادات فراوان نسبت به این فورک، نهایتا اجرایی شد و بسیاری از کاربران به شبکه جدید منتقل شدند. فورک جدید ایجاد شده از اتریوم با همان نام ETH ایجاد شد و اتریوم کلاسیک (ETC)جایگزین نام نسخه قدیمی شبکه شد.
  • به روزرسانی و اضافه کردن قابلیت های جدید
    شبکه های بلاک چین برای حفظ امنیت خود نیاز به بروزرسانی های فنی در طول زمان دارند. این کار علاوه بر محافظت از شبکه در برابر خطرات منجر به اضافه شدن قابلیت های جدید به شبکه می شود. برای اعمال این بروزرسانی ها لازم است قوانین شبکه تغییر پیدا کنند. راه حل انجام این کار وقوع فورک روی شبکه است. اما این فورک ها نیاز به پذیرش و رضایت اکثریت کاربران شبکه خواهد داشت. در چنین حالتی زنجیره بلاک چین مسیر خود را به طور کامل تغییر می دهد.
    یکی از آپدیت های انجام شده در سال 2017 روی شبکه بیت کوین که آپدیت سگویت(Segwit) نام دارد نمونه ای از آن است. این آپدیت به منظور بهبود بیت کوین و برطرف نمودن دو مشکل اساسی آن پیاده سازی و اجرا شد. اصلی ترین هدف این فورک حفظ انعطاف پذیری تراکنش ها و در مرحله بعدی بالا بردن ظرفیت بلاک در شبکه بلاک چین بیت کوین بود.
  • تقسیم اجماع
    گاها ممکن است در برخی از شبکه های بلاک چین برای تقسیم قدرت اجماع شبکه در بین چند زنجیره موازی از فورک ها استفاده گردد. در این مواقع برای بالا بردن میزان مقیاس پذیری و سرعت تایید تراکنش ها زنجیره بلاک چین به چند زنجیره موازی و هماهنگ تقسیم شده که هر کدام دارای اعتبارسنج های مخصوص به خود هستند. به این روش شاردینگ می گویند که قرار است در نسخه دوم اتریوم مورد استفاده قرار گیرد. در این نوع فورک ها با وجود اینکه قوانین زنجیره اصلی و جامعه کاربران تقسیم نمی شود اما به دلیل ساختار پیاده سازی یک فورک به شمار می روند.
    شاردینگ ناهمگون از دیگر فورک ها به شمار می روند که در بلاک چین های نسل سوم مانند پولکادات مورد استفاده قرار می گیرند. در این نوع فورک در ابتدای کار شبکه به چندین زنجیره موازی با قوانین اجماع و اعتبارسنج های جداگانه تقسیم می گردد. به هر یک از این زنجیره ها یک شارد یا پاراچین می گویند. هدف از طراحی هر کدام از آنها اجرای یک برنامه کاملا غیرمتمرکز است. این کار روشی برای جلوگیری از ایجاد فورک در بلاک چین محسوب می شود اما دارای ساختاری متشکل از مفهوم فورک است.

فورک در ارز دیجیتال

بیشتر بخوانید: شاردینگ در بلاک چین چیست و کدام رمزارزها از شاردینگ استفاده می کنند؟

آشنایی با انواع فورک

به طور کلی فورک ها بر اساس نوع هدفی که دارند به دو دسته تغییر قوانین پروتکل و تقسیم اجماع تقسیم می شوند. همانطور که در بخش قبل اشاره کردیم فورک های تقسیم اجماع همان پیاده سازی های شاردینگ هستند. اما فورک های تغییر  قوانین پروتکل با توجه به سازگاری یا ناسازگاری آنها با زنجیره اولیه به دو دسته سافت فورک (soft fork) و هارد فورک(hard fork)  تقسیم می گردند.

سافت فورک (soft fork) چیست؟

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

نکته مهمی که وجود دارد این است که در صورتی که تعداد زیادی از نودها آپدیت جدید را بپذیرند، نودهای آپدیت نشده امکان ایجاد بلاک و یا ثبت آن را نخواهند داشت. دلیل آن این است که بلاک های آنها توسط اکثر افراد شبکه رد می شود.

مهم: در سافت فورک تغییرات اعمال شده باعث ارتقای آن می شود. سافت فورک منجر به ایجاد زنجیره جدید نخواهد شد. زیرا بسیاری از نودهای شبکه این تغییر را قبول کرده و بنابراین زنجیره جدید در واقع همان زنجیره اصلی یا سنگین ترین زنجیره خواهد بود.

مثلا در نظر بگیرید سافت فورکی منجر به تغییر سایز بلاک ها از 1 مگابایت به 2 مگابایت شده است. در چنین حالتی نودهای آپدیت نشده فقط می توانند بلاک های جدید را مشاهده کنند اما قادر به ایجاد بلاک های 1 مگابایتی خود در شبکه نیستند. زیرا اکثریت نودهای شبکه بلاک های 1 مگابایتی را دیگر تایید نمی کنند. این اتفاق منجر به حذف بلاک های تولید شده توسط این نودها از زنجیره اصلی می شود.

بر این اساس می توان گفت سافت فورک یک روش ارتقاء تدریجی است. زیرا منجر به ایجاد انگیزه برای افرادی می شود که به دلیل آپدیت نکردن نرم افزار خود با محدود شدن قابلیت ها مواجه می شوند.

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

برای اینکه این گونه اتفاقات رخ ندهد معمولا توسعه دهندگان بلاک چین ها قبل از ایجاد تغییر در قوانین بلاک تعداد نودهای موافق را با ایجاد همه پرسی بین اعضا بلاک چین مورد بررسی قرار می دهند. به طور مثال "سیگنالینگ ماینرها" روش مورد استفاده در بلاک چین بیت کوین هستند.

مفهوم فورک در ارز دیجیتال

بیشتر بخوانید: ارز دیجیتال بیت کوین کش چیست و چگونه کار می کند؟

هارد فورک چیست؟

به روزرسانی های صورت گرفته در نرم افزار که با نسخه قدیمی ناسازگار است هاردفورک نام دارد. در صورتی که هارد فورک رخ دهد کلیه شرکت کنندگان لازم است نرم افزارهای خود را آپدیت کرده تا قادر به تایید تراکنش ها و ثبت بلاک شوند و همچنین بتوانند بلاک های ارسال شده از نودهای آپدیت شده را دریافت نمایند.

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

از معروف ترین هارد فورک ها می توان به بیت کوین کش و اتریوم کلاسیک اشاره کرد. این دو هاردفورک باعث ایجاد ارزهای دیجیتال جدید به نام های BCH و ETC شده اند.

لازم به ذکر است همیشه هارد فورک ها یک ارز دیجیتال جدید ایجاد نمی کنند، در بیشتر مواقع کل نودهای شبکه موافق وقوع آن هستند.

به طور مثال هارد فورک های هومستد(Homestead) و متروپلیس(Metropolice) در بلاک چین اتریوم و هارد فورک های شلی(Shelley) و آلونزو(Alonzo) در بلاک چین کاردانو از جمله هاردفورک هایی هستند که با موافقت کل اعضای شبکه و برنامه ریزی قبلی ایجاد شدند.

هارد فورک چیست

با وجود انتقادات زیادی که در رابطه با فورک ها در دنیای ارزهای دیجیتال می شود اما به طور کلی برای جامعه ارزهای دیجیتال مزایای زیادی به همراه دارند. در واقع تنها راه برای ارتقای شبکه بلاک چین استفاده از فورک هاست. لازم به ذکر است برای ارتقای یک بلاک چین لازم است گروه های مختلفی از جمله توسعه دهندگان، کاربران عادی، نودهای شبکه و... بر روی جزئیات آن با هم توافق کنند. فورک ها انواع مختلفی دارند و بر اساس سازگاری یا عدم سازگاری با زنجیره اولیه به دو دسته هارد فورک و سافت فورک تقسیم می شوند.