فورک (زنجیره بلوکی)

فورک چیست؟

همانطور که احتمالا می‌دانید، اطلاعات ثبت شده در  بلاک چین قابل تغییر نیستند و وقتی یک بلاک چین فعالیت خود را آغاز می‌کند، تا زمانی که کاربران آن را بپذیرند، هیچ کس نمی‌تواند جلوی کار آن را بگیرد. در هر کدام از ارزهای دیجیتال یک سری قوانین که اصطلاحا به آن پروتکل می‌گوییم توسط برنامه نویسان تعیین شده است و یک بلاک چین براساس همان پروتکل و قوانین تا ابد به کار خود ادامه می‌دهد. مثلا برای بیت کوین چنین قوانینی تعریف شده: زمان هر بلاک ۱۰ دقیقه باشد – هر بلاک ۱ مگابایت ظرفیت داشته باشد و …
اما اگر کسی با قوانین بیت کوین یا هر ارز دیجیتال دیگری مخالف بود چه؟ اگر در شبکه یک ارز دیجیتال، یک اتفاق بد رخ دهد چه؟ راه‌حل ساده است. به‌روزرسانی یا ایجاد بلاک چین جدید که اصطلاحا به آن فورک می‌گویند. وقتی گروهی از برنامه نویسان از شرایط و قوانین یک ارز دیجیتال ناراضی باشند یا اینکه شبکه با مشکلاتی مواجه باشد که حل آن ضروری است، راه‌حلی به نام فورک پیش روی این افراد است. واژه فورک یا انشعاب از پروژه‌های برنامه‌نویسی ریشه گرفته است. در حقیقت با کپی کد منبع یک پروژه و ایجاد تغییراتی در آن، برنامه‌ای جدید از دل برنامه قبلی بیرون می‌آید. از این رو فورک در ارزهای دیجیتال نیز با مفهومی یکسان و با برخی پیچیدگی‌های خود به کار می‌رود.
فورک یا انشعاب معمولاً به‌نوعی، آپدیت یا به ‌روزرسانی یک نرم‌افزار گفته می‌شود که می‌تواند به روشی سازگار با قبل (backward-compatible) و یا ناسازگار با قبل (backward-uncompatible) باشد. (درباره این موضوع در ادامه صحبت می‌کنیم). به‌طور خلاصه، واژه فورک یا انشعاب فقط یک اصطلاح برای زمانی است که یک نرم‌افزار یا یک پروتکل، آپدیت می‌شود. در حوزه‌ی ارزهای دیجیتال و بلاک چین فورک زمانی اتفاق می‌افتد که شبکه به دو بخش تقسیم شود.

سافت فورک (Soft fork)

سافت فورک یک بروزرسانی در نرم افزار بوده که با نسخه‌های قدیمی سازگار (backwards compatible) است. این بدین معناست که شرکت‌کنندگانی که نرم‌افزار خود را آپدیت نکرده باشند نیز می‌توانند در اعتبارسنجی (Validation) و تایید (Verification) تراکنش‌ها شرکت کنند. پیاده‌سازی سافت فورک به نسبت آسان‌تر بوده چراکه تنها نیاز است اکثریت شرکت‌کنندگان نرم‌افزار خود را آپدیت کنند. همه‌ی شرکت‌کنندگان چه نرم‌افزار خود را آپدیت کرده و چه نکرده باشند، می‌توانند بلاک‌های چدید را تشخیص دهند و فعالیت‌هایشان با شبکه سازگار است. نکته‌‌ی قابل تامل این است که عملکرد شرکت‌کننده‌ای که نرم‌افزار خود را آپدیت نکرده تحت تاثیر قرار می‌گیرد. یک مثال برای سافت فورک این است که مثلا سایز بلاک‌ها از ۱ مگابایت به ۸۰۰ کیلوبایت تغییر پیدا کرده است. نودهایی از شبکه که نرم‌افزار خود را آپدیت نکرده‌اند در سافت فورک می‌توانند تراکنش‌های جدید را ببینند. مشکل زمانی به وجود می‌آید که ماینری که نرم‌افزار خود را آپدیت نکرده است، بخواهد بلاک جدیدی را ثبت نماید و بلاک او توسط شبکه رد می‌شود. از این رو سافت فورک یک مکانیزم ارتقاء تدریجی را نشان می‌دهد که افرادی که نرم‌افزار خود را آپدیت نکرده‌اند با محدود شدن قابلیت‌هایشان، انگیزه‌ی کافی برای اینکار را پیدا کنند.
مثال‌هایی برای سافت فورک: BIP66: یک سافت فورک برای اعتبارسنجی امضای شبکه‌ی بیت ‌کوین بود.
P2Sh: یک سافت فورک برای اضافه کردن قابلیت آدرس‌های چند امضایی بر روی شبکه‌ی بیت کوین بود.

