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


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

اگر علاقه مند به اخبار دنیای ارزهای رمزنگاری شده باشید احتمالا با واژه فورک آشنا هستید. اما فورک چیست؟ چرا برایمان حائز اهمیت است؟ تفاوت سافت فورک و هاردفورک چیست؟

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

موردی که درمورد فورک ها باید در نظر داشت این است که آن ها تاریخچه ی مشترک دارند زیرا تاریخچه تراکنش های ثبت شده هر یک از زنجیره ها(قدیمی و جدید) پیش از انشعاب یکسان هستند.

هاردفورک

بطور کلی در برنامه نویسی دو نوع فورک و انشعاب وجود دارد، هاردفورک و سافت فورک.

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

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

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

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

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

سافت فورک

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

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

به عنوان مثال در نظر بگیرید:

کاربران تصمیم می گیرند اندازه بلاک ها را از 1 مگابایت به نیم مگابایت کاهش دهند. گره های نسخه جدید بلااک های 1 مگابایتی را رد می کنند و در نتیجه یک فورک موقت ایجاد می شود.

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


برچسب ها:

ثبت نظر
نظرات کاربران (0 نظر)