هر آنچه درباره فورک باید بدانیم!
اگر به شما بگویند که یکی از خصوصیات تکنولوژی را نام ببرید ممکن است شما خصوصیات مختلفی را ذکر کنید اما خصوصیت مهمی که جزء جدایی ناپذیر تکنولوژی محسوب میشود تغییر مداوم است. تکنولوژی بنا بر خاصیتی که دارد برای بروز ماندن و بروز نگه داشتن خود نیاز به تغییر مداوم دارد تا بتواند نیازهای جدید کاربران خود را برآورده سازد. تکنولوژی بلاکچین نیز از این قاعده مستثنی نیست و همیشه در حال تغییر است و خود را بروز میکند. در حوزه بلاکچین این بروز رسانیها را برای ارتقاء بستر بلاکچین انجام میدهند و به آن فورک (fork) میگویند.
فورک چیست؟
در بستر بلاکچین به دلیل اینکه ذاتی غیر متمرکز دارد برای اینکه نودهای شبکه بتوانند با هم تعامل داشته و بتوانند تراکنشها را تایید کنند از قوانین و الزامات خاصی که پروتکل نامیده میشود پیروی کنند. این قوانین یا پروتکلها را برنامه نویسان بلاکچین نوشتهاند و بلاکچین با این قوانین کار میکند. برای مثال میتوان به مدت زمان تشکیل هر بلاک و میزان ظرفیت و گنجایش هر بلاک اشاره نمود. به دلایل مختلفی این پروتکل نیاز به تغییر و به روز رسانی پیدا میکند مثلا ممکن است این پروتکل جوابگوی حجم تعاملات و تراکنشها نباشد و یا مشکلاتی در استفاده از این پروتکل گزارش شده باشد. در این صورت نیاز به تغییر پروتکل و بروز رسانی آن است. همانطور که میدانیم این تغییرات پروتکل بر روی زنجیره بلوک اعمال میشود. این تغییرات ممکن است روی یک زنجیره اعمال شود و یا آن زنجیر بلوک را به دو بخش تقسیم کند. به این تغییرات فورک میگویند.
دلایل فورک
دلایل متفاوتی برای انجام فورک وجود دارد که یکی از مهمترین آنها وجود اختلاف نظرهایی بر سر مسایل فنی پروژه است. به عنوان مثال میتوان به یکی از فورکهای بیت کوین که در سال ۲۰۱۷ به دلیل یک سری اختلاف نظرهای موجود در مورد مقیاس پذیری بیت کوین بوجود آمد اشاره نمود که حاصل آن بوجود آمدن بیت کوین کش (BCH) بود. اما بیت کوین کش هم از فورک در امان نماند و تنها یک سال بعد توسعه دهندگان بیت کوین کش نیز از نظر کارکردهای فنی اختلاف نظر پیدا کرده و فورک بیت کوین کش را با نام BSV (بیت کوین ساتوشی ویژن) ارائه دادند. از دیگر دلایل قابل ذکر برای فورک میتوان به انجام بروز رسانیهایی برای افزودن قابلیتهای جدید به شبکه اشاره نمود که در این حالت زنجیره بلوک بجای اینکه دوشاخه شود تنها تغییر مسیر میدهد که در این حالت نیز برای تغییر پروتکل نیاز به فورک است . به عنوان مثال از آپدیت سگویت (SegWit) بیت کوین که برای حفظ انعطاف پذیری (Malleability) تراکنشها و نیز افزایش ظرفیت بلاک (Block Capacity) صورت گرفت می توان نام برد. دسته دیگری از فورکها همانند شاردینگ که در اتریوم ۲ استفاده میشود، پروتکلهای زنجیره اصلی را تغییر نمیدهد و تنها نحوه پیاده سازی را تغییر داده و از این لحاظ فورک محسوب میشود. این فورک برای فراهم آوردن شرایطی برای تقسیم اجماع صورت گرفته و مقیاس پذیری شبکه را افزایش میدهد.
انواع فورک
همانطور که پیش تر مطرح شد تغییر جزء یکی از الزامات بسترهای بلاکچینی است. این تغییرات در حالت کلی یا برای برطرف کردن کاستیها و نارساییهای شبکه انجام میشود و یا برای افزودن قابلیتهای جدید به شبکه انجام میشود. بنا به هر دلیلی که شبکه نیاز به انجام فورک داشته باشد، مساله مهم ایجاد تغییرات است. این تغییرات برخی در ساختار پروتکلها و قوانین صورت میگیرد و برخی دیگر از تغییرات از لحاظ پیاده سازی در تقسیم اجماع صورت میگیرد. نکتهای که در اینجا وجود دارد این است که پس از انجام فورک کاربران با تغییراتی روبرو میشوند که این تغییرات اگر در حد یک به روز رسانی باشد آنها از همان زنجیره بلوک قبلی استفاده کرده و نیازی به انجام کار خاصی ندارند اما اگر تغییرات بصورت گسترده تری انجام شود کاربران طبق شرایط جدید باید از زنجیره بلوک جدید استفاده کرده و با شرایط جدید خود را سازگار کنند. با این توضیحات فورکها را میتوان به دو دسته کلی سافت فورک (soft fork) و هارد فورک (hard fork) تقسیم نمود که هارد فورکها به دو دسته برنامه ریزی شده (Planned) و هارد فورکهای بحث برانگیز (Contention)دسته بندی میشوند. در هارد فورک برنامه ریزی شده مانند هارد فورک لندن در اتریوم و هارد فورک آلونزو در شبکه کاردانو همانطور که از نام این نوع هارد فورک تعبیر میشود از قبل در نقشه راه پروژه در نظر گرفته شده است. اما هارد فورک بحث برانگیز به دلیل به وجود آمدن برخی اختلاف نظرها مختلف بین اعضای شبکه بوجود میآید که از این دسته میتوان به هارد فورک اتریوم کلاسیک و هارد فورک بیت کوین کش نام برد.نوع دیگری از فورک وجود دارد که مربوط به نحوه پیاده سازی شاردینگ در ارتباط با موضوع تقسیم اجماع شده است که پیش تر به آن اشاره شد.
تفاوت هارد فورک و سافت فورک
هنگامیکه تغییرات اعمال شده در نرم افزار شبکه به گونهای باشد که با نسخه قبلی نرم افزار شبکه سازگار باشد به این سافت فورک (soft fork) میگوییم. حال اگر تغییرات اعمال شده در نسخه جدید نرم افزار با نسخه قدیم آن ساز گار نباشد به آن هارد فورک (hard fork) میگوییم. در واقع هنگامی که سافت فورک اتفاق میافتد یک بروز رسانی در نسخه قبلی اتفاق میافتد. این به معنای این است که نودهای شبکه اگر هم نسخه قبلی را بروز رسانی نکنند میتوانند با نسخه جدید تعامل داشته باشند و تنها از امکانات و تسهیلات نسخه جدید محروم میمانند. البته همواره شرایط به گونهای میشود که نودهای مختلف در اولین فرصت برای استفاده از قابلیتهای جدید ارائه شده در فورک جدید نسخه بروز رسانی شده برای سافت فورک را دانلود میکنند. اما در هارد فورک (hard fork) تغییرات بگونهای در بستر بلاکچین اعمال میشود که تمامی نودهای شبکه برای ادامه فعالیت در بلاکچین مربوطه مجبور به استفاده از نسخه جدید بلاکچین میباشند.
تاثیر فورک بر قیمت ارزها
در ابتدا توجه به این نکته ضروری است که عواملی که بر روی قیمت یک رمز ارز تاثیر دارند بسیار زیاد بوده و هیچ وقت نباید تنها تاثیر یک عامل را بر روی قیمت در نظر گرفت. فورک نیز به عنوان یکی از عواملی که میتواند بر روی قیمت رمز ارزها تاثیر داشته باشد از اهمیت خاصی برخوردار است. در برخی از فورکها که زنجیره اصلی به دو شاخه مجزا تبدیل میشود، توسعه دهندگان شبکه فورک شده برای اینکه کاربران را به شبکه فورک شده جذب نمایند ممکن است به افرادی که پیش از انجام فورک در زنجیر بلوک اصلی کوین مربوطه را داشته باشند در زنجیر بلوک فورک شده جدید نیز به همان تعداد کوین در شبکه فورک شده را بدهند. به عنوان مثال میتوان به فورک بیت کوین کش اشاره نمود که پس از انجام فورک همه افرادی که در شبکه اصلی بیت کوین داشتند به همان تعداد بیت کوین کش به آدرس کیف پول آنها واریز شد. این موضوع باعث میشود که افراد زیادی برای اینکه کوین شبکه فورک شده جدید را دریافت نمایند اقدام به خرید کوین شبکه اصلی قبل از انجام فورک نمایند و این موضوع با بالا رفتن تقاضا برای کوین شبکه اصلی ، موجب بالاتر رفتن قیمت کوین شبکه اصلی میشود.
تاثیر دیگری که انواع فورک میتواند داشته باشد ایجاد امکانات و شرایطی است که میتواند کاربردهای توکن شبکه اصلی را بالاتر ببرد. مثلا شبکه کاردانو با اجرای هارد فورک آلونزو شرایطی را برای اجرای قرار دادهای هوشمند بر روی این شبکه فراهم میآورند و این موضوع باعث بوجود آمدن پلتفرمهایی بر روی کاردانو میشود که میزان تقاضا برای کوین بومی ADA را بالا خواهند برد. البته در ابتدا احساسات عمومی باعث بالا رفتن مقطعی قیمت کاردانو شد ولی بعد با توجه به زمان بر بودن ایجاد قرار دادهای هوشمند بر روی شبکه کاردانو، قیمت پس از بالا رفتن مقطعی، سیر نزولی پیدا نمود.
نتیجه گیری
ضرورت تغییر در حوزه تکنولوژی اجتناب ناپذیر است. ذات تکنولوژی با تغییر آمیخته شده است و این مطلب اهمیت بروز بودن را در این حوزه دو چندان میکند. در ارتباط با تکنولوژی بلاکچین نیز این موضوع صادق است. تغییراتی که گاه برای بروز رسانیهایی برای ارتقاء شبکه و افزودن قابلیتهای جدید به آن ایجاد شده و گاه به دلیل بروز مشکلات و یا اختلاف نظرهایی فنی انجام میگیرد فورک میگویند. فورکها با توجه به سطح تغییراتی که اعمال میکنند به دستههای مختلفی از جمله هارد فورک و سافت فورک دسته بندی میشوند. بنا به شرایطی که فورک در نحوه عرضه و تقاضای کوین ایجاد میکند باعث نوسانات قیمتی کوین مربوطه شده و به عنوان یکی از عوامل تاثیر گذار بر روی قیمت توکن شناخته میشود.