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