فورك
بلاك چينها مثل جانورهايي پيچيده هستند. آنها به طور مداوم در حال رشد، تحول و اضافه كردن ويژگيهاي جديد به خود هستند و تمام اين تغييرات با موافقت كامل تمام اجزاي اين سيستم پيچيده صورت ميگيرد. همه چيز بر پايه اجماع بنا شده است. تكنولوژي بلاك چين نسبتا جديد است؛ به همين خاطر، اين تكنولوژي همچنان هر روز با ماجراهايي پيشبيني نشده مواجه ميشود. ماجراها و مشكلاتي كه ممكن است نياز به رسيدگي و حل شدن داشته باشند.
مهم نيست پاي يك سري مسائل امنيتي حياتي در ميان باشد كه ميتوانند بلاك چين را در مقابل حملههاي بيروني آسيبپذير كنند و يا تغييرات سيستمي مهم كه ميتوانند به عملكرد بهتر بلاك چين كمك كنند. هر ويژگي جديد، اصلاح امنيتي، يا عملكرد اضافه شده به نوعي راي از طرف همه اعضاي اين سيستم غيرمتمركز نياز دارد. اگرچه ماهيت بسياري از اين تغييرات بحثبرانگيز است، تغييراتي كه روي پروتكل اعمال ميشوند و سيستم به راي گذاشتن آنها، همگي بخشي از غير متمركز بودن سيستم بلاك چين را تشكيل ميدهند.
وقتي حرف تغييري در پروتكل به ميان ميآيد، توسعهدهندههاي سيستم معمولا تاريخي تعيين ميكنند و به اعضا زمان ميدهند كه درباره موضوع مورد بحث مشورت كنند يا نظر خود را اعلام كنند. وقتي زمان اعمال تغيير فرا ميرسد، بلاكچين وارد فرايندي ميشود كه فورك كردن نام دارد. دو نوع فورك اصلي وجود دارد. سافت فورك (Soft Fork) و هارد فورك (Hard Fork)، كه در ادامه اين مقاله به جزئيات اين فرآيندها ميپردازيم.
انواع فورك
سافت فورك (Soft fork) چيست؟
سافت فورك يك بروزرساني در نرم افزار بوده كه با نسخههاي قديمي سازگار (backwards compatible) است.
اين بدين معناست كه شركتكنندگاني كه نرمافزار خود را آپديت نكرده باشند نيز ميتوانند در اعتبارسنجي (Validation) و تاييد (Verification) تراكنشها شركت كنند. پيادهسازي سافت فورك به نسبت آسانتر بوده چراكه تنها نياز است اكثريت شركتكنندگان نرمافزار خود را آپديت كنند. همهي شركتكنندگان چه نرمافزار خود را آپديت كرده و چه نكرده باشند، ميتوانند بلاكهاي چديد را تشخيص دهند و فعاليتهايشان با شبكه سازگار است. نكتهي قابل تامل اين است كه عملكرد شركتكنندهاي كه نرمافزار خود را آپديت نكرده تحت تاثير قرار ميگيرد.
يك مثال براي سافت فورك اين است كه مثلا سايز بلاكها از 1 مگابايت به 800 كيلوبايت تغيير پيدا كرده است. نودهايي از شبكه كه نرمافزار خود را آپديت نكردهاند در سافت فورك ميتوانند تراكنشهاي جديد را ببينند. مشكل زماني به وجود ميآيد كه ماينري كه نرمافزار خود را آپديت نكرده است، بخواهد بلاك جديدي را ثبت نمايد و بلاك او توسط شبكه رد ميشود. از اين رو سافت فورك يك مكانيزم ارتقاء تدريجي را نشان ميدهد كه افرادي كه نرمافزار خود را آپديت نكردهاند با محدود شدن قابليتهايشان، انگيزهي كافي براي اينكار را پيدا كنند.
مثالهايي براي سافت فورك:
BIP66: يك سافت فورك براي اعتبارسنجي امضاي شبكهي بيت كوين بود.
P2Sh: يك سافت فورك براي اضافه كردن قابليت آدرسهاي چند امضايي بر روي شبكهي بيت كوين بود.
هاردفورك (Hardfork) چيست؟
بيت كوين كش و اتريوم كلاسيك مشهورترين نمونههاي يك هاردفورك هستند. البته هاردفورك هميشه باعث به وجود آمدن يك ارز ديجيتال جديد نميشود بلكه تمام جامعه برسر آن توافق ميكنند.
انواع هاردفورك
هاردفورك برنامهريزي شده (Planned Hard Forks)
هاردفورك برنامهريزي شده، يك بروزرساني در پروتكل است كه از ابتدا در نقشهي راه (Roadmap) پروژه در نظر گرفته ميشود. از آنجايي كه اين بروزرساني در راستاي قابليتها و ويژگيهاي بلاك چين ميباشد، تمامي شركتكنندگان به رهبري توسعهدهندگان اصلي به زنجيرهي جديد رفته و نرمافزار خود را بروزرساني ميكنند چراكه اين تغييرات در سطح كدنويسي پايهي شبكه صورت ميپذيرند. در اين فورك زنجيرهي قبلي از بين ميرود و دليلي نيز براي حمايت از آن وجود ندارد. در اين فورك، كوين جديدي به وجود نخواهد آمد.
مثالهاي اين نوع هاردفورك فورك:
اتريوم: هاردفورك هاي موجود در نقشه راه اتريوم از اين نوع هستند. به عنوان مثال بيزانس (Byzantium)، فاز اول بروزرساني مربوط به اتريوم 2 بود. اين فورك در اكتبر 2017 به وقوع پيوسته و هدف آن بهبود مقياسپذيري اتريوم و يكپارچهسازي تراكنشهاي خصوصي است.
مونرو : در ژانويهي 2017، هاردفوركي در شبكهي اتريوم جهت اضافه شدن ويژگي جديدي به نام حلقهي معاملات محرمانه (RCT) براي بهبود حريم خصوصي و امنيت شبكه، به وقوع پيوست.
هاردفورك بحثبرانگيز (Contentious Hard Forks)
هاردفورك بحثبرانگيز به علت اختلاف نظر بين اعضاي شبكه اتفاق ميافتد و موجب ميشود بخشي از شركتكنندگان، زنجيرهي جديدي كه از نظر خودشان بهتر است را با تغييرات عمدهاي در كد ايجاد كنند.
مثالهاي هارفورك بحثبرانگيز:
بيت كوين كش (Bitcoin Cash): هاردفوركي بود كه توسط گروهي كه ميخواستند مقياسپذيري بيت كوين را با افزايش سايز بلاك از 1 مگابايت به 8 مگابايت افزايش دهند، ترتيب داده شد. اين كار باعث شد كه شبكه بتواند تراكنشهاي بيشتري را پردازش كند، كارمزد شبكه كاهش پيدا كرده و همچنين تنگناي شبكهي بيتكوين با افزايش استفاده از آن بهبود داده شده است. اين هاردفورك منجر به پيدايش ارز جديدي به نام بيت كوين كش گرديد.
اتريوم كلاسيك (Ethereum Classic): اتريوم نيز براي خنثي كردن تاثير هكي كه در يكي از برنامههاي كاربردياش به نام سازمان خودكار غيرمتمركز (ِDAO) اتفاق افتاد، دچار هاردفورك شد. توسعهدهندگان اصلي اتريوم و اكثريت شركتكنندگان شبكه،با هاردفورك موافقت كردند و تنها تعداد معدودي از مواضع خود كوتاه نيامده و نرمافزار خود را آپديت نكردند كه بلاكچين آنها به اتريوم كلاسيك (ETC) معروف است.
نمونه هايي از هارد فورك
يك نمونه اوليه از هارد فوركهاي برنامهريزي شده گسسته شدن زنجيره ارز مونرو (Monero) در سال ۲۰۱۷ است كه موجب اضافه شدن تراكنشهاي محرمانه رينگ شد (Ring Confidential Transactions). اين ويژگي موجب مبهم شدن ارزش هر تراكنش شد و حريم خصوصي بلاك چين را يك لايه محكمتر كرد. و اين مسئله باعث شد ماينرها و اعضاي مجموعه از اين ويژگي با آغوش باز استقبال كنند.
نمونهاي معروف از هارد فورك، تقسيم شدن بلاك چين اتريوم (Ethereum) به دو زنجيره متفاوت است. اين مسئله بعد از هك شدن يكي از اپليكشينهاي ايجاد شده بر بستر اتريوم به نام DAO، اتفاق افتاد. به دليل عدم توافق اعضاي مجموعه بر سر سرنوشت بلاك چين بعد از اين اتفاق، يك هارد فورك صورت گرفت و دو زنجيره جديد به نامهاي اتريوم و اتريوم كلاسيك ايجاد شد. اتريوم كلاسيك همان زنجيره اولي است كه به كار خود ادامه داد و اتريوم زنجيرهاي است كه بعدا ايجاد شد.
بر خلاف هارد فوركهاي برنامهريزي شده كه با حمايت اكثريت اعضاي مجموعه مواجه ميشوند، هاردفوركهاي بحث برانگيز باعث ايجاد جدالهاي شديدي بين اعضا مي شوند. هارد فوركهاي بحث برانگيز هم شامل قابليتهايي براي ارتقاي سيستم هستند، ولي اين قابليتها موافقت اكثريت اعضا را به خود جلب نميكنند. به همين دليل، اين هارد فوركها معمولا به ايجاد دو بلاك چين مجزا منجر ميشوند، بلاك چين اصلي و جديد، كه هر دو تا زماني كه مورد حمايت قرار بگيرند به فعاليت خود ادامه ميدهند. معروفترين و بحث برانگيزترين هارد فوركي كه تا به حال صورت گرفته است، ايجاد شدن زنجيره بيتكوين كش (Bitcoin Cash) است كه در سال ۲۰۱۷ انجام شد. اين مسئله وقتي اتفاق افتاد كه گروهي از توسعهدهندهها براي كمك به حل مسائل مربوط به مقياس، در طلب افزايش سايز بلاك بيت كوين از يك مگابايت به هشت مگابايت بودند. وقتي اين فورك انجام شد، بلاك چين بيتكوين به دو زنجيره موازي با دو سري قوانين مجزا تقسيم شد. اين اتفاق موجب هرج و مرج كوتاهي بين دستگاه ماينرها شد كه از اين زنجيره به آن يكي ميرفتند و ميخواستند بدانند كدام يك برايشان سود بيشتري به همراه خواهد داشت.