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