بلاک چین ها مثل جانورهایی پیچیده هستند. آنها به طور مداوم در حال رشد، تحول و اضافه کردن ویژگی های جدید به خود هستند و تمام این تغییرات با موافقت کامل تمام اجزای این سیستم پیچیده صورت می گیرد. همه چیز بر پایه اجماع بنا شده است. تکنولوژی بلاک چین نسبتا جدید است؛ به همین خاطر، این تکنولوژی همچنان هر روز با ماجراهایی پیش بینی نشده مواجه می شود. ماجراها و مشکلاتی که ممکن است نیاز به رسیدگی و حل شدن داشته باشند. مهم نیست پای یک سری مسائل امنیتی حیاتی در میان باشد که می توانند بلاک چین را در مقابل حمله های بیرونی آسیب پذیر کنند و یا تغییرات سیستمی مهم که می توانند به عملکرد بهتر بلاک چین کمک کنند. هر ویژگی جدید، اصلاح امنیتی، یا عملکرد اضافه شده به نوعی رای از طرف همه اعضای این سیستم غیرمتمرکز نیاز دارد. اگرچه ماهیت بسیاری از این تغییرات بحث برانگیز است، تغییراتی که روی پروتکل اعمال می شوند و سیستم به رای گذاشتن آنها، همگی بخشی از غیرمتمرکز بودن سیستم بلاک چین را تشکیل می دهند. وقتی حرف تغییری در پروتکل به میان می آید، توسعه دهنده های سیستم معمولا تاریخی تعیین می کنند و به اعضا زمان می دهند که درباره موضوع مورد بحث مشورت کنند یا نظر خود را اعلام کنند. وقتی زمان اعمال تغییر فرا می رسد، بلاک چین وارد فرایندی می شود که فورک کردن نام دارد. دو نوع فورک اصلی وجود دارد. سافت فورک (Soft Fork) و هارد فورک (Hard Fork)، که در ادامه این مقاله به جزئیات این فرآیندها می پردازیم.
فورک چیست؟
برای ایجاد یک ارز دیجیتال، برنامه نویسان یک سری کد روی بلاک چین می نویسند که این کد کاملا قابل دسترس است و به اصطلاح متن باز است و همه می توانند آن را ببینند. بنابراین یک ارز مجازی با ماهیت یک کوین بر بستر یک دفتر کل توزیع شده یا همان بلاک چین پیاده می شود. سیستم غیرمتمرکز ارزهای دیجیتال که از گواه اثبات کار استفاده می کنند به نود یا گره هایی نیاز دارد تا با ایجاد بلاک در بلاک چین شبکه را گسترش دهند. این نودها در شبکه باید از قوانین آن بلاک چین پیروی کنند و برای اینکه ارز دیجیتال به درستی و سلامت به رشد خود ادامه دهد باید از مجموعه قوانینی با نام پروتکل پیروی کنند. پروتکل شامل تمامی قوانین آن ارز دیجیتال خاص است. اگر تغییرات یا اصلاحاتی روی کد نوشته شده اعمال شود، فورک اتفاق می افتد. در واقع به هر آپدیت و به روز رسانی بلاک چین در دنیای ارزهای دیجیتال، فورک می گویند. این تغییرات ممکن است مانند فورک اتر و اتر کلاسیک ناگهانی باشد، یا طبق برنامه از قبل تعیین شده انجام شود. فورک یا می تواند برنامه ریزی شده باشد و بر روی بلاک چین اعمال شود مانند فورک اتریوم و یا به دلیل اختلاف اعضای توسعه دهنده و نود ایجاد شود؛ دقیقا مانند فورک بیتکوین کش و بیت کوین SV. خود پدیده فورک به دو دسته سافت فورک (soft fork) و هارد فورک (hard fork) تقسیم می شود.
هارد فورک چیست؟
اگر تغییراتی در پروتکل ارز دیجیتال ایجاد شود که با نسخه قبلی متفاوت است و یا کوینی با بلاک چین جدیدی ایجاد شود هارد فورک رخ داده است. البته هارد فورک همیشه به این معنی نیست که کوین و توکن جدید تولید شود اما هارد فورک زمانی است که نسخه جدید یا فورک شده با نسخه قبلی مطابقت یا هماهنگی ندارد و تغییرات زیادی در آن رخ داده است. هنگامی که هارد فورک رخ می دهد، نودها حتما باید خود را بروز رسانی کنند و تیم توسعه دهنده آن ارز دیجیتال همواره آپدیت هایی را برای آنها فراهم می کنند تا با شبکه جدید همساز شوند. اگر نودهای قدیمی خود را بروز رسانی نکنند، دیگر نمی توانند به شبکه جدید وارد شوند و نودهای آپدیت شده دیگر بلاک هایی که نودهای قدیمی استخراج می کنند را نمی پذیرند. به بیان ساده، اگر آپدیت جدید برای یک کوین داده شود و نود آن را روی سیستم خود نصب کند، بعد از آن به تراکنش های روی بلاکچین قبلی دسترسی نداشته باشد، در حقیقت فعالیت خود را روی یک بلاکچین جدید، برای یک ارز جدید و تراکنش های جدید ادامه خواهد داد. یعنی با اتفاق افتادن هارد فورک، یک ارز جدید با بلاکچین و گره های جدید ایجاد خواهد شد.
با وجود اینکه بلاک چین جدید دارای قواعد کاملا متفاوتی است، همچنان سابقه تراکنش های بلاک چین قدیمی را به رسمیت می شناسد؛ یعنی هر کاربری که دارای مقداری ارز دیجیتال در بلاک چین اصلی بود، حالا صاحب دقیقا همان مقدار ارز دیجیتال در بلاک چین جدید است. همانطور که به خاطر دارید، بلاک چین ها از قاعده اجماع پیروی می کنند. با در نظر گرفتن این مسئله، هارد فورک ها می توانند به دو زیرمجموعه مجزا تبدیل شوند: هارد فورک های برنامه ریزی شده و هارد فورک های بحث برانگیز. یک هارد فورک برنامه ریزی شده زمانی رخ می دهد که ارتقای بلاک چین مورد موافقت و اجماع تعداد بالایی از ماینرها و اعضای مجموعه قرار بگیرد. این فورک ها معمولا مورد موافقت قرار می گیرند و با مقاومت کمی مواجه می شوند. در نتیجه، در حالی که زنجیره جدید رشد می کند و ماینرها و کاربرها از تغییرات جدید استقبال می کنند، زنجیره قبلی از بین می رود. در اکثر مواقع، اسم زنجیره قدیمی روی زنجیره جدید گذاشته می شود.
نمونه هایی از هارد فورک
یک نمونه اولیه از هارد فورکهای برنامه ریزی شده گسسته شدن زنجیره ارز مونرو (Monero) در سال 2017 است که موجب اضافه شدن تراکنش های محرمانه رینگ شد (Ring Confidential Transactions). این ویژگی موجب مبهم شدن ارزش هر تراکنش شد و حریم خصوصی بلاک چین را یک لایه محکم تر کرد و این مسئله باعث شد ماینرها و اعضای مجموعه از این ویژگی با آغوش باز استقبال کنند. نمونه ای معروف از هارد فورک، تقسیم شدن بلاک چین اتریوم به دو زنجیره متفاوت است. این مسئله بعد از هک شدن یکی از اپلیکشین های ایجاد شده بر بستر اتریوم به نام DAO، اتفاق افتاد. به دلیل عدم توافق اعضای مجموعه بر سر سرنوشت بلاک چین بعد از این اتفاق، یک هارد فورک صورت گرفت و دو زنجیره جدید به نامهای اتریوم و اتریوم کلاسیک ایجاد شد. اتریوم کلاسیک همان زنجیره اولی است که به کار خود ادامه داد و اتریوم زنجیره ای است که بعدا ایجاد شد.
بر خلاف هارد فورکهای برنامه ریزی شده که با حمایت اکثریت اعضای مجموعه مواجه می شوند، هاردفورکهای بحث برانگیز باعث ایجاد جدالهای شدیدی بین اعضا می شوند. هارد فورکهای بحث برانگیز هم شامل قابلیتهایی برای ارتقای سیستم هستند، ولی این قابلیت ها موافقت اکثریت اعضا را به خود جلب نمی کنند. به همین دلیل، این هارد فورکها معمولا به ایجاد دو بلاک چین مجزا منجر می شوند، بلاک چین اصلی و جدید، که هر دو تا زمانی که مورد حمایت قرار بگیرند به فعالیت خود ادامه می دهند. معروفترین و بحث برانگیزترین هارد فورکی که تا به حال صورت گرفته است، ایجاد شدن زنجیره بیتکوین کش (Bitcoin Cash) است که در سال 2017 انجام شد. این مسئله وقتی اتفاق افتاد که گروهی از توسعه دهنده ها برای کمک به حل مسائل مربوط به مقیاس، در طلب افزایش سایز بلاک بیت کوین از یک مگابایت به هشت مگابایت بودند. وقتی این فورک انجام شد، بلاک چین بیتکوین به دو زنجیره موازی با دو سری قوانین مجزا تقسیم شد. این اتفاق موجب هرج و مرج کوتاهی بین ماینرها شد که از این زنجیره به آن یکی می رفتند و می خواستند بدانند کدام یک برایشان سود بیشتری به همراه خواهد داشت.
سافت فورک چیست؟
سافت فورک تغییری در پروتکل است که به طور بازگشت پذیر بر روی بلاک چین اعمال می شود و معمولا نیاز به دو شاخه شدن بلاک چین ندارد. دلیل این مسئله این است که این تغییرات معمولا به ویژگی های ظاهری و یا عملکردی مربوط هستند و اصلا روی ساختار سیستم تأثیر نمی گذارند. بعد از اینکه قوانین جدید به اجرا درآمدند، همان زنجیره قبلی به کار خود ادامه می دهد و ماینرها می توانند خود را با تغییرات جدید زنجیره تطبیق دهند و کار خود را پیش ببرند.
بارزترین مثال موفق سافت فورک، اضافه شدن سافت فورک سگویت (Segregated Witness) بود که در پایان سال 2017 اتفاق افتاد. اگرچه پیاده سازی این سافت فورک همچنان مورد بحث و مجادله بود، ماینرها به طور گسترده ای از اجرای آن استقبال کردند. سافت فورک سگویت راه حلی برای بسیاری از مشکلات در حال پیدایش بیت کوین بود. سگویت علاوه بر افرایش دادن تعداد تراکنش های هر بلاک، مشکلی جزئی را حل کرد که به توسعه دهنده ها اجازه نمی داد پروتکل های لایه دوم و قراردادهای هوشمند ایجاد کنند؛ و با حل این مسئله، موج جدیدی از راه حل های «خارج از زنجیره» مانند شبکه لایتنینگ را پدیدار کرد.
در این فورک، برعکس هارد فورک، کوین یا توکن جدیدی ایجاد نمی شود. با اعمال کردن اصلاحات و آپدیت روی نسخه اصلی، گره ها همچنان به فعالیت خود روی بلاک چین قبلی ادامه خواهند داد. در واقع تغییراتی اعمال نمی شود که بلاکچین قبلی به روند خود ادامه ندهد و چندین تغییر در بلاکچین جدید ایجاد می شود که با بلاکچین قبلی مطابقت دارد و نودهای قدیمی که بروز رسانی نکرده اند می توانند بدون بروز رسانی به فعالیت در بلاکچین جدید نیز ادامه دهند. در فورک نرم معمولا اصلاحات و تغییرات به حدی جدی نیست که بلاکچین جدیدی ایجاد شود.
چرا فورک اتفاق می افتد؟
به طور کلی فورک از فاکتورهای سلامت یک شبکه بلاکچین است. گاهی اوقات ممکن است باگ اساسی در شبکه یافت شود که وضعیت ارز دیجیتال را به خطر بیاندازد و یا ممکن است برای بهتر شدن عملکرد کوین فورک زده شود و نحوه تصمیم گیری اینکه شبکه بلاک چینی به فورک نیاز دارد یا خیر بر عهده جامعه آن ارز دیجیتال خاص است. وقتی برنامه نویسان و توسعه دهندگان یک شبکه بعد از خطا و آزمون به این نتیجه برسند که شبکه نیازمند یک سری تغییرات است و با اعمال اصلاحات کارکرد شبکه بهبود پیدا خواهد کرد، موضوع را در شبکه مطرح می کنند و با به اجماع رسیدن توسط اعضای شبکه، فورک اتفاق می افتد. این فضای دموکراتیک که همه بتوانند نظر خود را اعلام کنند و بهترین تصمیم برای بهبود شبکه گرفته شود، از ویژگی های مهم اکوسیستم ارزهای دیجیتال است.
نتیجه گیری
فارغ از اینکه کدام نوع فورک کردن صورت می گیرد، این تغییرات در قواعد یک بلاک چین، جزئی از فرآیند رشد بلاک چین هستند. وجود این فورکها برای غیر متمرکز ماندن بلاک چین ضروری است. این فورکها هستند که طی یک فرآیند دموکراتیک، درنهایت آینده بلاک چین را تعیین می کنند. فورکها به طور پیوسته می توانند باعث بهبود و پیشرفت زنجیره شوند. این فرآیند می تواند باعث از بین رفتن ایرادهای عملکردی و اضافه شدن قابلیت های جدید بر حسب نیاز اعضای مجموعه شود. عضوی از یک جامعه ارز دیجیتال بودن یعنی نظر شما اهمیت دارد. حتی اگر یک توسعه دهنده یا ماینر هم نباشید، همچنان می توانید روی سرنوشت بلاک چین مورد علاقه تان تأثیرگذار باشید.