سه شنبه , 6 مهر 1400 - 0:25
هارد-فورک

هارد فورک و سافت فورک

در این مقاله ما خواهیم فهمید که چگونه می‎توان شبکه ارز رمز پایه را به رغم عدم وجود اختیارات مرکزی ارتقاء داد. برای انجام اینکار از دو مکانیزم مختلف استفاده می‎شود: هارد فورک و سافت فورک.

زمانی که از شما خواسته می‎شود برنامه دیجیتال خود را در تلفن همراهتان به روز رسانی کنید احتمالا حتی دوبار هم به آن فکر نمیکنید و سریعا اینکار را انجام میدهید. حتی شاید تلفن شما بی آنکه متوجه شوید به طور خودکار این کار را انجام دهد. چرا که در صورت اجتناب از نصب آخرین نسخه نرم افزار ممکن است شما از دسترسی به خدمات آن محروم شوید.

در شبکه‎‌ های منبع باز ارزهای رمز نگاری شده اوضاع بسیار متفاوت است. برای استفاده از آن نیازی به خواندن همه سطرهای کد زیربنا بیت کوین نیست اما داشتن انتخاب برای آنها بسیار مهم است. در اینجا هیچ سلسله مراتبی وجود ندارد و همچنین هیچ بانکی که بتواند به روزرسانی‎ ها را انجام دهد و همه چیز را آنطور که می‎خواهد دگرگون کند. در نتیجه پیاده سازی ویژگی‎ های جدید در شبکه‎ های بلاکچین می‎تواند چالش بزرگی باشد.

هارد فورک و سافت فورک

در یک بلاکچین چه کسی تصمیم گیرنده است ؟

برای درک بهتر نحوه کارکرد فورک ‎ها (چنگال ‎ها) مهم است که ابتدا در ارتباط با شرکت‎ کنندگان درگیر در فرایند تصمیم گیری یا حاکمیت شبکه اطلاعات داشته باشید.

در شبکه بیت کوین می‎توانید به طور کلی بین سه زیر مجموعه از شرکت کنندگان یعنی، توسعه دهندگان، استخراج کنندگان و کاربران گره تمایز قائل شوید. این سه گروه طرف هایی از قراردادها هستند که در واقع به بقا و پیشرفت شبکه کمک می‎کنند. از گره های روشن مثلا کیف پول های تلفن، لپ تاپ و … به طوری گسترده استفاده می‎شود، اما در مورد شبکه در واقع آن ها یک شرکت کننده محسوب نمی‎شوند.

  • توسعه دهنگان شبکه

توسعه دهندگان مسئول به روز رسانی و ایجاد کدها هستند. برای یک سکه معمولی هر کسی قادر است در این روند سهیم باشد. این کد به صورتی عمومی در دسترس خواهد بود. بنابراین آنها می‎توانند تغییراتی را جهت بررسی برای توسعه دهندگان دیگر ارسال کنند.

  • معدنچیان

استخراج کنندگان کسانی هستند که شبکه را ایمن نگه میدارند. آنها مجریان کدهای رمز ارزها هستند و منابع خود را برای افزوده شدن به بلاک های جدید به بلاکچین اختصاص می‎دهند. به عنوان مثال در شبکه بیت کوین این کار را از طریق اثبات کار انجام می‎دهند. آنها به دلیل تلاش هایشان به صورت بلاکی پاداش دریافت میکنند.

اثبات کار

  • کاربران گره

گره‎ ها ستون فقرات شبکه ارزهای رمزپایه هستند. آنها بلاک ها و تراکنش ها را تایید، ارسال و دریافت می‎کنند و نسخه‎ ای از بلاکچین را حفظ می‎کنند.

غالبا شما می‎توانید در این سه دسته همپوشانی را مشاهده کنید. به عنوان مثال می‎توانید یک توسعه دهنده و یک کاربر گره کامل، یا یک کاربر استخراج و یک گره کامل باشید. شما می‎توانید هر سه آنها باشید یا هیچ نباشید. در واقع بسیاری از افرادی که ما آنها را کاربران رمز ارزها می‎دانیم هیچ یک از این سه نقش را بر عهده نمی‎گیرند. در عوض آنها استفاده از گره‎ ها یا خدمات متمرکز شبکه را انتخاب می‎کنند.

