سافت فورک در مقابل هارد فورک؛ وقتی بلاک چین به دو نیم تقسیم میشود
ارزهای دیجیتال مثل بیت کوین (BTC) و اتریوم (ETH) از یک نرمافزار منبعباز و غیرمتمرکز بهنام بلاکچین بهره میبرند. فورک به معنی تغییر در پروتکل اصلی بلاکچین است. فورکِ بلاکچین، یک ارتقا مهم در شبکه محسوب میشود که میتواند نشاندهندهی یک تغییر اساسی یا جزئی باشد. توسعهدهندگان یا اعضای جامعهی بلاکچین میتوانند اجرای فورک را آغاز کنند.
اپراتورهای گره، ماشینهای متصل به بلاکچین هستند که به اعتبارسنجی تراکنشها کمک میکنند. ارتقا به آخرین نسخهی پروتکل نیز به اپراتورهای گره نیاز دارد. هر گره یک کپی از بلاکچین در اختیار دارد و تضمین میکند که تراکنشهای جدید با تاریخچهی آن در تضاد نباشد.
هارد فورک (Hard Fork) یک ارتقاءِ رادیکال است که میتواند تراکنشها و بلوکهای قبلی را معتبر یا نامعتبر کند و بهمنظور بهروزرسانی به نسخهی جدیدتر، به همهی اعتباردهندههای شبکه نیاز دارد. «سافت فورک» یک بهروزرسانی نرمافزاری است که با نسخههای قبلی سازگار بوده و دارای اعتبارسنجیهایی است که نسخهی جدید را در نسخهی قدیمیتر زنجیره، معتبر میدانند.
هارد فورک بهطور مؤثر اغلب منجر به جدایی دائمی زنجیره میشود، زیرا نسخهی قدیمی، حالا دیگر با نسخهی جدید سازگار نیست. کسانی که در زنجیرهی قدیمی توکن دارند، در زنجیرهی جدید نیز توکن دریافت میکنند، زیرا تاریخچهی آنها مشترک است. هارد فورک ممکن است به دلایل مختلفی اتفاق بیفتد.
درک هارد فورک
برای درک اینکه هارد فورک چیست، ابتدا باید فناوری بلاکچین را درک کنید. بلاکچین اساساً زنجیرهای است که از بلوکهای حاوی دادهها تشکیل شده است و بهعنوان یک دفتر کل دیجیتال کار میکند. در این دفتر کل، معتبر شدن هر بلوک جدید منوط به تأیید بلوک قبلی توسط اعتبارسنجیهای شبکه است. میتوان دادههای موجود در بلاکچین را تا اولین تراکنش ثبتشده روی شبکه، ردیابی کرد. بههمین دلیل است که هنوز میتوانیم اولین بلاک ساخته شده در بلاکچین بیت کوین را ببینیم.
هارد فورک اساساً یک واگرایی دائمی از آخرین نسخهی بلاکچین است که منجر به جدایی بلاکچین میشود، زیرا حالا برخی از گرهها باهم توافق نظر نداشته و دو نسخهی مختلف از شبکه، بهطور جداگانه اجرا خواهند شد.
این یعنی یک فورک، در بلاکچینی ایجاد میشود که در آن از یک مسیر شامل مجموعه قوانین فعلی خود پیروی میکند، در حالیکه مسیر دوم از مجموعه قوانین جدیدی پیروی میکند. هارد فورک با نسخههای پیشین سازگار نیست، بنابراین نسخهی قدیمی حالا دیگر نسخهی جدید را معتبر نمیداند.
هارد فورک بهدلیل شکاف زنجیرهای، که اغلب رخ میدهد، بیشتر مواقع خطرناک تلقی میشود.
اگر بین ماینرهایی که شبکه را ایمن میکنند و گرههایی که به اعتبارسنجی تراکنشها کمک میکنند، شکافی رخ دهد، امنیت شبکه کاهش خواهد یافت و در برابر حملات آسیبپذیرتر خواهد شد.
یک راه متداول برای انجام اقدامات مخرب علیه یک بلاکچین، انجام یک حمله ۵۱ درصدی است؛ حملهای که در آن گروهی از ماینرها موفق میشوند بیش از ۵۱ درصد از قدرت محاسباتی شبکه را در دست گرفته و از آن برای تغییر تاریخچهی بلاکچین استفاده کنند. برخی از شبکههای مبتنی بر هارد فورک، در واقع در معرض حملات ۵۱ درصدی قرار گرفتهاند. این حملات بازیگران بدی دارد که از قدرت محاسباتی برتر خود در شبکه، برای سازماندهی مجدد بلوکها استفاده میکنند. بدین ترتیب این ماینرها قادر خواهند بود داراییهای دیجیتال خود را دوبار خرج (double-spend) کنند.
آسیبپذیری دیگری که با هارد فورک امکانپذیر است، حملات تکراری نام دارد. این نوع حملات زمانی اتفاق میافتد که یک نفوذگر، تراکنش را در یک شبکهی فورک شده رهگیری میکند و آن دادهها را زنجیرهی دیگر، تکرار میکند. هر دو تراکنش یاد شده در هارد فورکهایی که در برابر حملهی مجدد امنیت ندارند معتبر خواهد بود، و این یعنی نفوذگر میتواند داراییهای کاربران را بدون کنترل آنها، جابهجا کند.
چرا هارد فورک؟
اگر هارد فورک میتواند امنیت یک بلاک چین را بهشدت کاهش دهند، در درجهی اول، چرا هارد فورک باید وجود داشته باشد؟ پاسخ ساده است: از آنجا که فناوری بلاکچین همچنان در حال تکامل است، هارد فورکها بهروزرسانیهایی ضروری برای بهبود شبکه محسوب میشوند. توسعهی هر هارد فورک میتواند دلایل مختلفی داشته باشد که البته همه آنها منفی نیست. در ادامه به برخی از دلایل توسعهی هارد فورکها اشاره میکنیم.
- امکان اضافه کردن قابلیتهای جدید به بلاکچین
- اصلاح خطرات امنیتی
- حل کردن اختلاف نظر در جامعهی یک ارز دیجیتال
- انجام تراکنشهای معکوس روی بلاکچین
امکان دارد هارد فورکها بهصورت تصادفی رخ دهندد. در بیشتر مواقع این حوادث به سرعت حل میشود و مواردی که دیگر با بلاکچین اصلی اتفاقنظر نداشته باشند، پس از اینکه متوجه شدند چه اتفاقی رخ داده است، عقب افتاده، و به آن پایبند میمانند. بهطور مشابه، هارد فورکهایی که قابلیتهای جدیدی به بلاکچین اضافه میکنند و شبکه را ارتقا میدهند، معمولاً به کسانی که از اجماع خارج شدهاند، اجازه خواهند داد تا دوباره به زنجیرهی اصلی بپیوندند.
هارد فورک تصادفی
در تاریخ بلاکچین بیت کوین هارد فورکهای تصادفی زیادی وجود داشته است. این موارد رایجتر از آن است که تصور میشود و اغلب آنقدر سریع حل میشوند که به سختی میتوان از وجودشان مطلع شد.
بیشتر هارد فورکهای تصادفی، زمانی رخ میدهند که دو ماینر تقریباً بهطور همزمان، یک بلوک را پیدا کنند. همانطور که اجماع روی شبکه توزیع میشود، هر دو ماینر در ابتدا بلوک را معتبر میبینند و قبل از اینکه خودشان یا ماینر دیگری بلوک بعدی را اضافه کند، استخراج را در زنجیرههای مختلف ادامه میدهند.
بلوک بعدی تعیین میکند که کدام زنجیره، طولانیتر شود، این یعنی برای حفظ اجماع، بلوک دیگری رها شود. ماینرها به سمت طولانیترین زنجیره حرکت میکنند، زیرا زنجیرهی رها شده، دیگر برای استخراج بیت کوین سودآور نیست، چراکه در این شرایط امکان استخراج یک فورک شبکه وجود دارد.
هنگامی که این فورکها اتفاق میافتد، ماینری که بلوک رها شده را پیدا کرده است، پاداش و کارمزد تراکنش را از دست میدهد. با این حال، هیچ تراکنشی باطل نمیشود زیرا هر دو بلوک کشف شده یکسان بوده و تراکنشهای یکسانی در دل آنها ثبت شده است.
هارد فورکهای تصادفی دیگر، بخشی از مشکلات کد محسوب میشوند که منجر به تقسیمهای زنجیرهی کوتاه میشود. بهعنوان مثال، در سال ۲۰۱۳، یک بلوک با تعداد کل ورودیهای تراکنش بیشتر از آنچه قبلا دیده شده بود استخراج و توزیع شد، این در حالی بود که برخی از گرهها آن را پردازش نکردند. برای حل این مشکل، برخی از گرهها، نرمافزار خود را به نسخهی قبل دانگرید کردند تا به اجتماع رسیده و بلوک بزرگتر را رد کنند.
تفاوت هارد فورک و سافت فورک
تنها راه ارتقای بستر بیت کوین، هارد فورک نیست. سافت فورکها (Soft Fork) بهعنوان یک جایگزین امنتر و سازگار با بستر ارزهای دیجیتال شناخته میشوند و این یعنی گرههایی که به نسخههای جدیدتر ارتقا پیدا نمیکنند، همچنان زنجیره را معتبر خواهند دید.
میتوان از سافت فورک برای افزودن ویژگیها و عملکردهای جدیدی استفاده کرد که قوانینی را که یک بلاکچین باید رعایت کند، تغییر نمیدهد. سافت فورکها برای پیادهسازی ویژگیهای جدید اغلب در سطح برنامهنویسی مورد استفاده قرار میگیرند.
برای درک بهتر تفاوت بین هارد فورک و سافت فورک، میتوان آن را بهعنوان یک ارتقا اولیهی سیستمعامل در گوشیهای هوشمند یا رایانه در نظر گرفت. همهی برنامههای موجود روی دستگاه پس از ارتقا سیستمعامل، همچنان با نسخهی جدید، سازگاری دارند. در این سناریو، میتوان هارد فورک را یک تغییر کامل در سیستمعامل جدید محسوب کرد.
هارد فورکهای مهم و درخورتوجه
در دنیای ارزهای دیجیتال، نمونه های تاریخی متعددی از هارد فورکها وجود دارد که همه آنها روی بلاکچین بیت کوین اتفاق نیفتادهاند. در اینجا تعدادی از محبوبترین هارد فورکهای تاریخ و نحوهی تأثیر آنها بر صنعت ارزهای دیجیتال آورده شده است.
SegWit2x و بیت کوین کش
SegWit2x یک ارتقا پیشنهادی بود که برای کمک به مشکل مقیاسپذیری بیت کوین طراحی شد. Segregated Witness (بهاختصار SegWit) برای بهبود محدودیت اندازهی بلوکهای بیت کوین از یک مگابایت به دو مگابایت طراحی شده بود.
تصمیم به اجرای SegWit2x در توافقنامهی بحث برانگیز نیویورک در ۲۳ می ۲۰۱۷ گرفته شد. این توافق نشان داد که تعدادی از صاحبان کسبوکارهای مرتبط با بیت کوین و ماینرهایی که بیش از ۸۵ درصد از نرخ هش شبکه را نمایندگی میکنند، آینده پادشاه ارزهای دیجیتال را پشت درهای بسته تعیین خواهند کرد.
SegWit از طریق سافت فورک پیادهسازی میشود، درحالیکه بهبود محدودیت اندازه بلوک پس از آن و از طریق هارد فورک اجرا میشود. این پیشنهاد بحث برانگیز بود، زیرا هیچ یک از توسعهدهندگان هستهی اصلی بیت کوین، در آن حضور نداشت و بهعنوان یک نیروی متمرکز تلقی میشد؛ گروهی از کسبوکارها که سرنوشت شبکه را بدون توافق ماینرها و گرهها تعیین میکنند. این توافق پس از سالها بحث در مورد افزایش مقیاسپذیری بیت کوین بهدست آمد.
استدلال طرفداران بلوکهای کوچک این بود که بلوکهای بزرگتر، میزبانی یک گره کامل را دشوارتر میکند و بهطور بالقوهای باعث متمرکز شدن این ارز دیجیتال خواهد شد. در نقطهی مقابل، استدلال کسانی که از بلاکهای بزرگتر حمایت میکردند این بود که افزایش کارمزد تراکنشهای بیت کوین به رشد آن آسیب میزند و باعث خواهد شد برخی از کاربران از این شبکه خارج شوند.
در شبکهی بیت کوین امکان اجرای سافت فورکهای فعال شده توسط کاربر، امکانپذیر است. در این سناریو، اپراتورهای کیف پول، صرافیها و سایر کسبوکارهایی که گرههای کامل را اجرا میکنند، میتوانند به نسخهی جدیدی از بلاک چین مهاجرت کنند که در آینده، دارای یک نقطه فعالسازی خواهد بود و ماینرهای شبکه را مجبور میکند تا قوانین جدید را بپذیرندد. اگر ماینرها این کار را انجام ندهند، ممکن است شبکه در نهایت تقسیم شود.
در آن زمان کاربران بیت کوین در پاسخ به جلسهی غیرعلنی که آیندهی بیت کوین را تعیین میکرد، برای یک سافت فورک فعالشده توسط کاربر کمپین زدند؛ آنها خواستار اجرای پیشنهاد بهبود بیت کوین (BIP) 148 شدند که به دنبال پیادهسازی SegWit در شبکه بیت کوین، توسعه داده شده بود و استدلال میکرد که SegWit2x یک هارد فورک بحثبرانگیز است که شبکه را در برابر «حملهی مجدد» آسیب پذیر میکند. این سافت فورک در مارس ۲۱۷ منتشر شد و قرار بود در یکم اوت ۲۰۱۷ اجرا شود.
برخی از حامیان بلوکهای بزرگ با مشاهده حمایت جامعه از SegWit، از ترس اینکه طرح SegWit2x محقق نشود، تصمیم گرفتند زنجیرهی بلوک بیت کوین را در اول اوت ۲۰۱۷ فورک کنند. نتیجهی این اقدام، ایجاد ارز دیجیتال بیت کوین کش (BCH) بود. حامیان این رمز ارز، آن را یک شبکهی رقیب نمیدانستند، بلکه آن را بیشتر ادامهی چشمانداز اصلی ساتوشی ناکاموتو تلقی میکردند.
در ابتدا اندازهی بلوکهای بلاکچین بیت کوین کش هشت مگابایت بود که از آن زمان تاکنون به ۳۲ مگابایت افزایش یافته است. حامیان بیتکوین کش تا به امروز معتقدند که کارمزدهای پایین تراکنشهای این ارز دیجیتال به آن کمک میکند. این افراد همچنین مدعی شدهاند که بیتکوین به دلیل کارمزد بالای تراکنشهای بزرگتر، عقب خواهد ماند.
هارد فورک بیت کوین کش امکان ورود هارد فورک را در کانون توجه قرار داد و اندکی بعد فورکهای متعدد دیگری نیز برای بیت کوین ایجاد شد. از جمله این هارد فورکها میتوان به بیت کوین گلد (BTG)، بیت کوین دایمن (BTCD) و موارد دیگر اشاره کرد.
هک DAO
یکی دیگر از هارد فورکهای تاریخی مهم، مربوط به سازمان غیرمتمرکز خودمختار (DAO) بود که در سال ۲۰۱۶ روی شبکه اتریوم راهاندازی شد. اتریوم مجموعهای از قراردادهای هوشمند را اجرا میکند که اساساً تکههایی از کد هستند که هر زمان که مجموعهای از معیارها [ازپیش تعیینشده] برآورده شد، بهطور خودکار اجرا میشوند. این قراردادها پول را قابل برنامهریزی کرده و بستری برای برنامههای مالی غیرمتمرکز (DApps) است.
در آن زمان، DAO قبل از عرضهی اولیهی سکه (ICO) در سال ۲۰۱۷، در یکی از اولین تلاشهای سرمایهگذاری جمعی در فضای ارزهای دیجیتال، حدود ۱۵۰ میلیون دلار ETH جمعآموری کرد. در این شرایط، دارندگان توکن، در مورد آیندهی پروتکل رأی میدهند.
پس از راهاندازی DAO، حدود ۶۰ میلیون دلار اتر از ۱۱ هزار سرمایهگذار هک شد. در آن زمان، اتریوم با ارزش زیر ۱۰ دلار معامله میشد، بنابراین حدود ۱۴ درصد از کل اتر در گردش در DAO سرمایهگذاری شد و این هک ضربه بزرگی به اعتماد به این شبکه وارد کرد.
پس از هک مورد اشاره، بحثهای در جامعهی اتریوم آغاز شد، زیرا همه در تلاش بودند تا چگونگی پاسخ به این حمله را بیابند. در ابتدا، ویتالیک بوترین، بنیانگذار اتریوم، سافت فورکی را پیشنهاد کرد که آدرس مهاجم را در لیست سیاه قرار میداد و از انتقال وجوه توسط آنها جلوگیری میکرد.
فرد یا شاید گروه مهاجم در پاسخ به فعالیتهای جامعهی اتریوم اعلام کرد که این وجوه را به روشی «قانونی» و مطابق با قوانین قرارداد هوشمند بهدست آورده است. مهاجم حتی ادعا کرد که هر کسی سعی در تصرف وجوه داشته باشد، با اقدام قانونی وی مواجه خواهد شد. تنشها بالا گرفت زیرا مهاجم گفت که تلاشهای سافت فورک را با رشوه دادن به استخراجکنندگان اتر، خنثی میکند.
یک بار دیگر بحث ادامه یافت تا اینکه هارد فورک پیشنهاد شد. هارد فورک در نهایت اجرا شد و تاریخچهی شبکه اتریوم را به قبل از وقوع حمله DAO برگرداند و وجوه دزدیدهشده را به یک قرارداد هوشمند اختصاص داد سرمایهگذاران که در آن میتوانند وجوه از دست رفتهی خود را برداشت کنند.
این حرکت بسیار بحث برانگیز بود، و از نظر برخی، مقاومت و تغییر ناپذیری سانسور بلاکچین را تحت تأثیر قرار داد. در هر صورت سرمایهگذاران از این هک نجات یافتند. البته برخی افراد این هارد فورک را رد کردند و از نسخه قبلی شبکه، که اکنون با نام اتریوم کلاسیک (ETC) شناخته میشود، پشتیبانی کردند.
نبرد هشریتها: ABC در مقابل SV
بیت کوین کش، در آگوست ۲۰۱۷ از طریق یک هارد فورک بلاکچین بیت کوین ایجاد شد و بعداً به دلیل مخالفت گروههای درون جامعهی خود، به دو شبکه تقسیم شد. در یک طرف، بیت کوین کش ABC (BCHA) وجود داشت، که یک تیم توسعه برای بهبود فناوریهای آن تلاش میکنند. در طرف دیگر، بیت کوین کش SV (BSV) وجود داشت؛ تیمی که توسط کریگ رایت خودخوانده «ساتوشی ناکاموتو» پشتیبانی میشد و سعی داشت اندازه بلوک را از ۳۲ مگابایت به ۱۲۸ مگابایت افزایش دهد.
در بلوک ۵۵۶۷۶۷، بلاک چین به دو قسمت تقسیم شد و نبرد برای نماد تیک BCH آغاز شد. ماینرها در هر دو طرف، از هر منبعی که میتوانستند استفاده کردند تا از امتیاز هش بالاتری نسبت به دیگری برخوردار شوند. بسیاری خواستار حمله ۵۱ درصدی به شبکه شدند تا بلوکها مجددا سازماندهی شوند، بنابراین حامیان این پروژه بهاجبار، باید با آنها موافقت میکردند.
صرافیهای ارزهای دیجیتال و سایر کسبوکارها اعلام کردند که تیک BCH را به زنجیره بلوکی که در صدر قرار گرفت نسبت میدهند. برخی از استخرهای ماینینگ تمام منابع خود را وارد میدان جنگهای هشریت کردند، در نهایت، بیتکوین کش ABC اکثریت نرخ هش را در اختیار داشت و از هرگونه تلاش ۵۱ درصدی برای حمله جلوگیری کرد. بعداً در صرافیها و سایر سرویسها، یک دسته از BCH و دستهی دیگر از BSV بهعنوان نماد خود استفاده کردند.
نظر شما در مورد هارد فورک و سافت فورک چیست؟