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