هارد فورک در مقابل سافت فورک
به نظر می رسد فورک ها یا تهدید آنها یکی از ویژگی های ثابت چشم انداز ارزهای دیجیتال است. اما آنها چه هستند؟ چرا آنها چنین معامله بزرگی هستند؟ و تفاوت بین هارد فورک و سافت فورک چیست؟ در اصطلاح برنامه نویسی، “چنگال” یک اصلاح کد منبع باز است. معمولاً، کد فورک شده مشابه کد
به نظر می رسد فورک ها یا تهدید آنها یکی از ویژگی های ثابت چشم انداز ارزهای دیجیتال است. اما آنها چه هستند؟ چرا آنها چنین معامله بزرگی هستند؟ و تفاوت بین هارد فورک و سافت فورک چیست؟
در اصطلاح برنامه نویسی، “چنگال” یک اصلاح کد منبع باز است. معمولاً، کد فورک شده مشابه کد اصلی است، اما با تغییرات مهم، و این دو “شاخه” به راحتی با هم وجود دارند. گاهی اوقات از فورک برای آزمایش یک فرآیند استفاده می شود، اما در مورد ارزهای رمزنگاری شده، بیشتر برای اجرای یک تغییر اساسی یا ایجاد یک دارایی جدید با ویژگی های مشابه (اما نه برابر) با ویژگی اصلی استفاده می شود.
همه چنگال ها عمدی نیستند. با یک پایگاه کد منبع باز به طور گسترده توزیع شده، زمانی که همه گره ها اطلاعات یکسانی را تکرار نمی کنند، فورک ممکن است به طور تصادفی اتفاق بیفتد. معمولا این نوع چنگال های تصادفی شناسایی و رفع می شوند. همانطور که در زیر بررسی خواهیم کرد، اکثر فورک های ارزهای دیجیتال به دلیل اختلاف نظر در مورد ویژگی های جاسازی شده رخ می دهند.
نکته ای که باید در مورد چنگال ها در نظر داشت این است که آنها یک “تاریخچه مشترک” دارند. سابقه تراکنش ها در هر یک از زنجیره ها (قدیمی و جدید) قبل از تقسیم یکسان است.
هارد چنگال
دو نوع اصلی فورک برنامه نویسی وجود دارد:
- هارد فورک.
- چنگال نرم.
هارد فورک تغییری در پروتکل بلاک چین است که نسخههای قدیمیتر را نامعتبر میکند. اگر نسخههای قدیمیتر به اجرا ادامه دهند، در نهایت با پروتکل متفاوت و با دادههای متفاوت نسبت به نسخه جدیدتر مواجه میشوند. این می تواند منجر به سردرگمی قابل توجه و خطاهای احتمالی شود.
با بیت کوین، یک هارد فورک برای تغییر پارامترهای تعیین کننده مانند اندازه بلوک، الگوریتم دشواری استخراج، محدودیت برای اطلاعات اضافی که می توان اضافه کرد و غیره ضروری است. تغییر در هر یک از این قوانین باعث می شود بلوک ها توسط بیت کوین پذیرفته شوند. پروتکل جدید اما توسط نسخه های قدیمی رد شده و می تواند منجر به مشکلات جدی شود – احتمالاً حتی از دست دادن سرمایه.
به عنوان مثال، اگر محدودیت اندازه بلوک از 1 مگابایت به 4 مگابایت افزایش یابد، یک بلوک 2 مگابایتی توسط گره هایی که نسخه جدید را اجرا می کنند پذیرفته می شود، اما توسط گره هایی که نسخه قدیمی تر را اجرا می کنند، رد می شود.
بیایید بگوییم که این بلوک 2 مگابایتی توسط یک گره به روز شده تایید شده و به بلاک چین اضافه شده است. اگر بلوک بعدی توسط گرهای که نسخه قدیمیتری از پروتکل را اجرا میکند تأیید شود، چه؟ سعی می کند بلوک خود را به بلاک چین اضافه کند، اما تشخیص می دهد که آخرین بلوک معتبر نیست. بنابراین، آن بلوک را نادیده می گیرد و اعتبار جدید آن را به بلوک قبلی متصل می کند.
ناگهان دو بلاک چین دارید، یکی با بلوکهای نسخه قدیمیتر و جدیدتر، و دیگری با بلوکهای نسخه قدیمیتر. اینکه کدام زنجیره سریعتر رشد میکند بستگی به این دارد که کدام گرهها بلوکهای بعدی را تأیید میکنند، و در نهایت ممکن است تقسیمبندیهای اضافی وجود داشته باشد. این امکان پذیر است که دو (یا بیشتر) زنجیره به طور موازی به طور نامحدود رشد کنند.
این یک هارد فورک است و احتمالاً کثیف است. همچنین خطرناک است، زیرا ممکن است بیتکوینهایی که در یک بلوک جدید خرج میشوند، دوباره روی یک بلوک قدیمی خرج شوند (زیرا تجار، کیف پولها و کاربرانی که کد قبلی را اجرا میکنند، هزینههای کد جدید را که نامعتبر میدانند، تشخیص نمیدهند).
تنها راه حل این است که یک شعبه به نفع دیگری رها شود، که شامل ضرر برخی ماینرها می شود (خود تراکنش ها از بین نمی روند، فقط دوباره تخصیص داده می شوند). یا، همه گره ها باید به طور همزمان به نسخه جدیدتر سوئیچ کنند، که دستیابی به آن در یک سیستم غیرمتمرکز و گسترده دشوار است.
یا، بیت کوین تقسیم می شود، که اتفاق افتاده است (سلام، بیت کوین کش).
چنگال نرم
سافت فورک اساساً برعکس هارد فورک است که به موجب آن تغییرات جدید اجرا شده با نسخههای قدیمیتر سازگار هستند.
به عنوان مثال، اگر یک پروتکل به گونه ای تغییر کند که قوانین را سخت تر کند، یک تغییر زیبایی را اجرا کند یا تابعی را اضافه کند که به هیچ وجه بر ساختار بلاک چین تأثیری نداشته باشد، بلوک های نسخه جدید توسط گره های نسخه قدیمی پذیرفته می شوند. با این حال، برعکس نیست: نسخه جدیدتر و “محکم تر” بلوک های نسخه قدیمی را رد می کند.
در بیت کوین، استخراجکنندگان نسخه قدیمی متوجه میشوند که بلاکهای آنها رد میشود و مجبور میشوند آن را ارتقا دهند. با ارتقای بیشتر ماینرها به آخرین نسخه، زنجیره با بلاک های عمدتاً جدید طولانی ترین می شود، که به نوبه خود، تعداد بلوک های نسخه قدیمی یتیم ایجاد شده را افزایش می دهد و باعث می شود استخراج کنندگان بیشتری ارتقا پیدا کنند. این فرآیند از خود تصحیح سیستم اطمینان می دهد. از آنجایی که بلوک های نسخه جدید توسط گره های قدیمی و ارتقا یافته پذیرفته می شوند، بلوک های نسخه جدید در نهایت برنده می شوند.
به عنوان مثال، بگوییم که جامعه تصمیم گرفت اندازه بلوک را از حد تئوری فعلی خود یعنی 4 مگابایت (با بلوکهای SegWit) به 0.5 مگابایت کاهش دهد. با نسخه به روز شده کد)، که باعث فوک موقت می شود.
این یک سافت فورک است و قبلاً چندین بار اتفاق افتاده است. در ابتدا، بیت کوین محدودیت اندازه بلوک نداشت. معرفی محدودیت 1 مگابایتی از طریق سافت فورک انجام شد زیرا قانون جدید «سختتر» از قانون قبلی بود.
تابع pay-to-script-hash، که کد را بدون تغییر ساختار بهبود می بخشد، نیز با موفقیت از طریق سافت فورک اضافه شد. این نوع اصلاحیه معمولاً فقط به اکثر ماینرها نیاز دارد که ارتقا دهند، که باعث می شود امکان پذیرتر و کمتر مختل شود.
سافت فورکها خطر دوبار مصرف را که گریبانگیر هارد فورکها میشود را به همراه ندارند، زیرا تاجران و کاربرانی که گرههای قدیمی را اجرا میکنند، بلوکهای نسخه جدید و قدیمی را میخوانند.
برای نمونههایی از تغییراتی که به سافت فورک نیاز دارند، به «لیست علاقهمندی سافت فورک» مراجعه کنید.
آموزش مجازی مدیریت عالی حرفه ای کسب و کار Post DBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه | آموزش مجازی مدیریت عالی و حرفه ای کسب و کار DBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه | آموزش مجازی مدیریت کسب و کار MBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه |
مدیریت حرفه ای کافی شاپ | حقوقدان خبره | سرآشپز حرفه ای |
آموزش مجازی تعمیرات موبایل | آموزش مجازی ICDL مهارت های رایانه کار درجه یک و دو | آموزش مجازی کارشناس معاملات املاک_ مشاور املاک |
برچسب ها :
ناموجود- نظرات ارسال شده توسط شما، پس از تایید توسط مدیران سایت منتشر خواهد شد.
- نظراتی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
- نظراتی که به غیر از زبان فارسی یا غیر مرتبط با خبر باشد منتشر نخواهد شد.
ارسال نظر شما
مجموع نظرات : 0 در انتظار بررسی : 0 انتشار یافته : ۰