سافت فورک در مقابل هارد فورک: بررسی تفاوت ها
ارزهای رمزنگاری شده مانند بیت کوین (BTC) و اتریوم (ETH) توسط یک نرم افزار منبع باز غیرمتمرکز به نام بلاک چین تغذیه می شوند.
فورک تغییری در پروتکل اصلی بلاک چین است. فورک بلاک چین یک ارتقاء مهم برای شبکه است و می تواند یک تغییر اساسی یا جزئی را نشان دهد و می تواند توسط برنامه نویسان یا اعضای اجتماع رمز ارز آغاز شود.
این کار به اپراتورهای node – ماشینهای متصل به بلاک چین که به اعتبارسنجی تراکنشهای روی آن کمک میکنند – برای ارتقا به آخرین نسخه پروتکل نیاز دارد. هر node دارای یک کپی از بلاک چین است و تضمین می کند که تراکنش های جدید با تاریخچه آن در متضاد نیستند.
هارد فورک یک ارتقای اساسی است که میتواند تراکنشها و بلوکهای قبلی را معتبر یا نامعتبر کند و احتیاج دارد که تمام اعتباردهنده های یک شبکه به نسخه جدیدتر ارتقا پیدا کنند. با ساختار گذشته سازگار نیست. سافت فورک بهروزرسانی نرمافزاری است که با نسخههای قبلی سازگار است و دارای سیستم اعتبارسنجی ای میباشد کع در نسخه قدیمی زنجیره موجود است و نسخه جدید را معتبر میداند.
در سوی دیگر، هارد فورک اغلب منجر به جدایی دائمی زنجیره می شود، زیرا نسخه قدیمی دیگر با نسخه جدید سازگار نیست. به کسانی که در زنجیره قدیمی توکن دارند، در زنجیره جدید نیز توکن اعطا می شود، زیرا آنها سابقه مشابهی دارند. هارد فورک ممکن است به دلایل مختلفی اتفاق بیفتد.
درک هارد فورک
برای درک اینکه هارد فورک چیست، ابتدا باید فناوری بلاک چین را درک کنید. زنجیره بلوکی اساساً زنجیرهای است که از بلوک های داده و اطلاعات تشکیل شده است که بهعنوان یک دفتر کل دیجیتال کار میکنند که در آن هر بلوک جدید تنها پس از تأیید بلوک قبلی، به واسطه تایید اعتبار شبکه معتبر است. داده های موجود در بلاک چین را می توان تا اولین تراکنش در شبکه ردیابی کرد. به همین دلیل است که هنوز هم میتوانیم اولین بلوک را در بلاک چین بیت کوین ببینیم.
هارد فورک اساساً یک واگرایی دائمی از آخرین نسخه بلاک چین است که منجر به جدایی بلاک چین می شود، زیرا برخی از ند ها دیگر مطابقت ندارند و دو نسخه مختلف از شبکه به طور جداگانه اجرا می شوند.
این اساساً به این معنی است که یک فورک در بلاک چین وقتی ایجاد می شود که در آن، شیوه گذشته از مجموعه قوانین خود پیروی می کند، در حالی که شیو ه دوم از مجموعه قوانین جدیدی پیروی می کند. هارد فورک سازگار با گذشته نیست، بنابراین نسخه قدیمی دیگر نسخه جدید را معتبر نمی داند.
هارد فورک ها به دلیل مسیر متفاوت زنجیره، اغلب خطرناک در نظر گرفته می شوند. اگر بین ماینرهایی که شبکه را ایمن میکنند و ند هایی که به اعتبارسنجی تراکنشها کمک میکنند، شکافی رخ دهد، خود شبکه از امنیت کمتری برخوردار میشود و در برابر حملات آسیبپذیرتر میشود.
یک راه متداول برای انجام اقدامات مخرب علیه یک بلاک چین، انجام یک حمله 51 درصدی است، یعنی زمانی که گروهی از ماینرها موفق می شوند بیش از 51 درصد از قدرت محاسباتی شبکه را در اختیار بگیرند و از آن برای تغییر تاریخچه بلاک چین استفاده کنند. برخی از شبکههایی که در نتیجه هارد فورکها ایجاد شدهاند، در واقع متحمل حملات 51 درصدی شدهاند که در آنها افراد خرابکار همان بودجه را دوبرابر خرج کردهاند. این حملات از قدرت محاسباتی برتر خود در شبکه برای سازماندهی مجدد بلوکها استفاده میکنند و به آنها امکان میدهد دو برابر هزینه کنند.
آسیب پذیری دیگری که با هارد فورک امکان پذیر است، حملات مجدد است. حملات مجدد زمانی اتفاق میافتند که یک فرد مخرب تراکنش را در شبکه فورک رهگیری میکند و آن دادهها را در زنجیره دیگر تکرار میکند. هارد فورکها در صورت عدم محافظت در برابر حمله مجدد، هر دو تراکنش را معتبر میدانند، به این معنی که شخصی میتواند وجوه کاربران دیگر را بدون کنترل آنها جابهجا کند.
چرا هارد فورک اتفاق می افتد؟
اگر هارد فورک ها می توانند امنیت یک بلاک چین را به شدت کاهش دهند، اصلا چرا اتفاق می افتند؟
پاسخ ساده است: هارد فورک ها ارتقایی هستند که همراه با ادامه تکامل فناوری بلاک چین ضروری هستند. دلایل متعددی می تواند پشت هارد فورک باشد و همه آنها منفی نیستند:
افزایش عملکرد و توان
اصلاح امنیت شبکه
حل اختلاف نظر در جامعه یک ارز دیجیتال
تراکنش های معکوس در بلاک چین
هارد فورک ها همچنین ممکن است به صورت تصادفی اتفاق بیفتند. اغلب، این حوادث به سرعت حل میشوند و آنهایی که دیگر با بلاکچین اصلی موافق نبوده انذ، پس از فهمیدن اینکه چه اتفاقی افتاده است، عقب مینشینند و به آن پایبند میمانند. به طور مشابه، هارد فورکهایی که قابلیتها را اضافه میکنند و شبکه را ارتقا میدهند، معمولاً به کسانی که از اجماع خارج میشوند اجازه میدهند دوباره به زنجیره اصلی بپیوندند.
هارد فورک تصادفی
بلاک چین بیت کوین در طول تاریخ خود شاهد هارد فورک های تصادفی زیادی بوده است. اینها بیشتر از آن چیزی است که تصور می شود رایج هستند و اغلب آنقدر سریع حل می شوند که به سختی مورد توجه قرار می گیرند.
بیشتر هارد فورکهای تصادفی زمانی اتفاق میافتند که دو ماینر، همزمان یک بلوک را پیدا کنند. همانطور که اجماع در مورد شبکه توزیع می شود، هر دو در ابتدا بلوک را معتبر می بینند و قبل از اینکه خودشان یا ماینر دیگری بلوک بعدی را اضافه کنند، استخراج را در زنجیره های مختلف ادامه می دهند.
بلوک بعدی تعیین می کند که کدام زنجیره طولانی تر شود، به این معنی که زنجیره دیگر برای حفظ اجماع رها شود. ماینرها به سمت طولانی ترین زنجیره حرکت می کنند، زیرا زنجیره متروکه دیگر برای استخراج بیت کوین سودآور نیست، چون آنها ممکن است در حال استخراج یک فورک از شبکه باشند.
هنگامی که این فورک ها اتفاق می افتد، ماینری که بلوک رها شده را پیدا کرده است، پاداش کوین بیس و کارمزد تراکنش را از دست می دهد. با این حال، هیچ تراکنشی باطل نمی شود زیرا هر دو بلوک یافت شده یکسان بوده و دارای تراکنش های یکسانی هستند.
دیگر هارد فورک های تصادفی بخشی از مشکلات کد بودند که منجر به تقسیم های زنجیره کوتاه شد. برای مثال، در سال 2013، بلوکی با تعداد بیشتری از کل ورودی تراکنش ها نسبت به آنچه که قبلا دیده شده بود استخراج و پخش شد، در حالی که برخی از ند ها آن را پردازش نکردند و منجر به جدایی شد. این مشکل وقتی حل شد که برخی از ند ها یطح نرم افزار خود را پایین اوردند تا به اجماع برسند و این بلوک بزرگتر را رد کنند.
تفاوت هارد فورک و سافت فورک
هارد فورک تنها راه برای ارتقاء نرم افزار ارز های دیجیتال نیست. در مقابل، سافت فورکها بهعنوان جایگزین مطمئنتری دیده میشوند که سازگار با گذشته است، به این معنی که ند هایی که به نسخههای جدیدتر ارتقا نمییابند، همچنان زنجیره را معتبر میبینند.
از سافت فورک می توان برای افزودن ویژگی ها و عملکردهای جدیدی استفاده کرد که قوانینی را که یک بلاک چین باید رعایت کند تغییر نمی دهد. سافت فورک ها اغلب برای پیاده سازی ویژگی های جدید در سطح برنامه نویسی استفاده می شوند.
برای درک بهتر تفاوت بین هارد فورک و سافت فورک، می توان آن را به یک ارتقاء اولیه سیستم عامل در دستگاه تلفن همراه یا رایانه تشبیه کرد. پس از ارتقاء، تمامی برنامه های موجود در دستگاه همچنان با نسخه جدید سیستم عامل کار خواهند کرد. یک هارد فورک، در این سناریو، یک تغییر کامل به یک سیستم عامل جدید خواهد بود.
نمونه های قابل توجه هارد فورک
نمونه های تاریخی متعددی از هارد فورک ها در دنیای ارزهای دیجیتال وجود دارد و همه آنها در بلاک چین بیت کوین نبوده اند. در اینجا تعدادی از معروف ترین هارد فورک ها در تاریخ و نحوه تأثیر آنها بر صنعت آورده شده است.
SegWit2x و بیتکوینکش
ارتقاء SegWit2x یک پیشنهاد بود که برای کمک به مقیاس بیت کوین طراحی شده بود. و طوری تنظیم شده بود که محدودیت اندازه بلوک را از یک مگابایت به دو مگابایت در شبکه ارز دیجیتال افزایش دهد.
تصمیم اجرای SegWit2x در توافقنامه بحثبرانگیز نیویورک که در 23 می 2017 به دست آمد گرفته شد. این توافق نشان داد که تعدادی از صاحبان کسبوکار بیتکوین و ماینرهایی که بیش از 85 درصد از نرخ هش شبکه را نمایندگی میکنند، آینده بیتکوین را پشت درهای بسته تعیین کردند.
و قرار بود که از طریق سافت فورک پیاده سازی شود، در حالی که محدودیت اندازه بلوک بعداً از طریق هارد فورک اجرا می شود. این پیشنهاد بحثبرانگیز شد زیرا هیچ یک از برنامه نویسانی که پشت پایگاه کد اصلی بیتکوین، هسته بیتکوین، بودند را شامل نمیشد، و بهعنوان یک نیروی مجزا تلقی میشد – گروهی از کسبوکارها که سرنوشت شبکه را بدون توافق ماینرها و گرهها تعیین میکنند. این توافق پس از سال ها بحث در مورد افزایش مقیاس بیت کوین به دست آمد.
طرفداران بلوک های کوچک استدلالی گفتند که بلوک های بزرگتر میزبانی یک ند کامل را سخت تر می کند و به طور بالقوه ارز دیجیتال را مرکزی می کند. کسانی که از بلاکهای بزرگتر حمایت میکردند، استدلالشان این بود که افزایش کارمزد تراکنشهای BTC به رشد آن آسیب میزند و باعث میشود برخی از کاربران از شبکه خارج شوند.
در شبکه بیت کوین، سافت فورک های فعال شده توسط کاربران امکان پذیر است. در این شرایط، اپراتورهای کیف پول، صرافیها و سایر کسبوکارهایی که ند های کامل را اجرا میکنند، میتوانند به نسخه جدیدی از بلاک چین بروند که در آینده نقطه فعالسازی خواهد داشت و استخراجکنندگان در شبکه را مجبور میکند در همان مسیر قرار بگیرند و قوانین جدید را فعال کنند و اگر این کار را نکنند، شبکه ممکن است جدا شود.
کاربران بیت کوین در آن زمان برای یک سافت فورک فعال شده توسط کاربر کمپین زدند، در پاسخ به جلسه غیرعلنی که آینده بیت کوین را دیکته می کرد. آنها خواستار اجرای پیشنهاد بهبود بیت کوین (BIP) 148 شدند که به دنبال پیاده سازی SegWit در شبکه بیت کوین بود و استدلال میکرد که SegWit2x یک هارد فورک بحث برانگیز است که شبکه را در برابر حمله مجدد آسیب پذیر می کند. در مارس 2017 منتشر شد و قرار بود در 1 آگوست 2017 اجرا شود.
برخی از حامیان بلوک بزرگ با مشاهده حمایت جامعه از SegWit، و از ترس اینکه طرح SegWit2x محقق نشود تصمیم گرفتند در اول آگوست 2017 بلاک چین بیت کوین را فورک کنند. نتیجه آن ایجاد بیت کوین کش (BCH) بود. حامیان آن، این جدایی را بعنوان یک شبکه رقیب نمی دانستند، بلکه بیشتر آن را ادامه چشم انداز اصلی ساتوشی ناکاموتو می دانستند.
بلاک چین بیت کوین کش با اندازه بلوک هشت مگابایتی ایجاد شد که از تا الان به 32 مگابایت افزایش یافته است. تا به امروز، حامیان بیتکوین کش معتقدند که کارمزدهای پایین تراکنشها به آن کمک میکنند که مشکل مقیاس پذیری را برطرف کند، و معتقدند که بیتکوین به دلیل کارمزد تراکنش بیشتر، عقب خواهد ماند.
بیت کوین کش امکان ورود هارد فورک را در کانون توجه قرار داد و اندکی بعد فورک های متعدد دیگری در بیت کوین ایجاد شد. از جمله بیت کوین طلا (BTG)، بیت کوین الماس (BTCD) و …
هک DAO
یکی دیگر از هارد فورک تاریخی مهم مربوط به سازمان غیرمتمرکز خودمختار (DAO) بود که در سال 2016 در شبکه اتریوم راه اندازی شد. اتریوم مجموعهای از قراردادهای هوشمند را اجرا میکند. این قراردادها پول را قابل برنامه ریزی می کنند و پشت برنامه های مالی غیرمتمرکز (DApps) قرار دارند.
در آن زمان، DAO در یکی از اولین تلاشهای سرمایهگذاری جمعی در کریپتو، قبل از عرضه اولیه سکه (ICO) در سال 2017، 150 میلیون دلار ETH افزایش داد. دارندگان توکن در مورد آینده پروتکل رای می دهند.
پس از راه اندازی، DAO به ارزش 60 میلیون دلار ETH از 11000 سرمایه گذار هک شد. در آن زمان، اتریوم زیر 10 دلار معامله میشد، بنابراین حدود 14 درصد از کل اتریوم در DAO سرمایهگذاری شد و این هک ضربه بزرگی به اعتماد عمومی مردم نسبت به شبکه بود.
بحث بزرگی در جامعه اتریوم بالا گرفت، زیرا همه در تلاش بودند بفهمند که چگونه به این حمله پاسخ دهند. در ابتدا، ویتالیک بوترین، بنیانگذار اتریوم، سافت فورکی را پیشنهاد کرد که آدرس مهاجم را در لیست سیاه قرار می داد و از انتقال وجوه توسط او جلوگیری می کرد.
مهاجم یا شخصی که خود را بعنوان آنها جا زده بود به جامعه پاسخ داد و ادعا کرد وجوه به روشی “قانونی” و مطابق با قوانین قرارداد هوشمند به دست آمده است. آنها ادعا کردند که آماده اند علیه هر کسی که سعی در تصرف وجوه داشته باشد، اقدام قانونی انجام دهند. تنش ها بالا گرفت زیرا مهاجم گفت که تلاش های سافت فورک را با رشوه دادن به استخراج کنندگان ETH با این بودجه خنثی می کند.
این بحث بار دیگر بالا گرفت تا اینکه هارد فورک پیشنهاد شد. هارد فورک در نهایت اجرا شد و تاریخچه شبکه اتریوم را به قبل از وقوع حمله DAO برگرداند و وجوه دزدیده شده را به یک قرارداد هوشمند اختصاص داد که در آن سرمایه گذاران می توانستند وجوه خود را برداشت کنند.