هنگامی که از شما خواسته می شود تا اپ بانکداری دیجیتال را در تلفن هوشمند خود به روز رسانی کنید، احتمالاً درباره آن به خوبی فکر نمی کنید. شاید تلفن شما بدون اینکه حتی متوجه شوید، به صورت خودکار به روز رسانی می شود. در کل، این یک فرآیند ضروری است، و اگر آخرین نسخه نرم افزار را نصب نکنید، ممکن است از دسترسی به خدمات آن محروم شوید. در ارزهای رمزپایه با منبع باز ، اوضاع بسیار متفاوت است.
برای استفاده از آن نیازی به خواندن همه سطرهای کد زیربنای بیت کوین نیست ، اما در اختیار داشتن انتخاب امری مهم است. در اینجا می بینید که هیچ سلسله مراتب و هیچ بانکی وجود ندارد که بتواند فقط به روزرسانی ها را انجام دهد و هر طور که بخواهد خود را تغییر دهد. در نتیجه، پیاده سازی ویژگی های جدید در شبکه های بلاکچین می تواند کاری چالش برانگیز باشد.
در این مقاله، ما به این مسئله پی خواهیم برد که چگونه می توان شبکه های ارز رمزپایه را علارغم عدم اختیارات مرکزی توسعه و ارتقا داد. برای انجام این کار، آنها از دو مکانیزم متفاوت استفاده می کنند: هارد فورک و سافت فورک.
چه کسی در یک شبکه بلاکچین تصمیم گیری می کند؟
در ابتدا، برای درک چگونگی کارکرد فورک ها، مهم است که شرکت کنندگان درگیر یک فرایند تصمیم گیری (یا تسلط بر آن) در شبکه شده و آن را درک کنند. شما می توانید در بیت کوین به طور گسترده بین سه زیر مجموعه از میان شرکت کنندگان – توسعه دهندگان ، استخراج کنندگان و کاربران یک گره کامل تمایز قائل شوید. این زیرمجموعه ها شامل طرفینی هستند که در واقع به شبکه کمک می کنند. گره های سبک (به عنوان مثال، کیف پول های موجود در تلفن، لپ تاپ و غیره) به طور گسترده ای مورد استفاده قرار می گیرند ، اما آنها در واقع در یک شبکه به شکل “شرکت کننده” نیستند.
توسعه دهندگان:
توسعه دهندگان مسئول ایجاد و به روزرسانی کد هستند. با توجه به یک کوین معمولی، هرکسی می تواند در این روند سهیم باشد. این کد به صورت عمومی در دسترس همه قرار دارد، بنابراین آنها می توانند تغییراتی را برای بررسی سایر توسعه دهندگان ارائه دهند.
ماینرها:
ماینرها کسانی هستند که شبکه را ایمن سازی می کنند. آنها کد رمز ارز را به اجرا در می آورند و منابع خود را به افزودن بلوک های جدید به بلاکچین اختصاص می دهند. به عنوان مثال، در شبکه بیت کوین، این کار را از طریق اثبات کار انجام می دهند. آنها به خاطر تلاش هایشان پاداش دریافت می کنند.
کابران گره کامل:
گره های کامل جزء ستون فقرات و یا مهره های اصلی در شبکه ارزهای رمزپایه هستند. آنها بلوک ها و معاملات را تأیید ، ارسال و دریافت می کنند و نسخه ای از بلاکچین را حفظ می کنند. شما اغلب با این دسته ها همپوشانی خواهید داشت. به عنوان مثال، شما می توانید یک توسعه دهنده، یک کاربر گره کامل، یا یک کاربر استخراج و گره کامل باشید. شما می توانید جزء هر سه این موارد و یا هیچکدام از آنها باشید. در واقع ، بسیاری از آنچه که ما آن را کاربران رمز ارز می دانیم، هیچ یک از این مسئولیت ها را بر عهده ندارند. در عوض، آنها ترجیح می دهند از گره های سبک یا خدمات متمرکز استفاده کنند.
با نگاهی به توضیحات بالا می توانید موارد دقیقی را برای توسعه دهندگان و استخراج کنندگان در تصمیم گیری شبکه ایجاد کنید. توسعه دهندگان کد را ایجاد می کنند، و بدون آنها ، شما هیچ نرم افزاری برای اجرا ندارید و یا هیچ فردی برای رفع اشکالات یا افزودن ویژگی های جدید در دسترس نخواهد بود. ماینرها شبکه را بدون رقابت سالم در رویه استخراج ایمن سازی می کنند، و در این حالت ممکن است زنجیره هک شده و یا متوقف شود. حتی اگر این دو گروه سعی کنند تا مابقی شبکه را تحت پیروی از تصمیمات خود مسلح سازند، اما به نتیجه خیلی خوبی هم دست نخواهند یافت. برای بسیاری از افراد، قدرت واقعی در گره های کامل متمرکز شده است.
این مسئله تا حد زیادی تابعی از انتخاب شبکه است، و بدان معناست که کاربران می توانند نرم افزار مورد نظر خود را انتخاب کنند. توسعه دهندگان به حوزه شما نفوذ نکرده و شما را وادار به دانلود مضاعفی از بیت کوین کور با تهدید اسلحه نمی کنند. اگر ماینرها نگرش “راه یا شاهراه خودم ” را برای اعمال فشار ناخواسته بر روی کاربران اتخاذ کنند، در این صورت، کاربران فقط نگرش شاهراه را انتخاب می کنند.
این طرفین سرورهایی با قدرت مطلق نیستند، بلکه جزء ارائه دهندگان خدمات می باشند. اگر مردم تصمیم بگیرند که از شبکه استفاده نکنند، کوین ارزش خود را از دست می دهد. از دست دادن ارزش به طور مستقیم بر ماینرها تأثیر می گذارد (ارزش پاداش آنها به نسبت دلار کمتر است). این رویه در مورد توسعه دهندگان فقط توسط کاربران نادیده گرفته می شود.
می بینید که این نمونه مانند آن نیست که یک نرم افزار به طور اختصاصی باشد. شما می توانید هر ویرایشی را که می خواهید انجام دهید، و اگر دیگران نرم افزار اصلاح شده شما را اجرا کنند، می توانید با همه ارتباط برقرار کنید. در این صورت ، شما نرم افزار را فورک می کنید و یک شبکه جدید ایجاد می کنید.
فورک چیست؟
فورک نوعی نرم افزار است که موجب کپی و یا اصلاح می شود. پروژه اصلی ادامه دار است، اما از پروژه جدید جدا شده و به سمت دیگری متمایل می گردد. فرض کنید که تیمی از وب سایت شما با محتوای ارز رمزنگاری در نحوه اقدام آن اختلاف نظر عمده ای داشته باشد. یک قسمت از تیم ممکن است سایت را در دامنه دیگری تکرار کند. اما در ادامه ، آنها انواع مختلفی از محتوای اصلی را ارسال می کنند.
این پروژه ها یک نقطه مشترک را ایجاد می کنند و یک سابقه را به اشتراک می گذارند. این روند دقیقاً مانند یک راه مستقل است که بعداً به دو راه تقسیم می شود، و اکنون یک واگرایی دائمی در این مسیر به وجود می آید. توجه داشته باشید که این نوع اتفاقات به طور مکرر در پروژه هایی با منبع باز رخ می دهد و مدت ها قبل از پیدایش بیت کوین یا اتریوم اتفاق می افتاده است. با این حال، تمایز بین هارد فورک و سافت فورک تقریباً منحصر به فضای بلاکچین است. بیایید کمی بیشتر در مورد آنها بحث کنیم.
هارک فورک در مقابل سافت فورک:
علیرغم داشتن اسامی مشابه و در نهایت با وجود اهداف یکسان، هارد فورک و سافت فورک به طور قابل توجهی با یکدیگر متفاوت هستند. بیایید به هر یک از آنها نگاهی بیندازیم.
هارد فورک چیست؟
هارد فورک ها، نرم افزاری برای به روزرسانی هایی است که با قبل سازگار هستند. به طور معمول، این موارد زمانی اتفاق می افتد که گره ها قوانین جدیدی را اضافه می کنند، به گونه ای که با قوانین گره های قدیمی تضاد داشته باشد. گره های جدید فقط می توانند با سایر نسخه های جدیدی که کار می کنند ارتباط برقرار کنند. در نتیجه ، بلاکچین تفکیک می شود و دو شبکه جداگانه را ایجاد می کند: یکی با قوانین قدیمی و دیگری با قوانین جدید.
گره ها حین بروزرسانی به رنگ آبی در می آیند. گره های زرد قدیمی آنها را رد می کنند، در حالی که گره های آبی به یکدیگر متصل می شوند.
بنابراین، اکنون دو شبکه به صورت موازی در حال اجرا هستند. هر دوی آنها به پراکنده سازی بلوک ها و معاملات ادامه می دهند ، اما دیگر بر روی همان بلاکچین کار نمی کنند. همه گره ها تا نقطه فورک یک بلاکچین یکسان داشتند (و این سابقه باقی می ماند، اما پس از آن بلوک ها و معاملات مختلفی در اختیار دارند.
از آنجایی که این سابقه مشترک وجود دارد، اگر آنها را قبل از فورک نگه داشته باشید، در هر دو شبکه با کوین ها با شکست مواجه می شوید. فرض کنید وقتی یک فورک در بلوک 600000 رخ داده است ، شما 5 BTC داشتید. شما می توانید این 5 BTC را در زنجیره قدیمی در بلوک 600،001 خرج کنید ، اما در بلوک بلاکچین 600،001 جدید صرف نمی شود.
با فرض اینکه ارز رمزنگاری تغییر نکرده است ، کلیدهای خصوصی شما هنوز در شبکه فورک شده 5 کوین را نگه می دارند.
یک نمونه از هارد فورک، فورک 2017 بود که بیت کوین را به دو زنجیره جداگانه تقسیم کرد – زنجیره اصلی، بیت کوین (BTC) و زنجیره جدید، بیت کوین کش (BCH). فورک پس از بحث و جدال در مورد بهترین روش برای مقیاس بندی رخ داد. طرفداران بیت کوین کش در صدد این بودند تا اندازه بلوک را افزایش دهند ، در حالی که طرفداران بیت کوین با این تغییر مخالفت می کردند. افزایش اندازه بلوک نیاز به اصلاح قوانین دارد. این روند قبل از سافت فورک SegWit بود (به زودی اطلاعات بیشتر در مورد آن مورد بحث قرار می گیرد)، بنابراین گره ها فقط بلوک های کوچکتر از 1 مگابایت را می پذیرند. اگر یک بلوک 2 مگابایتی ایجاد شود که در غیر این صورت معتبر باشد ، گره های دیگر همچنان آن را رد می کنند. فقط گره هایی که نرم افزار خود را تغییر داده اند تا بلوک های بیش از 1 مگابایت را ارائه دهند، می توانند این بلوک ها را بپذیرند. البته، این کار آنها را با نسخه قبلی ناسازگار می کند ، بنابراین فقط گره هایی با همان تغییرات پروتکل می توانند ارتباط برقرار کنند.
سافت فورک چیست؟
سافت فورک یک ارتقا یا تغییر سازگار با قبل است ، به این معنی که گره های ارتقا یافته همچنان می توانند با موارد توسعه نیافته ارتباط برقرار کنند. آنچه که معمولاً در سافت فورک می بینید، افزودن قانون جدیدی است که با قوانین قدیمی مغایرت ندارد. به عنوان مثال، اندازه بلوک کاهش یافته می تواند با سافت فورک پیاده سازی شود. برای نشان دادن این نکته، مجددا موضوع بیت کوین را مد نظر قرار می دهیم: اگرچه محدودیتی در اندازه بزرگ بودن یک بلوک وجود دارد ، اما در مورد کوچک بودن آن محدودیتی وجود ندارد. اگر می خواهید فقط بلوک های کوچک تر از یک اندازه خاص را بپذیرید، باید بلوک های بزرگتر را رد کنید. با این حال ، با این کار ارتباط شما به طور خودکار از شبکه قطع نمی شود. شما هنوز با گره هایی که چنین قوانینی را پیاده سازی نمی کنند ارتباط برقرار می کنید ، اما برخی از اطلاعاتی که برای شما ارسال می شوند را حذف می کنید. یک نمونه خوب از سافت فورک در زندگی واقعی، فورک فوق العاده جداسازی امضاهای تراکنش ها (SegWit) است، که اندکی پس از فورک بیت کوین/ بیت کوین کش رخ می دهد. SegWit (سگویت) یک به روزرسانی بود که فرمت بلوک ها و تراکنش ها را تغییر داد، اما به طور هوشمندانه ساخته شد. گره های قدیمی همچنان می توانند بلوک ها و تراکنش ها را تأیید کنند (که فرمت قوانین را نقض نمی کنند)، بلکه فقط آنها را درک نمی کنند. برخی از نمونه ها فقط در صورت تغییر گره ها به نرم افزار جدیدتر قابل خوانش هستند، که به آنها امکان تجزیه و تحلیل داده های اضافی را می دهد.
حتی دو سال پس از فعال سازی سگویت، همه گره ها به روز رسانی نشده اند. انجام این کار مزایایی را در بر دارد، اما فوریتی واقعی در آن وجود ندارد، زیرا هیچ تغییری در شکست شبکه رخ نمی دهد.
هارد فورک در مقابل سافت فورک- کدام یک بهتر است؟
به طور اساسی، هر دو نوع فورک اهداف مختلفی را دنبال می کنند. هارد فورک های بحث برانگیز می توانند یک اجتماع را از هم تفکیک کنند، اما موارد برنامه ریزی شده به شما امکان اصلاح آزاد نرم افزار را با همه موافقان می دهد. سافت فورک ها گزینه های منعطف تری هستند. به طور کلی، شما در کارهایی که می توانید انجام دهید محدودتر هستید، زیرا تغییرات جدید نمی تواند با قوانین قدیمی سازگار باشد. همانطور که گفته شد، اگر به روزرسانی بتواند به گونه ای انجام شود که به طور سازگار باقی بماند، دیگر لازم نیست نگران تفکیک شبکه باشیم.
تفکرات آزاد:
هارد فورک ها و سافت فورک ها برای کسب موفقیت طولانی مدت در شبکه های بلاکچین بسیار مهم هستند. آنها به ما اجازه می دهند تا علی رغم وجود یک مرجع مرکزی، در سیستم های غیرمتمرکز تغییر ایجاد کرده و آنها را به روزرسانی کنیم. فورک ها امکان ایجاد یکپارچه سازی ویژگی های جدید در بلاکچین ها و ارزهای رمزپایه را فراهم می کنند. بدون چنین مکانیزم هایی، ما به یک سیستم متمرکز با کنترل بالا به پایین نیاز داریم. در غیر این صورت، می توانیم دقیقاً همان قوانین را در طول عمر یک پروتکل حفظ کنیم.