هارد فورک

(به انگلیسی: Hard Fork) زمانی اتفاق می‌افتد یک زنجیره از بلوک‌ها از زنجیره بلوکی جدا شوند و به‌طور مستقل فعالیت کنند. برای ایجاد یک ارز دیجیتال، برنامه نویسان یک سری کد روی زنجیره بلوکی می‌نویسند که این کد کاملاً قابل دسترس است (متن‌باز) و همه می‌توانند آن را ببینند؛ بنابراین یک ارز مجازی با ماهیت یک کوین روی بستر یک دفتر کل توزیع شده (زنجیره بلوکی) پیاده می‌شود. اگر تغییرات یا اصلاحاتی روی کد نوشته شده اعمال شود، فورک اتفاق می‌افتد.
اگر تغییرات به گونه‌ای باشد که گره‌های شبکه (کسانیکه در شبکه سرویس می‌دهند. برای مثال در بیت‌کوین کسانیکه نرم‌افزار بیت کوین را روی سیستم‌های خود نصب کرده و بیت کوین استخراج می‌کنند) که برای ثبت تراکنش‌ها با یکدیگر در ارتباط بوده‌اند، دیگر نتوانند با یکدیگر ارتباط داشته باشند، فورک سخت اتفاق افتاده‌است. به بیان ساده، اگر آپدیت جدید برای یک کوین داده شود و گره آن را روی سیستم خود نصب کند و بعد از آن به تراکنش‌های روی زنجیره بلوکی قبلی دسترسی نداشته باشد، در حقیقت فعالیت خود را روی یک زنجیره بلوکی جدید، برای یک ارز جدید و تراکنش‌های جدید ادامه خواهد داد. یعنی با اتفاق افتادن هارد فورک، یک ارز جدید با زنجیره بلوکی و گره‌های جدید ایجاد خواهد شد.
هارد فورک زمانی اتفاق می‌افتد که ارتباط بین اعضای شبکه (مثلاً کسانی که بیت کوین ماین می‌کنند) قطع شود. به عبارت دیگر چنانچه برای یک ارز دیجیتال، به روزرسانی انجام شود، در واقع تراکنش‌ها روی یک زنجیره بلوکی جدید و با نوع متفاوتی صورت می‌گیرند. بر سر انجام و عدم انجام هارد فورک، میان برنامه نویسان یا توسعه‌دهنگان، گاهی صلح و گاهی جنگ است که پس از گفتگوها و تبادل نظرهای کش مکش دار رخ می‌دهد. وقوع هارد فورک می‌تواند به تولد یک ارز دیجیتال جدید منجر شود؛ مانند آنچه در بیت کوین کش رخ داد.

هاردفورک برنامه‌ریزی شده (Planned Hard Forks)