با نگاهی به توضیحات بالا میتوانید موارد محکمی را برای توسعه دهندگان و استخراج کنندگان در تصمیم گیری برای شبکه ایجاد کنید. توسعه دهندگان کد را ایجاد می‎کنند و بدون کد شما هیچ نرم‎ افزاری برای اجرا یا رفع اشکال و یا افزودن ویژگی‎ های جدید نخواهید داشت. معدنچیان شبکه را ایمن می‎کنند که بدون وجود رقابت سالم امکان دارد زنجیره ربوده شود و یا حتی توقف بنماید. این احزاب اربابان قدرتمند نیستند آنها تنها ارائه دهنده خدمات هستند. اگر مردم تصمیم بگیرند که دیگر از این شبکه استفاده نکنند سکه ارزش خود را از دست می‎دهد. از دست دادن ارزش به طور مستقیم بر معدنچیان تاثیر می‎گذارد و اما در مورد توسعه دهندگان، آنها تنها می‎توانند توسط کاربران نادیده گرفته شوند.

این مثل روندی نیست که در آن یک نرم‎ افزار اختصاصی داشته باشیم. در اینجا شما می‎توانید هر ویرایشی را که می‎خواهید اجرا کنید و اگر دیگران به نرم افزار اصلاح شده شما را اجرا کنند همه می‎توانید با یکدیگر ارتباط برقرار کنید. در این صورت شما نرم افزار را فورک کرده ‎اید و یک شبکه جدید ایجاد می‎کنید.

چنگال یا فورک چیست ؟

یک چنگال نرم افزاری در جایی رخ می‎دهد که نرم افزار کپی و اصلاح شود. همچنان که پروژه اصلی ادامه دارد پروژه جدید از آن جدا شده و جهت دیگری را در پیش گرفته است. فرض کنید تیم وبسایت محتوای ارز رمزنگاری مورد علاقه شما با نحوه اقدام اختلاف نظر عمده ‎ای داشته باشد. یک قسمت از تیم سایت را در دامنه دیگری تکرار میکند اما در ادامه، آنها انواع مختلفی از محتوای اصلی را ارسال می‎کنند.

این پروژه ‎ها یک  نقطه مشترک ایجاد می‎کنند و دارای تاریخچه هستند. دقیقا مانند یک جاده واحد که بعدا به دو قسمت تقسیم می‎شود، اکنون یک واگرائی دائمی در مسیر آن رخ داده است.

توجه داشته باشید که این اتفاقات در پروژه‎های منبع باز بسیار زیاد اتفاق می‎افتد و از مدتها قبل از ظهور  بیت کوین یا اتریوم نیز اتفاق می‎افتاده است. با این حال تمایز بین سافت و هارد فورک تقریبا منحصر به فضای بلاکچین است.

هارد فورک

تفاوت هارد فورک و سافت فورک

علی رغم داشتن نام‎ های مشابه و اشتراک در خدمت به یک هدف، هارد فورک کاملا در مقابل سافت فورک قرار داشته و تفاوت های چشمگیری با یکدیگر دارند.

چنگال سخت یا هارد فورک

هارد فورک‎ ها به روز رسانی‎ های نرم افزاری سازگار با نسخه پیشین خود نیستند. به طور معمول این موارد زمانی اتفاق می‎ افتند که گره ‎ها قوانین جدید را به گونه ‎ای اضافه می‎کنند که با قوانین گره ‎های قدیمی مغایرت داشته باشند. گره‎ های جدید تنها میتوانند با دیگرانی که در نسخه جدید کار می‎کنند ارتباط برقرار کنند. در نتیجه بلاکچین تقسیم می‎شود و دو شبکه جداگانه ایجاد میکند، یکی با قوانین قدیمی و دیگری با قوانین جدید.

گره‎ ها هنگام بروزرسانی کبود می‎شوند. گره ‎های زرد قدیمی آنها را رد می‎کنند در حالی که گره ‎ها آبی به یکدیگر متصل می‎شوند. بنابراین اکنون دو شبکه به صورت موازی در حال اجرا هستند. آنها هر دو به انتشار بلاک ها و معاملات ادامه می‎دهند اما دیگر روی همان بلاکچین کار نمی‎کنند. همه گره ‎ها تا نقطه اتصال چنگال یک زنجیره از بلاک های یکسان داشته ‎اند. اما پس از آن بلاک ها معاملات مختلفی داشته‎ اند.

یک نمونه از هارد فورک چنگال 2017 بود که بیت کوین را به دو زنجیره جداگانه تقسیم کرد. زنجیره اصلی زنجیره اصلی BTC و زنجیره جدید BCH بود. طرفداران بیت کوین کش می‎خواستند اندازه بلاک را افزایش دهند. در حالی که طرفداران بیت کوین با این تغییر مخالف بودند.

هارد فورک

