مقالاتمفاهیم پایه

هارد فورک و سافت فورک در بلاک چین

هارد فورک و سافت فورک در پویایی بلاک چین و شبکه ارز دیجیتال نظیر بیت کوین نقش اساسی دارند. در این مطلب، به مقایسه Hard Fork و Soft Fork می‌پردازیم.

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

هنگامی که از شما خواسته می‌شود برنامه بانک‌داری دیجیتال تلفن همراه هوشمند خود را به‌روز کنید، احتمالا حتی به انجام دادن یا ندادن آن فکر نمی‌کنید. حتی شاید تلفن شما بدون اینکه متوجه شوید، خودکار این آپدیت را انجام دهد. بالاخره این یک فرآیند ضروری است و اگر آخرین نسخه نرم‌افزار را نصب نکنید، ممکن است از دسترسی به خدمات آن محروم شوید.

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

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

در یک شبکه بلاک چین چه کسی تصمیم گیرنده است؟

برای درک چگونگی کارکرد فورک‌ها، مهم است که ابتدا با شرکت‌کنندگان درگیر در فرایند تصمیم‌گیری (یا اداره) شبکه آشنا شوید.

به طور کلی، شرکت‌کنندگان شبکه بیت کوین به سه دسته تقسیم می‌شوند: توسعه‌دهندگان، استخراج‌کنندگان و کاربران فول نود (Full Node). این‌ها طرف‌هایی هستند که در واقع به تداوم شبکه کمک می‌کنند. لایت نودها (به عنوان مثال کیف پول‌های موبایل، لپ تاپ و غیره) نیز به طور گسترده‌ای با شبکه تعامل دارند، اما از آنجایی که در تداوم شبکه تاثیری ندارند، به عنوان شرکت‌کننده در نظر گرفته نمی‌شوند.

توسعه‌دهندگان

توسعه‌دهندگان (Developers) مسئول ساخت و به‌روزرسانی کدها هستند. برای کوین‌های معمولی، هرکسی می‌تواند در این روند سهیم باشد. این کد به صورت عمومی در دسترس است، بنابراین آن‌ها می‌توانند تغییراتی را برای بررسی سایر توسعه‌دهندگان ارائه دهند.

استخراج‌کنندگان

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

کاربران فول نود

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

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

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

اگر این دو دسته سعی کنند بقیه شرکت‌کنندگان را مجبور به پیروی از تصمیمات خود برای شبکه کنند، احتمالا با شکست روبرو خواهند شد. برای بسیاری، قدرت واقعی در فول نودها متمرکز شده است. این قدرت تا حد زیادی تابعی از امکان انتخاب شبکه برای فول نودها است، به این معنی که آن‌ها آزادانه می‌توانند نرم افزار مورد نظر خود را انتخاب کنند. در واقع، توسعه‌دهندگان یا ماینرها نمی‌توانند به خانه شما آمده و با تهدید اسلحه شما را مجبور به دانلود Bitcoin Core کنند.

توسعه‌دهندگان یا استخراج‌کنندگان اربابان قدرت نیستند، آن‌ها ارائه دهنده خدمات‌اند. اگر مردم تصمیم بگیرند از شبکه استفاده نکنند، کوین ارزش خود را از دست می‌دهد. از دست دادن ارزش به طور مستقیم بر ماینرها تأثیر می گذارد (ارزش پاداش آن‌ها به دلار کمتر می‌شود). در مورد توسعه‌دهندگان نیز، آن‌ها فقط می‌توانند توسط کاربران نادیده گرفته شده و توجهی به کدهایی که ساعت‌ها برای آ‌ن‌ها زمان گذاشته و نوشته‌اند، نشود.

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

Fork چیست؟

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

توجه داشته باشید که این نوع اتفاقات در پروژه های متن باز بسیار زیاد رخ می‌دهد و مدت‌ها قبل از ظهور بیت کوین یا اتریوم اتفاق می‌افتاده اما، تمایز بین هارد فورک و سافت فورک تقریباً منحصر به فضای بلاک چین است.

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

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

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

از آنجایی که دو زنجیره به‌وجود آمده دارای سابقه مشترک هستند، اگر کوینی را قبل از فورک داشته باشید، پس از هارد فورک در هر دو شبکه دارای کوین‌های آن بلاک چین به همان مقدار خواهید بود. فرض کنید زمانی که یک فورک در بلاک 600،000ام رخ دهد، 5 واحد BTC داشته باشید. شما می‌توانید این 5 بیت کوین را در بلاک چین قدیمی در بلاک 600،001 خرج کنید، اما در بلاک 600،001 زنجیره جدید خرج نشده است. با فرض اینکه رمزنگاری تغییر نکرده، کلیدهای خصوصی شما هنوز پنج کوین را در فورک شبکه نگه می‌دارد.

یک نمونه از Hard Fork، هارد فورک سال 2017 بود که بیت کوین را به دو بلاک چین جداگانه تقسیم کرد، فورکی که اکنون زنجیره اصلی را به (Bitcoin (BTC و زنجیره جدید را به (Bitcoin Cash (BCH می‌شناسیم. این فورک پس از بحث و جدل در مورد بهترین روش برای مقیاس پذیری بیت کوین، رخ داد. طرفداران بیت کوین کش می‌خواستند اندازه بلاک‌ها را افزایش دهند، در حالی که طرفداران بیت کوین با این تغییر مخالفت می‌کردند.

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

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

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

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

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

یک نمونه خوب از سافت فورک در دنیای واقعی، فورک سگویت یا (Segregated Witness (SegWit بود، که اندکی پس از انشعاب Bitcoin / Bitcoin Cash رخ داد. SegWit یک به‌روزرسانی بود که قالب بلاک‌ها و تراکنش‌بها را تغییر داد و بسیار هوشمندانه ساخته شده بود. نودهای قدیمی همچنان می‌توانند بلاک‌ها و تراکنش‌ها را تأیید کنند (قالب بندی قوانین را نقض نمی‌کند)، اما نودهای قدیمی آن‌ها را درک نمی‌کنند. برخی از فیلدها فقط در صورت تغییر نودها به نرم افزار جدیدتر قابل خواندن هستند که به آن‌ها امکان تجزیه و تحلیل داده‌های اضافی را می‌دهد.

هارد فورک یا سافت فورک، کدام بهتر است؟

اساساً هارد فورک و سافت فورک اهداف مختلفی را دنبال می‌کنند. Hard Fork‌ های بحث برانگیز می‌توانند یک جامعه را از هم جدا کنند، اما موارد برنامه‌ریزی شده که توافق جمعی بهمره دارند، آزادی زیادی را برای اصلاح نرم‌افزار فراهم می‌کنند.

سافت فورک‌ ها گزینه‌های ملایم‌تری هستند. با این حال، Soft Fork محدودتر است، زیرا تغییرات جدید نمی‌توانند با قوانین قدیمی مغایرت داشته باشند. البته همانطور که گفته شد، اگر به‌روزرسانی شما به گونه‌ای ساخته شود که سازگار بماند، دیگر لازم نیست نگران تقسیم شدن شبکه باشید.

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

هارد فورک ‌ها و سافت فورک ها امکان ایجاد یکپارچه‌سازی ویژگی‌های جدید در بلاک چین ها و ارزهای مجازی را فراهم می‌کنند. بدون این مکانیزم‌ها، ما به یک سیستم متمرکز با کنترل از بالا به پایین نیاز داریم. در غیر این صورت، ما مجبوریم دقیقا قوانین یکسان و بدون تغییری را در طول عمر پروتکل حفظ کنیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا