فورک (fork) در بلاکچین

مقدمه ای بر فورک (fork)

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

انشعاب یا فورک
انشعاب یا فورک

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

فورک چگونه اتفاق می افتد؟

اول ، بیایید بلاکچین را به روشی ابتدایی مرور کنیم.

در این فناوری ، شبکه ای از رایانه ها ، که معمولاً “گره” نامیده می شوند ، یک رکورد مشترک ، قابل تأیید و تغییرناپذیر از داده ها را نگهداری می کنند. دو یا چند رکورد ، که معمولاً “بلاک” نامیده می شوند با هم مرتبط می شوند. هر گره دارای اطلاعات کامل بلاکچین است و از این رو می توان هر گره را به عنوان یک دفتر حساب کرد. به همین دلیل است که بلاکچین اغلب با عنوان “فناوری توزیع شده لجر” (DLT) نیز شناخته می شود. هر گره در یک بلاکچین از اختیارات یکسانی برخوردار است.

اگر توافق در مورد اعتبار تراکنش ها حاصل شود ، هر گره می تواند یک بلاک جدید اضافه کند. برای دستیابی به این اجماع ، یک گره مجبور است برای حل یک معما رمزنگاری و ارائه شواهدی از آن ، عملیات قابل توجهی را با سرعت بالا انجام دهد. این فرایند “اثبات کار” (POW) نامیده می شود. به طور خلاصه ، برای افزودن یک بلاک جدید ، یک گره باید به اجماع برسد .

فورک یا انشعاب در بلاکچین
فورک یا انشعاب در بلاکچین


برای مثال یک بلاکچین را در نظر بگیرید که در آن پروتکل موجود بلوک هایی با اندازه 1 مگابایت (MB) را الزام می کند. “ماینرها” ، از این قانون 1 مگابایتی پیروی می کنند تا بتوانند پاداش استخراج خود را دریافت کنند.

اگر یک ماینر تصمیم بگیرد بلاک 2 مگابایتی ایجاد کند، چه اتفاقی می افتد؟

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

اگر 25٪ از استخراج کنندگان در شبکه احساس کنند که باید بلاک های 2 مگابایتی به جای 1 مگابایت ایجاد شوند ، و شروع به اضافه کردن بلاک ها در بالای بلاک های 2 مگابایتی کنند، یک فورک  یا انشعاب واقعی داریم!

اکنون ، برای تغییر در قوانین موجود در این بلاکچین و اجازه بلاک 2 مگابایت به جای 1 مگابایت ، به یک “هارد فورک” نیاز خواهیم داشت. هارد فورک زمانی است که نرم افزار برای معرفی یک قانون جدید به روز شود و در نتیجه ، شبکه دیگر با نرم افزار قدیمی سازگار نخواهد بود. اگر یک ماینر همچنان به اجرای نرم افزار قدیمی ادامه دهد ، معاملات جدید را فاقد اعتبار می داند مثل زمانی که  Ethereum بر سر سازمان مستقل غیر متمرکز خود (DAO) فورک شد و به دو نهاد Ethereum و Ethereum Classic تبدیل شد .

دلایل وقوع فورک یا انشعاب در بلاکچین

  • اضافه کردن قابلیت های جدید:

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

  • رفع مشکلات امنیتی:

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

  • برگشت دادن مبالغ از دست رفته
بیشتر بخوانید : توکن تعویض ناپذیر(Non-Fungible Token) چیست؟

در صورت مشاهده نقض قوانین و سواستفاده ، کلیه تراکنش های یک دوره خاص می تواند باطل شود.

انواع فورک (fork)

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

Soft Fork: وقتی پروتکل بلاکچین به روشی سازگار با گذشته تغییر می کند.

Hard Fork: هنگامی که پروتکل بلاکچین به روشی غیر سازگار با گذشته تغییر می کند.

Temporary Fork یا فورک موقت: هنگامی که دو استخراج کننده همزمان بلوک جدیدی استخراج می کنند.

فورک نرم (Soft Fork)

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

به روزرسانی SegWit شبکه Bitcoin کلاس جدیدی از آدرس (Bech32) را اضافه کرد. با این حال ، این تغییر آدرس P2SH موجود را بی اعتبار نمی کند. یک گره کامل با آدرس نوع P2SH می تواند تراکنش معتبری را با گره ای از آدرس نوع Bech32 انجام دهد.

فورک سخت (Hard Fork)

اگر تغییر به گونه ای باشد که بلاک های جدید استخراج شده بر اساس قوانین جدید (در پروتکل Blockchain) از نظر نسخه قدیمی معتبر شناخته نشوند، هارد فورک ایجاد می شود. وقتی هارد فورک اتفاق می افتد ، ارز جدیدی به وجود می آید (با ارز اصلی معتبر) مانند اتریوم (اصلی: Ethereum ، جدید: Ethereum Classic) و بیت کوین (اصلی: بیت کوین ، جدید: بیت کوین پول نقد).


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

به فورکهایی که با نسخه های قدیمی نرم افزار سازگار نیستند ، “هارد فورک” گفته می شود. هارد فورک ها معمولاً قوانین اجماع را تغییر می دهند (به عنوان مثال اندازه بلوک ، الگوریتم استخراج ، پروتکل اجماع).به عنوان مثال به روزرسانی جدید Casper در Blockchain Ethereum که در آن پروتکل اجماع از نوع Proof of Work (Pow) به Proof of Stake (PoS) تغییر خواهد کرد. گره هایی که به روزرسانی Casper را نصب می کنند از پروتکل اجماع جدید استفاده می کنند. گره های کامل که نصب به روزرسانی Casper را انتخاب نکنند با گره های کامل سازگار نیستند.

فورک موقت / فورک تصادفی (Temporary Fork)

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

Temporary Fork
Temporary Fork

فورک های موقت سرانجام با از بین رفتن یکی از زنجیرها (یتیم شدن) خودشان حل می شوند زیرا اکثر گره های کامل زنجیره دیگر را برای افزودن بلوک های جدید و همگام سازی انتخاب می کنند.فورک های موقت اغلب اتفاق می افتند و یک اتفاق معمول که باعث ایجاد این فورک می شود استخراج بلوک توسط بیش از یک طرف تقریباً همزمان است.

مقایسه انواع فورک

در جدول زیر به مقایسه فورک سخت و نرم می پردازیم:

هارد فورک و سافت فورک
هارد فورک و سافت فورک

آینده فورک در بلاکچین

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

فورک یا انشعاب امکان ایجاد یکپارچه سازی ویژگی های جدید در بلاکچین ها و ارزهای رمزپایه را فراهم می کنند. بدون این مکانیزم ها ، ما به یک سیستم متمرکز با کنترل از بالا به پایین نیاز داریم.

منبع: www.factcoins.com