افزایش اندازه بلاک نیاز به اصلاح قوانین دارد. البته این پیش از سافت فورک بود. بنابراین چیزی که باید آن را به ذهن بسپارید این است که گره ‎ها فقط بلاک های کوچکتر از 1 مگابایت را می‎پذیرند. اگر یک بلاک 2 مگابایتی ایجاد کنید که در غیر این صورت معتبر خواهد بود گره ‎های دیگر همچنان آن را رد میکنند.

تنها گره ‎هایی که نرم افزار خود را تغییر داده ‎اند تا اجازه بلاک‎ های بیش از 1 مگابایت را بدهند قادرند این بلاک ها را بپذیرند. البته این امر باعث می‎شود که آنها با نسخه قبلی ناسازگار باشند بنابراین فقط گره ‎هایی با همان تغییرات پروتکل می‎توانند با یکدیگر ارتباط برقرار کنند.

سافت فورک

چنگال نرم یک ارتقاء سازگار با پیش از خود است. به این معنی که گره‎ های ارتقا یافته هنوز هم قادرند با غیر ارتقاء یافته‎ ها ارتباط برقرار کنند. آنچه معمولا در سافت فورک می‎بینید، اضافه شدن قانون جدیدی است که با قوانین قدیمی مغایرت ندارد.

به عنوان مثال کاهش اندازه بلاک را می‎توان با سافت فورک انجام داد. برای نشان دادن این نکته یک مثال از بیت کوین می‎تواند شرح خوبی باشد.  اگرچه محدودیتی در اندازه بزرگ بودن یک بلاک وجود دارد، اما در ارتباط با کوچک بودن آن هیچ محدودیتی وجود ندارد. در صورتی که می‎خواهید بلاک‎ ها را بپذیرید تنها نیاز است که بلاک های بزرگتر را رد کنید. با اینحال با اینکار ارتباط شما به طور خودکار با شبکه اصلی قطع نخواهد شد. شما هنوز با گره‎ هایی که این قوانین را اجرا نمی‎کنند ارتباط برقرار می‎کنید. اما برخی از اطلاعاتی را که به شما منتقل می‎کنند فیلتر می‎شود.

سافت فورک

یک نمونه خوب از سافت فورک SegWit بود که اندکی پس از انشعاب بیت کوین کش از بیت کوین جدا شد. SegWit یک به روزرسانی بود که قالب بلاک ها و تراکنش‎ ها را تغییر داد اما به طرز هوشمندانه‎ ای وارد عمل شد. در این انشعاب گره‎ های قدیمی همچنان می‎توانند بر بلاک ها و تراکنش‎ ها نظارت کنند، تنها از درک و دسترسی کامل به آنها عاجزند.

هارد فورک یا سافت فورک

اساسا هر دو اهداف مختلفی را دنبال می‎کنند. هارد فورک ها بحث برانگیزند و می‎توانند یک جامعه را از هم جدا کنند. اما در موارد برنامه ریزی شده به شما این امکان داده ‎شود که با توافق همه شرکت کنندگان بتوانید نسبت به تغییر نرم افزار اقدام کنید.

سافت فورک‎ ها برخورد آرامتری نسبت به هارد فورک ‎ها دارند. به طور کلی شما در اختیاراتتان در برخورد با سافت فورک‎ ها با محدودیت بیشتری روبه رو هستید. دلیل این محدودیت این است که تغییرات جدید شما نمی‎تواند با قوانین پیشین مغایرت داشته باشد. حتی در صورتی که بروزرسانی شما به شیوه‎ ای باشد که سازگار بماند لازم نیست حتی به تقسیم شبکه فکر کنید.

فورک ‎ها برای موفقیت‎ های طولانی مدت شبکه بلاکچین بسیار مهم هستند. آنها به ما اجازه می‎دهند علی رغم وجود یک مرجع مرکزی در سیستم‎ های غیر متمرکز تغییر و به روز رسانی ایجاد کنیم. فورک‎ ها امکان ایجاد یکپارچه سازی ویژگی‎ های جدید در بلاکچین و ارزهای رمزپایه را فراهم می‎کنند. بدون این مکانیزم‎  ها ما به یک سیستم متمرکز با کنترل از بالا به پایین نیاز داریم. در غیر این صورت ما می‎توانیم دقیقا همان قوانین را در طول عمر پروتکل حفظ کنیم.

منبع: https://bit.ly/2KJWhYW

درباره ی نوید حکیمی

مطلب پیشنهادی

ALICE

از توکن (My Neighbor Alice) ALICE چه می‌دانید؟

همسایه من آلیس چیست؟ My Neighbor Alice یک بازی چند نفره و مبتنی بر بلاکچین …

guest
0 دیدگاه ها
Inline Feedbacks
View all comments
0
لطفا نظر خودتون رو با ما به اشتراک بذاریدx
()
x