فورك سخت ( hard fork ) در مقابل فورك نرم ( soft fork )

۹ مرداد ۱۳۹۸ | 0 نظر | لینک کوتاه | اخبار و مقالات ارز دیجیتال, مفاهیم پایه

فورك Fork، یا کارکرد آنها، به نظر می رسد یکی از ویژگی های ثابت کریپتوکارنسی cryptocurrency است. اما آنها چی هستند؟ چرا از اهمیت بالایی برخوردارند؟ و تفاوت بین فورك سخت و فورك نرم چیست؟

“فورك”، در شرایط برنامه نویسی، اصلاح کد اوپن سورس open-source یا منبع باز است. معمولا کد فورك شبیه به کد اصلی است، اما با اصلاحات مهم و دو “شاخه” به راحتی هماهنگ است. گاهی اوقات فورك برای آزمایش یک فرآیند مورد استفاده قرار می گیرد، اما با استفاده از روش های کریپتوکارنسی cryptocurrencies، اغلب برای پیاده سازی یک تغییر اساسی یا ایجاد یک دارایی جدید با ویژگی هایی مشابه نسخه اصلی استفاده می شود. (اما نه دقیقا برابر).

همه فورك ها به صورت خودخواسته ایجاد نمیشوند و دستی نیستند. با توزیع گسترده ی کدبیس codebase به صورت اُپن سورس open-source ، یک فورك می تواند زمانی که گره ها اطلاعات یکسانی را تکثیر نمی کنند به طور تصادفی اتفاق بیفتد . با این حال، معمولا این فورك ها شناسایی و حل می شوند، و اکثریت فورك های کریپتوکارنسی cryptocurrency به علت تفاوت ویژگی های جاسازی شده است.

یکی از چیزهایی که باید درمورد فورك ها به خاطر داشته باشید این است که دارای “پیشینه ی مشترک” می باشند. سوابق معاملات در هر زنجیر (قدیمی و جدید) قبل از تقسیم یکسان سازی میشود.

فورك هاي سخت

دو نوع اصلی از فورك هاي برنامه نویسی وجود دارد: سخت و نرم.

 

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

 

برای استفاده از بیتکوین bitcoin، یک فورك سخت برای تغییر پارامترهای تعیین کننده مانند اندازه بلاک، مشکل پازل کریپتوگرافی cryptography که باید حل شود، محدودیت هایی که می توان به اطلاعات اضافه کرد، و غیره لازم است. تغییر هر یک از این قوانین موجب بلاک هایی میشود که توسط پروتکل جدید پذیرفته ميشود اما توسط نسخه های قدیمی تر رد ميشود و اين امر رد نتيجه منجر به مشکلات جدی ميشود – حتی احتمال از دست دادن دارایی.

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

 

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

 

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

 

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

هارد فورک در مقابل سافت فورک

فورك نرم

 

فورك نرم هنوز هم می تواند با نسخه های قدیمی تر کار کند.

برای مثال، اگر یک پروتکل به شیوه ای که قواعد را تشدید می کند تغییر کرده باشد، این امر موجب تغییر ظاهری میشود یا عملکردی که ساختار را به هیچ وجه تحت تاثیر قرار نمی دهد ایجاد میکند، سپس بلاک های نسخه جدید توسط گره های نسخه قدیمی تایید می شوند. با این وجود: نسخه جدیدتر، “متراکم تر” بلاک های نسخه قدیمی را رد می کنند.

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

به عنوان مثال، بیایید در نظر بگیریم که جامعه تصمیم به کاهش اندازه بلاک از محدودیت فعلی ۱MB به ۰٫۵MB بگیرد. گره های نسخه جدید بلاک های ۱ مگابایتی را رد می کنند و بر اساس بلاک قبلی ساخته میشوند (اگر با نسخه به روز شده از کد استخراج شده باشد)، که باعث می شود یک فورک موقت ایجاد شود.

 

این یک فورک نرم است و تا به امروز چندین بار اتفاق افتاده است. در ابتدا بیت کوین Bitcoin محدودیت اندازه بلاک نداشت. معرفی حد مجاز ۱ مگابایت از طریق فورک نرم انجام شد، از آنجایی که قانون جدید “دقیق تر”  از قدیمی بود. عملکرد pay-to-script-hash كه كد را بدون تغيير ساختار افزايش ميدهد نيز به صورت موفقيت آميز از طريق فورک نرم اضافه شده است. این نوع اصلاحات عمدتا به اکثریت ماینرها برای ارتقا نیاز دارد که باعث می شود امکان پذیرتر باشد. برای خرید بیت کوین و فروش بیت کوین می توانید به صفحه اصلی سایت ما مراجعه کنید. فورک های نرم، مانند فورک های سخت خطرناک نیستند ،زیرا معامله کنندگان و کاربرانی که گره های قدیمی را اجرا می کنند، بلاک های جدید و قدیمی را میخوانند.

برای نمونه هایی از تغییراتی که نیاز به یک فورک نرم دارند، نگاهی به “softfork wishlist” بیندازید.

ترجمه توسط تیم دلاریپتو

No views yet

دیدگاه بگذارید

avatar


    | 4,306,610,528 تومان

    | 4,384,526,179 تومان

    | 216,211,488 تومان

    | 220,123,209 تومان

    | 38,006 تومان

    | 38,694 تومان

    | 5,743,776 تومان

    | 5,847,693 تومان

    | 13,220.96 تومان

    | 13,460.16 تومان

    | 7,216,960 تومان

    | 7,347,530 تومان

    | 60,800 تومان

    | 61,500 تومان

    | 0 تومان

    | 0 تومان

    | 0 تومان

    | 0 تومان

    | 0.000

    | 0.000

    | 0.000

    | 0.000

    | 0.00 $

    | 0.00 $

    | 0.00 $

    | 0.00 $

    | 0.00 $

    | 0.00 لیر

    | 0.00 لیر

    | 0.00 لیر

    | 0.00 لیر

    | 0.00 لیر

    | 0.00 لیر