تفاوت هارد فورک در بلاک چین با سافت فورک؟

تفاوت هارد فورک در بلاک چین با سافت فورک؟

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

به پذیرش آن توسط اکثریت نودها است.

واژه «فورک» (Fork) در بلاک چین برای اشاره به توسعه پروتکل و تغییر قوانین بلاک چین به کار گرفته می‌شود. در حالت کلی فورک به دو دسته اصلی «هارد فورک» (HardFork) و «سافت فورک» (SoftFork) تقسیم می‌شود و هرکدام از این روش‌ها نیز می‌توانند شامل تغییرات در بخش‌های مختلف الگوریتم شوند. در این مقاله به بررسی مفهوم Fork می‌پردازیم و سوال هارد فورک چیست و چه تفاوتی با سافت فورک دارد را به طور کامل بررسی می‌کنیم.

فورک Fork چیست ؟

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

از جمله مهم‌ترین قوانین تعیین شده برای بلاک چین‌ها می‌توان به متغیرهایی مثل تابع هش مورد استفاده در هشینگ، سختی شبکه، تعداد کل کوین‌های پروژه، نحوه ایجاد رمز ارزهای جدید، اندازه هر بلاک و اطلاعات داخل هر بلاک اشاره کرد. واژه «فورک» (Fork) در انگلیسی به معنی چنگال است و استفاده از آن در مفهوم توسعه بلاک چین به دلیل شکل ظاهری چنگال است. در چنگال یک بدنه اصلی وجود دارد که در انتها تبدیل به چند دندانه می‌شود. در بلاک چین نیز یک زنجیره اصلی از بلاک‌ها وجود دارد که در هنگام توسعه ممکن است به دو یا چند زنجیره مجزا تبدیل شود.

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

در یک شبکه بلاک چین چه کسی تصمیم گیرنده است؟

برای درک چگونگی کارکرد فورک‌ها، مهم است که ابتدا با شرکت‌کنندگان درگیر در فرایند تصمیم‌گیری (یا اداره) شبکه آشنا شوید.

به طور کلی، شرکت‌کنندگان شبکه بیت کوین به سه دسته تقسیم می‌شوند: توسعه‌دهندگان، استخراج‌کنندگان و کاربران فول نود (Full Node). این‌ها طرف‌هایی هستند که در واقع به تداوم شبکه کمک می‌کنند. لایت نودها (به عنوان مثال کیف پول‌های موبایل، لپ تاپ و غیره) نیز به طور گسترده‌ای با شبکه تعامل دارند، اما از آنجایی که در تداوم شبکه تاثیری ندارند، به عنوان شرکت‌کننده در نظر گرفته نمی‌شوند.

توسعه‌دهندگان

توسعه‌دهندگان (Developers) مسئول ساخت و به‌روزرسانی کدها هستند. برای کوین‌های معمولی، هرکسی می‌تواند در این روند سهیم باشد. این کد به صورت عمومی در دسترس است، بنابراین آن‌ها می‌توانند تغییراتی را برای بررسی سایر توسعه‌دهندگان ارائه دهند.

استخراج‌کنندگان

استخراج‌کنندگان (Miners) کسانی هستند که شبکه را ایمن می‌کنند. آن‌ها کدهای رمز ارز را اجرا کرده و با منابع خود به افزودن بلاک‌های جدید به بلاک چین می‌پردازند. به عنوان مثال، ماینرها در شبکه بیت کوین این کار را از طریق الگوریتم اجماع اثبات کار (POW) انجام داده و به خاطر تلاش‌هایشان، پاداش اختصاص داده شده به هر بلاک را دریافت می‌کنند.

کاربران فول نود

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

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

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

توسعه‌دهندگان یا استخراج‌کنندگان اربابان قدرت نیستند، آن‌ها ارائه دهنده خدمات‌اند. اگر مردم تصمیم بگیرند از شبکه استفاده نکنند، کوین ارزش خود را از دست می‌دهد. از دست دادن ارزش به طور مستقیم بر ماینرها تأثیر می گذارد (ارزش پاداش آن‌ها به دلار کمتر می‌شود). در مورد توسعه‌دهندگان نیز، آن‌ها فقط می‌توانند توسط کاربران نادیده گرفته شده و توجهی به کدهایی که ساعت‌ها برای آ‌ن‌ها زمان گذاشته و نوشته‌اند، نشود.

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

هارد فورک چیست؟

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

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

