در این مقاله ما خواهیم فهمید که چگونه میتوان شبکه ارز رمز پایه را به رغم عدم وجود اختیارات مرکزی ارتقاء داد. برای انجام اینکار از دو مکانیزم مختلف استفاده میشود: هارد فورک و سافت فورک.
زمانی که از شما خواسته میشود برنامه دیجیتال خود را در تلفن همراهتان به روز رسانی کنید احتمالا حتی دوبار هم به آن فکر نمیکنید و سریعا اینکار را انجام میدهید. حتی شاید تلفن شما بی آنکه متوجه شوید به طور خودکار این کار را انجام دهد. چرا که در صورت اجتناب از نصب آخرین نسخه نرم افزار ممکن است شما از دسترسی به خدمات آن محروم شوید.
در شبکه های منبع باز ارزهای رمز نگاری شده اوضاع بسیار متفاوت است. برای استفاده از آن نیازی به خواندن همه سطرهای کد زیربنا بیت کوین نیست اما داشتن انتخاب برای آنها بسیار مهم است. در اینجا هیچ سلسله مراتبی وجود ندارد و همچنین هیچ بانکی که بتواند به روزرسانی ها را انجام دهد و همه چیز را آنطور که میخواهد دگرگون کند. در نتیجه پیاده سازی ویژگی های جدید در شبکه های بلاکچین میتواند چالش بزرگی باشد.
در یک بلاکچین چه کسی تصمیم گیرنده است ؟
برای درک بهتر نحوه کارکرد فورک ها (چنگال ها) مهم است که ابتدا در ارتباط با شرکت کنندگان درگیر در فرایند تصمیم گیری یا حاکمیت شبکه اطلاعات داشته باشید.
در شبکه بیت کوین میتوانید به طور کلی بین سه زیر مجموعه از شرکت کنندگان یعنی، توسعه دهندگان، استخراج کنندگان و کاربران گره تمایز قائل شوید. این سه گروه طرف هایی از قراردادها هستند که در واقع به بقا و پیشرفت شبکه کمک میکنند. از گره های روشن مثلا کیف پول های تلفن، لپ تاپ و … به طوری گسترده استفاده میشود، اما در مورد شبکه در واقع آن ها یک شرکت کننده محسوب نمیشوند.
-
توسعه دهنگان شبکه
توسعه دهندگان مسئول به روز رسانی و ایجاد کدها هستند. برای یک سکه معمولی هر کسی قادر است در این روند سهیم باشد. این کد به صورتی عمومی در دسترس خواهد بود. بنابراین آنها میتوانند تغییراتی را جهت بررسی برای توسعه دهندگان دیگر ارسال کنند.
-
معدنچیان
استخراج کنندگان کسانی هستند که شبکه را ایمن نگه میدارند. آنها مجریان کدهای رمز ارزها هستند و منابع خود را برای افزوده شدن به بلاک های جدید به بلاکچین اختصاص میدهند. به عنوان مثال در شبکه بیت کوین این کار را از طریق اثبات کار انجام میدهند. آنها به دلیل تلاش هایشان به صورت بلاکی پاداش دریافت میکنند.
-
کاربران گره
گره ها ستون فقرات شبکه ارزهای رمزپایه هستند. آنها بلاک ها و تراکنش ها را تایید، ارسال و دریافت میکنند و نسخه ای از بلاکچین را حفظ میکنند.
غالبا شما میتوانید در این سه دسته همپوشانی را مشاهده کنید. به عنوان مثال میتوانید یک توسعه دهنده و یک کاربر گره کامل، یا یک کاربر استخراج و یک گره کامل باشید. شما میتوانید هر سه آنها باشید یا هیچ نباشید. در واقع بسیاری از افرادی که ما آنها را کاربران رمز ارزها میدانیم هیچ یک از این سه نقش را بر عهده نمیگیرند. در عوض آنها استفاده از گره ها یا خدمات متمرکز شبکه را انتخاب میکنند.
با نگاهی به توضیحات بالا میتوانید موارد محکمی را برای توسعه دهندگان و استخراج کنندگان در تصمیم گیری برای شبکه ایجاد کنید. توسعه دهندگان کد را ایجاد میکنند و بدون کد شما هیچ نرم افزاری برای اجرا یا رفع اشکال و یا افزودن ویژگی های جدید نخواهید داشت. معدنچیان شبکه را ایمن میکنند که بدون وجود رقابت سالم امکان دارد زنجیره ربوده شود و یا حتی توقف بنماید. این احزاب اربابان قدرتمند نیستند آنها تنها ارائه دهنده خدمات هستند. اگر مردم تصمیم بگیرند که دیگر از این شبکه استفاده نکنند سکه ارزش خود را از دست میدهد. از دست دادن ارزش به طور مستقیم بر معدنچیان تاثیر میگذارد و اما در مورد توسعه دهندگان، آنها تنها میتوانند توسط کاربران نادیده گرفته شوند.
این مثل روندی نیست که در آن یک نرم افزار اختصاصی داشته باشیم. در اینجا شما میتوانید هر ویرایشی را که میخواهید اجرا کنید و اگر دیگران به نرم افزار اصلاح شده شما را اجرا کنند همه میتوانید با یکدیگر ارتباط برقرار کنید. در این صورت شما نرم افزار را فورک کرده اید و یک شبکه جدید ایجاد میکنید.
چنگال یا فورک چیست ؟
یک چنگال نرم افزاری در جایی رخ میدهد که نرم افزار کپی و اصلاح شود. همچنان که پروژه اصلی ادامه دارد پروژه جدید از آن جدا شده و جهت دیگری را در پیش گرفته است. فرض کنید تیم وبسایت محتوای ارز رمزنگاری مورد علاقه شما با نحوه اقدام اختلاف نظر عمده ای داشته باشد. یک قسمت از تیم سایت را در دامنه دیگری تکرار میکند اما در ادامه، آنها انواع مختلفی از محتوای اصلی را ارسال میکنند.
این پروژه ها یک نقطه مشترک ایجاد میکنند و دارای تاریخچه هستند. دقیقا مانند یک جاده واحد که بعدا به دو قسمت تقسیم میشود، اکنون یک واگرائی دائمی در مسیر آن رخ داده است.
توجه داشته باشید که این اتفاقات در پروژههای منبع باز بسیار زیاد اتفاق میافتد و از مدتها قبل از ظهور بیت کوین یا اتریوم نیز اتفاق میافتاده است. با این حال تمایز بین سافت و هارد فورک تقریبا منحصر به فضای بلاکچین است.
تفاوت هارد فورک و سافت فورک
علی رغم داشتن نام های مشابه و اشتراک در خدمت به یک هدف، هارد فورک کاملا در مقابل سافت فورک قرار داشته و تفاوت های چشمگیری با یکدیگر دارند.
چنگال سخت یا هارد فورک
هارد فورک ها به روز رسانی های نرم افزاری سازگار با نسخه پیشین خود نیستند. به طور معمول این موارد زمانی اتفاق می افتند که گره ها قوانین جدید را به گونه ای اضافه میکنند که با قوانین گره های قدیمی مغایرت داشته باشند. گره های جدید تنها میتوانند با دیگرانی که در نسخه جدید کار میکنند ارتباط برقرار کنند. در نتیجه بلاکچین تقسیم میشود و دو شبکه جداگانه ایجاد میکند، یکی با قوانین قدیمی و دیگری با قوانین جدید.
گره ها هنگام بروزرسانی کبود میشوند. گره های زرد قدیمی آنها را رد میکنند در حالی که گره ها آبی به یکدیگر متصل میشوند. بنابراین اکنون دو شبکه به صورت موازی در حال اجرا هستند. آنها هر دو به انتشار بلاک ها و معاملات ادامه میدهند اما دیگر روی همان بلاکچین کار نمیکنند. همه گره ها تا نقطه اتصال چنگال یک زنجیره از بلاک های یکسان داشته اند. اما پس از آن بلاک ها معاملات مختلفی داشته اند.
یک نمونه از هارد فورک چنگال 2017 بود که بیت کوین را به دو زنجیره جداگانه تقسیم کرد. زنجیره اصلی زنجیره اصلی BTC و زنجیره جدید BCH بود. طرفداران بیت کوین کش میخواستند اندازه بلاک را افزایش دهند. در حالی که طرفداران بیت کوین با این تغییر مخالف بودند.
افزایش اندازه بلاک نیاز به اصلاح قوانین دارد. البته این پیش از سافت فورک بود. بنابراین چیزی که باید آن را به ذهن بسپارید این است که گره ها فقط بلاک های کوچکتر از 1 مگابایت را میپذیرند. اگر یک بلاک 2 مگابایتی ایجاد کنید که در غیر این صورت معتبر خواهد بود گره های دیگر همچنان آن را رد میکنند.
تنها گره هایی که نرم افزار خود را تغییر داده اند تا اجازه بلاک های بیش از 1 مگابایت را بدهند قادرند این بلاک ها را بپذیرند. البته این امر باعث میشود که آنها با نسخه قبلی ناسازگار باشند بنابراین فقط گره هایی با همان تغییرات پروتکل میتوانند با یکدیگر ارتباط برقرار کنند.
سافت فورک
چنگال نرم یک ارتقاء سازگار با پیش از خود است. به این معنی که گره های ارتقا یافته هنوز هم قادرند با غیر ارتقاء یافته ها ارتباط برقرار کنند. آنچه معمولا در سافت فورک میبینید، اضافه شدن قانون جدیدی است که با قوانین قدیمی مغایرت ندارد.
به عنوان مثال کاهش اندازه بلاک را میتوان با سافت فورک انجام داد. برای نشان دادن این نکته یک مثال از بیت کوین میتواند شرح خوبی باشد. اگرچه محدودیتی در اندازه بزرگ بودن یک بلاک وجود دارد، اما در ارتباط با کوچک بودن آن هیچ محدودیتی وجود ندارد. در صورتی که میخواهید بلاک ها را بپذیرید تنها نیاز است که بلاک های بزرگتر را رد کنید. با اینحال با اینکار ارتباط شما به طور خودکار با شبکه اصلی قطع نخواهد شد. شما هنوز با گره هایی که این قوانین را اجرا نمیکنند ارتباط برقرار میکنید. اما برخی از اطلاعاتی را که به شما منتقل میکنند فیلتر میشود.
یک نمونه خوب از سافت فورک SegWit بود که اندکی پس از انشعاب بیت کوین کش از بیت کوین جدا شد. SegWit یک به روزرسانی بود که قالب بلاک ها و تراکنش ها را تغییر داد اما به طرز هوشمندانه ای وارد عمل شد. در این انشعاب گره های قدیمی همچنان میتوانند بر بلاک ها و تراکنش ها نظارت کنند، تنها از درک و دسترسی کامل به آنها عاجزند.
هارد فورک یا سافت فورک
اساسا هر دو اهداف مختلفی را دنبال میکنند. هارد فورک ها بحث برانگیزند و میتوانند یک جامعه را از هم جدا کنند. اما در موارد برنامه ریزی شده به شما این امکان داده شود که با توافق همه شرکت کنندگان بتوانید نسبت به تغییر نرم افزار اقدام کنید.
سافت فورک ها برخورد آرامتری نسبت به هارد فورک ها دارند. به طور کلی شما در اختیاراتتان در برخورد با سافت فورک ها با محدودیت بیشتری روبه رو هستید. دلیل این محدودیت این است که تغییرات جدید شما نمیتواند با قوانین پیشین مغایرت داشته باشد. حتی در صورتی که بروزرسانی شما به شیوه ای باشد که سازگار بماند لازم نیست حتی به تقسیم شبکه فکر کنید.
فورک ها برای موفقیت های طولانی مدت شبکه بلاکچین بسیار مهم هستند. آنها به ما اجازه میدهند علی رغم وجود یک مرجع مرکزی در سیستم های غیر متمرکز تغییر و به روز رسانی ایجاد کنیم. فورک ها امکان ایجاد یکپارچه سازی ویژگی های جدید در بلاکچین و ارزهای رمزپایه را فراهم میکنند. بدون این مکانیزم ها ما به یک سیستم متمرکز با کنترل از بالا به پایین نیاز داریم. در غیر این صورت ما میتوانیم دقیقا همان قوانین را در طول عمر پروتکل حفظ کنیم.
منبع: https://bit.ly/2KJWhYW