هاردفورک برنامه‌ریزی شده، یک بروزرسانی در پروتکل است که از ابتدا در نقشه‌ی راه (Roadmap) پروژه در نظر گرفته می‌شود. از آنجایی که این بروزرسانی در راستای قابلیت‌ها و ویژگی‌های بلاک چین می‌باشد، تمامی شرکت‌کنندگان به رهبری توسعه‌دهندگان اصلی به زنجیره‌ی جدید رفته و نرم‌افزار خود را بروزرسانی می‌کنند چراکه این تغییرات در سطح کدنویسی پایه‌ی شبکه صورت می‌پذیرند. در این فورک زنجیره‌ی قبلی از بین می‌رود و دلیلی نیز برای حمایت از آن وجود ندارد. در این فورک، کوین جدیدی به وجود نخواهد آمد.
مثال‌های این نوع هاردفورک :فورک مونرو : در ژانویه‌ی ۲۰۱۷، هاردفورکی در شبکه‌ی اتریوم جهت اضافه شدن ویژگی جدیدی به نام حلقه‌ی معاملات محرمانه (RCT) برای بهبود حریم خصوصی و امنیت شبکه، به وقوع پیوست.

هاردفورک بحث‌برانگیز (Contentious Hard Forks)

هاردفورک بحث‌برانگیز به علت اختلاف نظر بین اعضای شبکه اتفاق می‌افتد و موجب می‌شود بخشی از شرکت‌کنندگان، زنجیره‌ی جدیدی که از نظر خودشان بهتر است را با تغییرات عمده‌ای در کد ایجاد کنند.

چرا فورک اتفاق می‌افتد؟

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

تاثیر فورک بر قیمت ارز دیجیتال

طی هشت ماه گذشته بیش از ۱۰ فورک برای بیت کوین به انتشار رسیده است اما بحث‌ ما بر سر فورک‌های بزرگ است. هرکسی می‌تواند با تغییر سورس بیت کوین فورک جدیدی از آن ارائه دهد اما موضوع ما بر سر فورک‌های اساسی است که تعداد زیادی از غول‌های فضای ارز دیجیتال حامی آن باشند. مانند بیت کوین کش و شاید بیت کوین گلد. فورک‌های بزرگ می‌توانند سرنوشت یک ارز دیجیتال را برای همیشه تغییر دهند؛ آن را نابود یا قدرتش را تا سال‌ها تثبیت کنند.
فرض کنید شخص A مقدار ۳۵۰۰۰ بیت کوین دارد. اگر فرض کنیم هر بیت کوین ۵۰۰۰ دلار قیمت داشته باشد، ارزش دارایی‌های او ۱۷۵ میلیون دلار  می‌شود.  این شخص اخبار و رویدادهای مربوط به ارزهای دیجیتال را  به خاطر تاثیراتی که بر روی موقعیت او در این بازار می‌گذارند را با دقت بررسی می‌کند. شخص A می‌داند که فورک چیست و ارز جدیدی مثل بیت کوین کش به وجود خواهد آمد. از آنجایی که این شخص کیف پولی دارد که از فورک بیت کوین کش پشتیبانی می‌کند، به ازای دارایی‌هایش یعنی ۳۵۰۰۰ بیت کوین، ۳۵۰۰۰ توکن بیت کوین کش به دست می‌آورد. این مساله به او انگیزه می‌دهد تا پیش از فورک، بیت کوین بیشتری بخرد چراکه با این فورک او سهم بیشتری در این بازار خواهد داشت. علاوه بر اینکه هر چه تعداد بیت کوین‌هایش بیشتر شود، بیت کوین کش بیشتری نیز به او تعلق خواهد گرفت. اگر شخص A، یک سرمایه‌گذار و یا معامله‌گر آگاه باشد، تصمیم می‌گیرد تا موقعیتش را در بازار بیت کوین بالا برده و مثلا پیش از وقوع فورک دارایی خود را به ۵۰۰۰۰ بیت کوین افزایش دهد. در نتیجه‌ی این کار، او ۵۰۰۰۰ بیت کوین کش به دست خواهد آورد. قبل از فورک معمولا قیمت افزایش می‌یابد اما زمانی که یک فورک در شبکه‌ی یک ارز دیجیتال اتفاق می‌افتد، ارزش آن نیز در زنجیره‌ی فورک شده پخش می‌گردد. به عنوان مثال در  ۲۳ ژولای ۲۰۱۷، قیمت بیت کوین از ۲۸۰۰ دلار به ۲۷۰۰ دلار به علت فورک بیت کوین کش، کاهش یافت.