اکثر افرادی که با نرمافزارهای مختلف کار میکنند با بهروزرسانیها و ارتقاهایی که برنامههای آنها را کارآمدتر میکنند آشنا هستند. بلاکچین هم یک تکنولوژی است که هرچند وقت یکبار باید بهروزرسانی شود. بااینحال، درحالیکه ارائهدهندگان خدمات متمرکز بهراحتی با لمس یک دکمه نرمافزار خود را بهروز میکنند، برنامههای غیرمتمرکز dApp مانند بازار ارزهای دیجیتال در بلاکچین به رویکرد متفاوت و پیچیدهتری نیاز دارند. بهعنوانمثال، بلاکچینها پروتکلهای غیرمتمرکز منبع بازی هستند که هیچ نهاد یا قدرت مرکزی آنها را کنترل نمیکند. بهاینترتیب، تصمیم برای ارتقاء و بهروزرسانی پروتکل مستلزم توافق همه کاربران در شبکه است. این فرآیند منحصربهفرد برای بهروزرسانی یا ارتقاء یک بلاکچین، فورک نامیده میشود. با ما همراه شوید تا بیشتر در مورد فورک صحبت کنیم.
فورک در بلاکچین به چه معناست؟
به زبان ساده بلاکچین مجموعهای از بلوکهای اطلاعاتی است که توسط کلیدهای رمزنگاری ایمن به هم متصل میشوند. این اتصال، زنجیرهای از بلوکها را تشکیل میدهد که به همان بلوک اول باز میگردند. بنابراین میتوان زنجیره بلوکی را بهعنوان مسیری مستقیم از بلوکهای متصل به یکدیگر تصور کرد. ازآنجاییکه بلوکها از طریق توافقی که همه بلوکها بر آن دارند به هم متصل میشوند، هرگونه ارتقای سیستم مستلزم تغییر در همه بلوکها است. چنین اتفاق دور از ذهن است، زیرا بلوکها از طریق مجموعهای از قوانین تغییرناپذیر عملکردی به هم مرتبط هستند. بنابراین بهجای بازنویسی هر بلوک، تغییرات در یک بلاکچین اغلب از طریق استفاده از فورک انجام میشود.
فورک رویدادی در بلاکچین است که نرمافزار اصلی را کپی کرده و تغییرات موردنظر را به آن اضافه میکند. ازآنجاییکه دو بلاکچین باهم سازگار نمیشوند، بلاکچین جدید به دو شاخه تقسیم میشود و یک انحراف چنگال مانند را ایجاد میکند و به همین دلیل به آن فورک میگویند. این فرآیند یک فورک از بلاکچین اصلی را تشکیل میدهد. فورکها را میتوان بسته به هدفشان به دو دسته هارد فورک و سافت فورک تقسیم کرد.
هارد فورک چیست؟ فورکها بهروزرسانی یا ارتقاء پروتکل نرمافزاری بلاکچین هستند که منجر به شکاف در شبکه اصلی بلاکچین میشوند. بهعنوانمثال، یک ارز دیجیتال روی یک بلاکچین قدیمی اجرا میشود. اگر آن بلاکچین ارتقا پیدا کند و منجر به ایجاد یک ارز دیجیتال دوم در بلاکچین جدید شود، یعنی هارد فورک اتفاق افتاده است. با یک هارد فورک، قوانین پروتکل بلاکچین بهروزرسانی شده یا تغییر میکنند تا بلاکچین قدیمی و بلاکچین جدید باهم ناسازگار باشند.
این بدان معناست که گرههای قدیمی، بلوکهای بهروزرسانی جدید را نمیپذیرند و بلاکچین جدید بر اساس قوانین جدیدی عمل میکند که بهطور مداوم بلوکهای بلاکچین قدیمی را رد میکنند. این مورد اغلب بهعنوان یک بهروزرسانی نرمافزار ناسازگار با نسخه قدیمی یا backward-incompatible شناخته میشود. همانطور که در مقاله هارد فورک چیست اشاره کردیم، یک هارد فورک در بلاکچین بیت کوین به دلیل اختلافنظر در جامعه بیت کوین بر سر بهترین رویکرد برای مقیاسپذیری شبکه ایجاد شد.
در یک طرف بحث اعضایی بودند که میخواستند اندازه بلوک را افزایش دهند. در طرف دیگر آن دسته از اعضایی بودند که با این تغییر مخالف بودند. کسانی که میخواستند اندازه بلوک را افزایش دهند پیروز شدند و باعث فورک شدن بیت کوین و ایجاد ارز بیت کوین کش شدند. افرادی که مخالف چنین تغییراتی بودند در شبکه اصلی بیت کوین باقی ماندند. به همین دلیل، درحالیکه هر دو ارز دیجیتال یعنی بیت کوین و بیت کوین کش روی بلاکچینهای متفاوتی اجرا میشوند، هنوز هم سابقه و کدهای یکسانی دارند.
سافت فورک چیست؟
درحالیکه هارد فورک یک ارتقاء ناسازگار با نسخه قدیمی برای بلاکچین است، سافت فورک تغییری سازگار با نسخه جدید ایجاد میکند. ازآنجاییکه سافت فورک یک تغییر سازگار است، بلاکچین قدیمی همچنان بلوکهایی را از پروتکل بلاکچین بهروز شده میپذیرد، حتی اگر به دلیل نرمافزار جدید تغییری در قوانین به وجود آمده باشد. به زبان ساده، یک سافت فورک بلاکچین قدیمی را فریب میدهد تا قوانین جدید را بپذیرد و بنابراین بلوکهای بهروز شده و بلوکهای قدیمی تراکنشها را همزمان میپذیرند. برخلاف هارد فورک، سافت فورک با حفظ دو نسخه با مجموعه قوانین مختلف، بلاکچین قدیمی را نیز در کنار بلاکچین جدید نگه میدارد. نمونهای از یک سافت فورک با موفقیت پیادهسازی شده، بهروزرسانی بلاکچین بیت کوین Segregated Witness (SegWit) در سال 2015 است.
قبل از بهروزرسانی SegWit، بلاکچین بیت کوین حدود 30 دلار در هر تراکنش کارمزد میگرفت و بسیار پرهزینه و وقتگیر بود. بنابراین برای رفع این مشکل SegWit پیشنهاد کرد که اندازه بلوک مؤثر را از 1 مگابایت به 4 مگابایت افزایش دهند. ایده پشت این افزایش حجم جداسازی یا حذف دادههای امضا از دادههای تراکنش در هر بلوک در بلاکچین بود و فضا را برای خروجی تراکنش بیشتر در هر بلوک آزاد میکرد. با استفاده از سافت فورک، بلاکچین قدیمی بیت کوین توانست همزمان بلوکهای جدید 4 مگابایتی و بلوکهای 1 مگابایتی را بپذیرد. از طریق یک فرآیند مهندسی هوشمندانه که قوانین جدید را بدون نقض قوانین قدیمی تنظیم میکرد، سافت فورک به گرههای قدیمی اجازه داد تا بلوکهای جدید را نیز تأیید کنند.
هارد فورک و سافت فورک چه تفاوتهایی با هم دارند؟
جوامع بلاکچین و ارز دیجیتال در مورد اینکه کدام نوع فورک برای ارتقای شبکههای بلاکچین بهترین است، اختلافنظر دارند. درحالیکه هر نوع فورک نقاط قوت خود را دارد، این نقاط ضعف هستند که جوامع بیشتر به آنها توجه دارند و بنابراین با توجه به آنها نوع فورک را انتخاب میکنند. سافت فورکها گزینه ملایمتری از هارد فورکها در نظر گرفته میشوند، اما خطرات خاص خود را دارند. برجستهترین این خطرات این است که یک سافت فورک میتواند توسط بازیگران کلاهبردار برای فریب کاربران فول نود و ماینرها برای تأیید اعتبار بلوکهایی که قوانین بلاکچین را نقض میکنند، مورداستفاده قرار بگیرد.
کاربران فول نود بهعنوان حسابرسان یک بلاکچین عمل میکنند و یک نسخه کامل از بلاکچین را همیشه پیش خودشان نگه میدارند. وظیفه آنها اطمینان از سازگاری هر بلوک جدید با قوانین بلاکچین قدیمی است. اگر گروهی از افراد در بلاکچین موفق به ایجاد قوانین جدید بدون اطلاع کاربران فول نود در شبکه شوند، امنیت شبکه میتواند به خطر بیفتد. بهعنوانمثال، بیت کوین ماهیت غیرمتمرکز خود را از طریق وجود کاربران فول نود و ماینرهایی که مستقل از دیگران کار میکنند و اعتبار دفتر کل را تأیید میکنند، حفظ میکند. بهاینترتیب سیاستهای اقتصادی کلیدی، مانند جلوگیری از خرج زیاد و فرمول تورم بیت کوین تقویت میشوند.
اگر بازیگران کلاهبردار، کاربران و ماینرهای فول نود را فریب دهند تا بلوکهایی را که قوانین را نقض میکنند بپذیرند، بلاکچین ممکن است شروع به اعتبارسنجی بلوکهای نامعتبر کند که بهنوبه خود میتواند منجر به فروپاشی سیستم شود. به همین دلیل، بلاکچینها سعی کردهاند با عمومی کردن همه سافت فورکها، این خطر را کاهش دهند. از سوی دیگر، هارد فورکها هم نقاط ضعف مخصوص به خود را دارند. اولین مورد این است که هارد فورکها برای تقسیم جوامع شناخته شدهاند. برخلاف سافت فورک، هیچ حد وسطی برای هارد فورک وجود ندارد. دومین مورد هم این است که بسیاری از کارشناسان استدلال میکنند که هارد فورکها خطرناک هستند، زیرا قدرت هش شبکه را تقسیم میکنند، بنابراین امنیت و ظرفیت پردازش شبکه را بهطورکلی کاهش میدهند.
با سافت فورک تنها یک بلاکچین با پذیرش بهروزرسانی توسط کاربران باقی میماند. درحالیکه با هارد فورک دو بلاکچین ایجاد میشود و هر دو بلاکچین قدیمی و جدید در کنار یکدیگر کار میکنند؛ به این معنی که نرمافزار باید بهروز شود تا طبق قوانین جدید کار کند. هر دو فورک یک شکاف ایجاد میکنند، اما هارد فورک دو بلاکچین ایجاد میکند درحالیکه سافت فورک همان یک بلاکچین را حفظ میکند.
- هارد فورک یک فرآیند ناسازگار با نسخه قدیمی است، درحالیکه سافت فورک یک فرآیند سازگار با نسخه قدیمی است.
- هارد فورک برگشتپذیر است، درحالیکه سافت فورک برگشتناپذیر است.
- هارد فورک میتواند تراکنشهای نامعتبر قبلی واردشده را معتبر کند و بالعکس. درحالیکه سافت فورک فقط میتواند تراکنشهای معتبر قبلی را باطل کند.
- هارد فورک برای تأیید قوانین جدید به توافق همه ماینرها نیاز دارد، درحالیکه سافت فورک میتواند با اکثر ماینرها بهخوبی کار کند.
- هارد فورک در مقایسه با سافت فورک ایمنتر و خصوصیتر است.
- هارد فورک کل قوانین یک بلاکچین را تغییر میدهد، درحالیکه از سافت فورک برای افزودن عملکردها و ویژگیهای جدید به بلاکچین استفاده میشود.
- هارد فورک ویژگیهای یک بلاکچین را تغییر میدهد، درحالیکه سافت فورک ویژگیهای یک بلاکچین را تغییر نمیدهد و فقط چیزهای جدیدی به آن اضافه میکند.
با توجه به تفاوتهای امنیتی بین هارد فورک و سافت فورک، تقریباً همه کاربران و توسعهدهندگان به هارد فورک نیاز دارند، حتی زمانی که به نظر میرسد سافت فورک هم میتواند از عهده این کار بربیاید.
اهمیت فورک
برای اینکه بلاکچین یک ارز دیجیتال بهخوبی کار کند و ایمن باشد بهتر است هر بار بهروزرسانی شود. برای خرید ارز دیجیتال باید دقت کنید که آیا یک ارز دیجیتال فورک شده یا خیر. برای اینکه بتوانید فورکها را تشخیص دهید میتوانید از سایت اکسبیتو کمک بگیرید. در این سایت که صرافی آنلاین هم هست، بازار ارزهای دیجیتال وجود دارد که در آن رمزارزهای مختلفی ارائه میشوند و اطلاعات همه آنها نیز موجود است. برای کسب اطلاعات بیشتر می توانید وارد صفحه کوینها شوید و یا از طریق سایت اکسبیتو در قسمت منوی بالای صفحه، صفحه کوینها را انتخاب نمایید.
کلام آخر
هم هارد فورک و هم سافت فورک در دنیای رمز ارز ضروری هستند. هردوی آنها برای انجام وظایف مختلف در یک بلاکچین اهمیت دارند. معمولاً توسعهدهندگان و ماینرها با در نظر گرفتن تفاوت بین امنیت و حریم خصوصی، خواستار یک هارد فورک هستند. اما سافت فورک در مورد اصلاح یک بلاکچین و افزودن عملکردهای جدید بدون تغییر ویژگیهای واقعی بهاندازه هارد فورک اهمیت دارد.