یک نمونه از Hard Fork، هارد فورک سال 2017 بود که بیت کوین را به دو بلاک چین جداگانه تقسیم کرد، فورکی که اکنون زنجیره اصلی را به (Bitcoin (BTC و زنجیره جدید را به (Bitcoin Cash (BCH می‌شناسیم. این فورک پس از بحث و جدل در مورد بهترین روش برای مقیاس پذیری بیت کوین، رخ داد. طرفداران بیت کوین کش می‌خواستند اندازه بلاک‌ها را افزایش دهند، در حالی که طرفداران بیت کوین با این تغییر مخالفت می‌کردند.

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

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

سافت فورک چیست؟

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

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

یک نمونه خوب از سافت فورک در دنیای واقعی، فورک سگویت یا (Segregated Witness (SegWit بود، که اندکی پس از انشعاب Bitcoin / Bitcoin Cash رخ داد. SegWit یک به‌روزرسانی بود که قالب بلاک‌ها و تراکنش‌بها را تغییر داد و بسیار هوشمندانه ساخته شده بود. نودهای قدیمی همچنان می‌توانند بلاک‌ها و تراکنش‌ها را تأیید کنند (قالب بندی قوانین را نقض نمی‌کند)، اما نودهای قدیمی آن‌ها را درک نمی‌کنند. برخی از فیلدها فقط در صورت تغییر نودها به نرم افزار جدیدتر قابل خواندن هستند که به آن‌ها امکان تجزیه و تحلیل داده‌های اضافی را می‌دهد.

هارد فورک یا سافت فورک، کدام بهتر است؟

اساساً هارد فورک و سافت فورک اهداف مختلفی را دنبال می‌کنند. Hard Fork‌ های بحث برانگیز می‌توانند یک جامعه را از هم جدا کنند، اما موارد برنامه‌ریزی شده که توافق جمعی بهمره دارند، آزادی زیادی را برای اصلاح نرم‌افزار فراهم می‌کنند.

سافت فورک‌ ها گزینه‌های ملایم‌تری هستند. با این حال، Soft Fork محدودتر است، زیرا تغییرات جدید نمی‌توانند با قوانین قدیمی مغایرت داشته باشند. البته همانطور که گفته شد، اگر به‌روزرسانی شما به گونه‌ای ساخته شود که سازگار بماند، دیگر لازم نیست نگران تقسیم شدن شبکه باشید.

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

فورک تصادفی چیست ؟

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

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

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

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

هارد فورک چیست ؟

فورک‌های غیرتصادفی در بلاک چین را می‌توان به دو دسته هارد فورک و سافت فورک تقسیم کرد. هارد فورک به نوعی از Fork گفته می‌شود که تغییرات انجام شده در آن با پروتکل قبلی شبکه بلاک چین سازگار نیست (Backward-incompatible) و به همین دلیل کاربرانی که از پروتکل قبلی استفاده می‌کنند قادر به تایید بلاک‌های ارائه شده توسط پروتکل جدید نیستند. تغییراتی که در اثر هارد فورک ایجاد می‌شوند اساسی هستند و به همین دلیل ممکن است با مخالفت برخی از ماینرها روبه‌رو شوند.

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

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

هارد فورک چگونه انجام می‌شود ؟

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

این مساله باعث می‌شود که هر دسته از ماینرها تنها بلاک‌های تولید شده توسط ماینرهای هم‌دسته را تائید کنند که خروجی آن ایجاد دو زنجیره موازی هم است. در صورتی که ماینرها بر روی تغییرات اعمال شده توافق نداشته باشند، دو زنجیره ایجاد شده به فعالیت خود ادامه می‌دهند و یک کریپتوکارنسی جدید ایجاد می‌شود. هارد فورک «دائو» (DAO) انجام شده در شبکه اتریوم منجر به ایجاد اتریوم کلاسیک شد که تاثیر مستقیمی بر قیمت اتریوم داشت. در صورتی که اکثریت کاربران با تغییرات موافق باشند، ماینرهای مخالف با شکست روبه‌رو می‌شوند و عملا تغییر مورد نظر به شبکه اعمال می‌شود.

انواع هاردفورک چیست ؟

در بخش‌های قبلی در مورد این‌که کاربران ممکن است تغییرات مورد نظر هارد فورک را قبول داشته باشند یا نه بحث کردیم. از این منظر Hardfork به دو دسته «برنامه‌ریزی شده» و «چالشی» تقسیم می‌شود. در حالی که اکثریت ماینرها با هاردفورک‌های برنامه‌ریزی شده موافق هستند اما هارد فورک چالشی همواره پتانسیل این را دارد که شبکه را به دو زنجیره تبدیل کند.

هارد فورک برنامه ریزی شده چیست ؟

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

معمولا این نوع هارد فورک مورد توافق اکثریت ماینرهای شیکه قرار می‌گیرد و تغییرات مورد نظر بر روی شبکه اعمال می‌شود. شبکه اتریوم در طی مسیر توسعه خود بارها و بارها از این نوع Hardfork استفاده کرده است. هارد فورک استانبول، هارد فورک برلین و هارد فورک لندن از معروف‌ترین هاردفورک‌های اعمال شده بر روی این شیکه است.

هاردفورک چالشی چیست ؟

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

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

سافت فورک چیست ؟

سافت فورک نوعی از تغییر در پروتکل بلاک چین است که با قوانین تعریف شده فعلی سازگار است (Backward Compatible) و به همین دلیل مشکلات مربوط به Hardfork را در ارتباط با ایجاد دو بلاک چین مجزا ندارد. سازگار بودن سافت فورک با پروتکل فعلی به این معنی است که باوجود تغییر الگوریتم، همچنان ماینرهایی که از پروتکل قدیمی ار استفاده می‌کنند امکان شرکت در فعالیت اعتبارسنجی و تائید بلاک‌ها را دارند. برای اعمال سافت فورک در شبکه نیاز است که اکثریت فول نودها با آن موافق باشند در غیر اینصورت ماینرها ممکن است دچار دو دستگی شوند.

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

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

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

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

تفاوت هارد فورک و سافت فورک چیست ؟

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

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

بیشتر پروژه‌های ارز دیجیتال برای اعمال تغییرات خود ازاین دو مفهوم استفاده می‌کنند. گاهی اوقات نیز وجود اختلاف بین دو دسته از ماینرها منجر به Fork بلاک چین و ایجاد دو رمز ارز می‌شود. هاردفورک‌های ایجاد شده در بیت کوین اکثرا منجر به ایجاد رمز ارزهای جدید شده‌اند اما هارد فورک در پروژه‌های قرارداد هوشمند مثل اتریوم و کاردانو بیشتر به منظور ارتقای قابلیت‌های شبکه بوده است.

ثبت دیدگاه

کد امنیتی

0دیدگاه

دیدگاهی ثبت نشده است.

اولین نفری باشید که دیدگاهتان ثبت میشود.