فورک و انواع آن
آنچه که امروز میخواهیم درباره آن صحبت کنیم شکل خاصی از تکنولوژی است و آن چیزی نیست جز صحبت پیرامون بلاکچین یا همون زنجیره ای از بلاک ها با کد متن باز مثل بیتکوین، اتریوم، لایتکوین و ده ها مورد دیگر که به سادگی در دسترس همه است و کسی نمیتواند ادعای کنترل کامل روی آن را داشته باشد، تاکید میشود هیچکس، بلکه تنها بر اساس قوانین ساده ریاضی است که هر کس میتواند آن را دنبال کند.
حرف زدن از بلاکچین کسالت آور است؟
بدیهی است درک این تکنولوژی برای خیلی ها آسان نیست. همان طور که اگر کسی بگوید بلاکچین را کشف کرده، خنده دار خواهد بود. مطلب دیگری که لازم است گفته شود این است که نام بیتکوین با کلمه بلاکچین عجین شده و نمیتوان این را نادیده گرفت. در کنفرانسی شرکت داشتم و سخنزان ۴۵ دقیقه درباره بلاکچین صحبت کرد بدون اینکه حتی اشاره ای به بیتکوین داشته باشد! ممکن است شما دوستانی داشته باشید که در دوسال گذشته در این حوزه کار کرده اند و فقط بلدند درباره این موضوعات صحبت کنند تا جایی که اطرافیانشان از این وضعیت دلخور میشوند. من یکی از این افراد هستم که صحبت هایم برای دوستانم کسل کننده بود تا اینکه بالاخره قیمت بیتکوین بالا رفت و موضوع برایشان جذاب شد.
بمباران واژه ها
اگر شما با این موضوعات تاکنون آشنایی نداشتید و تازه شروع کرده اید به خواندن درباره این مفاهیم، با بمباران واژه ها در این حوزه روبرو میشوید: استخراج، بلاکچین، آدرس عمومی، آدرس خصوصی و … که همگی برایتان تازگی دارد و در ابتدا به قدری گیج میشوید که با خود خواهید گفت: “آه اینها دیگر چه مزخرفاتی هستند.”
تازه داستان بدتر هم میشود. یک کیف پول دیجیتال نصب و تراکنشی را دریافت میکنید. متوجه شروع یک جنگ در بیتکوین میشوید که شما را به فورک تهدید میکنند. اول که معنی فورک را نمیدانید فکر میکنید منظورشان همان چنگال است. با خود میگویید آیا باز هم این یک شوخی است؟
یکی میگوید فورک نرم و دیگری میگوید فورک سخت. شما هم که در تمام زندگی تان فقط با فورک (چنگال!) سخت سرو کار داشته اید با خود میگویید آیا فورک نرم، منظور نوعی چنگال! نرم است!؟ (خنده حاضرین) و باز هم بیشتر گیج میشوید. میخواهم به شما کمک کنم موضوع را درک کنید.
یک فورک در واقع یک جور تغییر وضعیت در بلاکچین است که منجر به واگرایی در زنجیره بلاکچین خواهد شد طوری که یک بخش شبکه از آن پس نگاه متفاوتی نسبت به بخش دیگر و تاریخچه زنجیره خواهد داشت و در واقع همین معنی فورک یا انشعاب است. این اتفاقی است که دو تا سه بار در هفته روی میدهد. علت اصلی این اتفاق، تاخیر انتشار یک بلاک در طول شبکه است. تصور کنید در نقطه ای از شبکه یک استخراج کننده، محاسبات جادویی ریاضی را انجام و جواب را پیدا میکند. میگوید جواب را پیدا کردم! آن را دریک بلاک جدید گذاشته و به شبکه میفرستد. در طرف دیگر شبکه یک نفر دیگر با اختلاف چند ثانیه او هم جواب را پیدا کرده و همین کار را تکرار و بلاک جدید را به شبکه میفرستد.حال اگر فرض کنیم نیمی از شبکه بلاک را ابتدا از نفر اول و نیم دیگری بلاک را ابتدا از نفر دوم دریافت کرده باشد، چه اتفاقی خواهد افتاد؟
حل اختلاف
برای حل اختلاف و مشخص شدن اینکه کدام بلاک معتبر است به چه مرجعی مراجعه کنیم؟ اینجا که مرجع واحدی برای اعلام نظر نداریم. اینجا یک سیستم غیر متمرکز است که هر کس یعنی هر نود روی شبکه خودش با استفاده از اطلاعات و کد برنامه فورک Fork چیست ای که دارد، راسا تصمیم میگیرد. خوب این یعنی چه؟
هر دو بلاک تولید شده از زاویه ای هردو معتبر هستند چون از روی بلاک نوک زنجیره (بلاک قله) که خودش معتبر بوده، ساخته شده اند. تا اینجای کار عادلانه است. اما!
یک فاکتور مهم دیگر هم در این شبکه وجود دارد و آن زمان است. حل این مشکل نباید بیشتر از ۱۰ دقیقه طول بکشد. باز پیچیده شده تر شد! خب هر طرف شبکه که بلاک را دریافت کرده یعنی همان بلاک هایی که فورک Fork چیست محل بحث بودند، هر طرف خودش شروع میکند به استخراج بلاک بعدی یعنی حل مسئله ریاضی و پیدا کردن جواب و قرار دادن بلاک جدید به انتهای زنجیره. در این حالت یکی از زنجیره ها بلند تر است و باز طی همان ۱۰ دقیقه بلاک دیگری پیدا میشود حال اگر یک نفر در شبکه بخواهد بلاک جدید را به انتهای زنجیره اضافه کند متوجه میشود که این بلاک، بالاسری (والد) متفاوتی دارد و با آدرس آخرین بلاک (نوک زنجیره) متفاوت است. در نتیجه این بلاک را نامعتبر تشخیص داده و آن را دور میریزد.
آنقدر این وضعیت در طول ۱۰ دقیقه تکرار میشود تا زمانی که ۹۵% بلاکی که دست همه است آدرس بالاسری اش معتبر باشد و در نهایت آن بلاک پذیرفته میشود. این اتفاقی است که هر هفته ۲ یا ۳ بار رخ میدهد.
توافق جمعی (Consensus)
پس چیزی که تاکنون گفته شد یک فورک طبیعی بود که در اثر تاخیر انتشار بلاک در شبکه رخ داده بود و با اجماع یا توافق نودها مشکل حل شده و زنجیره ادامه پیدا میکند. اما شکل های دیگری هم از فورک وجود دارد. مثلا یک قسمت از شبکه تصمیم میگیرد که قانون را عوض کند و با عوض شدن قانون، برای بخش دیگر شبکه سازگاری وجود نخواهد داشت. اگر ۵۱% تصمیم به این کار بگیرند یعنی ۵۱% از استخراج کنندگان و کسانی که توان محاسباتی (برای حل مسئله ریاضی) دارند به این وضعیت، حمله ۵۱ درصدی گفته میشود چون میتوانند بدون اعتنا به ۴۹ درصد باقیمانده قوانین (کد برنامه) را تغییر بدهند.
انواع شاخه ها (فورک)
استخراج کنندگان می توانند از طریق یتیم کردن (orphaning) عمدی بلاک هایی که به نظر می رسد برای برخی از مشتریان معتبر است، باعث به وجود آمدن انشعاب ها در زنجیره بشوند. کاربران مجموعه ای قوانین اجماع ایجاد می کنند که تمام بلاک ها را شامل می شود. زمانی که کاربران درباره مجموعه ای از قوانین اجماع جهت به اجرا درآمدن اتفاق نظر نداشته باشند، آنها زنجیره دیگری را برای دنبال کردن انتخاب می کنند. برای سادگی موضوع، به مواردی که در آن قوانین اجماع با اتفاق نظر روبرو بوده و استخراج کنندگان تصمیم به یتیم کردن بلاک ها به هر دلیلی می گیرند و همچنین مواردی که بیش از دو مجموعه از قوانین اجماع وجود دارد نمی پردازیم.
(بلوک های جدا شده و یا یتیم بلوک های معتبری هستند که دیگر قسمتی از زنجیره اصلی نیستند)
در مثالی که در ادامه خواهیم آورد، دو مجموعه قوانین وجود دارد؛ قوانین قرمز و قوانین زرد. در این مثال ها قوانین قرمز قوانین اصلی هستند که به اجرا درآمده اند و قوانین زرد قوانین اصلاح شده هستند. همچنین قوانین نارنجی ترکیبی از هردوی آنها است. (فرض بر این است که هر دو مجموعه قانون نسبت به معتبر بودن بلاک ها اتفاق نظر دارند)
هارد فورک ناسازگار
ساده ترین نوع انشعاب زنجیره برای فهمیدن، مدل ناسازگار است. در مواردی خاص، برخی از کاربران تصمیم به پیاده سازی و اجرای مجموعه قوانین جدیدی می گیرند. در این حالت مجموعه قوانین جدید کاملا مستقل از قوانین اصلی است.
هارد فورک زمانی اتفاق می افتد که برخی از استخراج کنندگان تصمیم به استخراج طبق مجموعه قوانین جدید می گیرند و برخی دیگر طبق همان مجموعه قوانین قدیمی ادامه می دهند. هر بلاکی که بر اساس قوانین جدید ساخته شود، طی قوانین قدیمی معتبر نیست و برعکس. انشعاب Ethereum و Etherem Classic نمونه ای از این انشعاب ها است. در این مورد زنجیره ها برای همیشه تقسیم شده باقی خواهند ماند و هیچ شانسی برای همگرا شدن آنها وجود ندارد و این موضوع که در هر زنجیره چه میزان استخراج انجام شده باشد اهمیتی ندارد.
هارد فورک نیمه سازگار
هارد فورک نیمه سازگار (Semi-Compatible Hard Forks) زمانی اتفاق می افتد که مجموعه قوانین تقسیم شود (در نتیجه قوانینی مشترک بین دو زنجیره به وجود می آید)، اما همچنان بلاک هایی وجود خواهند داشت که تنها روی یکی از زنجیره ها معتبر هستند.
در این موارد استخراج کنندگان می توانند از انشعاب زنجیره از این طریق که فقط بلوک هایی با قانون نارنجی را استخراج کنند جلوگیری کنند. هرچند زمانی که استخراج کننده ای یک بلاک زرد یا قرمز را استخراج کند، زنجیره دچار انشعاب می شود. امکان همگرا شدن زنجیره ها در صورتی که استخراج کنندگان در نهایت یک زنجیره ی انحصارا نارنجی را بسازند وجود دارد و این کار را از همان زمانی انجام دهند که کاربران، قوانین زرد را (که از کل کار هر دو زنجیره ی دیگر جلو زده است) پذیرفته اند. اگر این کار را انجام دهند، هر دوی زنجیره های قرمز/نارنجی و زرد/نارنجی توسط مشتریان (clients) زرد یا قرمز یتیم خواهند شد و آنها تنها یک زنجیره واحد را خواهند دید. تا جایی که از آن اطلاع داریم شاخه ای از این مدل وجود ندارد. بهترین شرط (bet)برای استخراج کنندگان در این حالت (بسته به ویژگی ها) به طور معمول این خواهد بود که تنها بلاک های نارنجی را استخراج کنند و با این کار از انشعاب زنجیره جلوگیری کنند. با انجام این کار استخراج کنندگان به طور موثر یک فورک نیمه سازگار (Semi-compatible fork) را به یک سافت فورک تبدیل می کنند.
هارد فورک سازگار
در یک هارد فورک مجموعه قوانین گسترش پیدا می کنند تا همزمان با اجازه دادن به شرایط دیگر، تمام قوانین قبلی را شامل شود.
زمانی که قوانین گسترش پیدا می کند، به محض اینکه یک استخراج کننده بلاکی را با قوانین زرد استخراج کند، زنجیره منشعب می شود. این مدل از انشعاب تا زمانی که زنجیره زرد شامل کار بیشتری نسبت به زنجیره نارنجی شود منشعب باقی خواهد ماند. خطری که در این مدل از انشعاب وجود دارد این است که اگر زنجیره نارنجی شامل کار بیشتری شود، زنجیره زرد یتیم خواهد شد. کاربران زنجیره زرد نه تنها باید مطمئن باشند که قریب به اتفاق قدرت هش از ابتدا در این زنجیره بوده، بلکه همچنان تا ابد نیز در این زنجیره خواهد بود. نمونه هایی از این مدل شاخه (فورک) Bitcoin XT، Bitcoin Classic و Bitcoin Unlimited هستند.
سافت فورک
سافت فورک (Soft-fotk) زمانی است که مجموعه قوانین محکم شده است و قوانین زرد کاملا توسط قوانین قرمز پوشانده می شوند. این مدل برای اجرایی شدن قوانین تنها نیاز به ارتقای اکثریت استخراج کنندگان دارد.
انشعاب زمانی می تواند اتفاق بیافتد که استخراج کننده ای یک بلاک قرمز تولید کند. کاربرانی که از مجموعه قوانین قرمز استفاده می کنند آن زنجیره را دنبال خواهند کرد و کاربرانی که از مجموعه قوانین زرد استفاده می کنند، زنجیره نارنجی را دنبال خواهند کرد. در این حالت اگر اکثریت قدرت هش شروع به اجرای قوانین نارنجی کند، زنجیره قرمز یتیم خواهد شد. این مدل از شاخه (فورک) قبلا بارها در تاریخچه بیت کوین با تغییراتی مثل BIP666، CSV، CLTV و همچنین سافت فورک پیشنهادی سگویت اتفاق افتاده است.
خطر سازماندهی مجدد و خطرات انشعاب
هر دو مورد سازماندهی های مجدد بزرگ (reorganizations) و انشعاب می توانند خطراتی را برای استخراج کنندگان و کاربران داشته باشند. سازماندهی مجدد بزرگ ( روند تغییر مسیری که در آن بلاک چین سازمان یافته است) می تواند باعث این بشود که تراکنش های تایید شده قبلی ناپدید شوند که این موضوع باعث از دست رفتن پول بسیاری از مردم می شود. برای مثال امکان دارد که یک سال گذشته شما برای ماشین خود 10بیت کوین پرداخت کرده باشید و سال بعد این تراکنش کاملا از دفتر کل پاک شده باشد. در نتیجه شما نه بیت کوینی دارید و نه ماشینی. این حالت از رفتار می تواند باعث از دست رفتن اعتماد مردم به دیجی ارزها بشود. با توجه به نوع انشعاب، یک سازماندهی مجدد بزرگ تنها می تواند روی کاربران مجموعه قوانینِ بازنده تاثیرگذار باشد و کاربران مجموعه قوانین قوی تر دچار سازماندهی مجدد نمی شوند.
انشعاب یک زنجیره می تواند ریسک های مختلفی داشته باشد. ارزش Ethereum بعد از اینکه از Ethereum Classic منشعب شد دچار نوسان شد. این موضوع بازار را دچار سردرگمی کرد( که کدام یک ار آنها Ethereum است، همانی که قوانین اصلی را دارد و یا همان که قوانینی را که بنیاد متمرکز اتریوم امروزه اجرا می کند). البته مواردی وجود دارد که ممکن است انشعاب ترجیح داده شود. فرض کنید دو گروه منافع کاملا متفاوتی با یکدیگر دارند و هرکدام در زمینه خود در صورت دنبال کردن خواسته هایشان بهترین خدمات را ارائه می کنند. انشعاب در این موارد نسبت به سازش ترجبح داده می شود.
کاهش خطرها
در بسیاری از موارد ریسک یا خطر برای بسیاری از این شاخه ها می تواند توسط کاربران و استخراج کنندگان کاهش پیدا کند.
در رابطه با هاردفورک ناسازگار هیچ راهی برای کاهش این خطرها وجود ندارد. زنجیره تا زمانی که برخی از کاربران یا استخراج کنندگان بخواهند دچار انشعاب می شود و کاری برای آن نمی توان انجام داد. این موضوع را می توان با گرفتن حکم طلاق و عدم وجود هرگونه راهی برای توافق مقایسه کرد.
در رابطه با سافت فورک نیمه سازگار، استخراج کنندگان قدرت جلوگیری از انشعاب زنجیره و سازماندهی مجدد را دارند. اگر اکثریت آنها بلاک های نارنجی را برای استخراج انتخاب کنند کاربران می توانند در زنجیره باقی مانده و سازماندهی های مجدد به تعداد کمی از بلاک ها محدود شود.
برای یک هاردفورک سازگار، خطرِ موجود بطور انحصاری در رابطه با کاربران قوانین زرد است و بهترین راه برای جلوگیری از خطر این است که اطمینان حاصل شود که اکثریت جامعه در کنار آنها هستند. این موضوع که استخراج کنندگان نیز طرف آنها باشند بسیار اهمیت دارد، در غیر اینصورت زنجیره منشعب نمی شود. بدون وجود اکثریت اقتصاد، ارزش بلاک های نارنجی بیشتر خواهد بود، در نتیجه این موضوع استخراج کنندگانِ مشتاق به سود را به سمت خود کشیده و منجر به سازماندهی مجدد بزرگ می شود.
برای یک سافت فورک خطر اصلی در سمت کاربرانِ قانون قرمز وجود دارد. بهترین استراتژی کاهش ریسک برای آنها این خواهد بود که مطمئن باشند اقتصاد را در سمت خود دارند و اکثریت استخراج کنندگان قانون قرمز را دنبال می کنند و یا اکثریت استخراج کنندگان طرفدار قوانین نارنجی هستند. این موضوع ممکن است کمی متناقض به نظر برسد. اما اگر اکثریت استخراج کنندگان در حال استخراج با قوانین نارنجی باشند، در نتیجه آنها با کاربران نارنجی در اجماع خواهند بود و یتیم نخواهند شد. استخراج کنندگان می توانند کاهش ریسک را با استخراج کردن بلاک ها در مجموعه نارنجی و یتیم کردن مجموعه قرمز انجام دهند.
استخراج کنندگان نقش بسیار مهمی در کاهش ریسک ها دارند. در تمام موارد به جز مورد هاردفورک ناسازگار، استخراج کنندگان می توانند از شاخه ای شدن زنجیره جلوگیری کنند. برای هاردفورک نیمه سازگار می توانند این کار را با تبدیل کردن آن به سافت فورک انجام دهند. برای هاردفورک سازگار آنها این کار را تنها با رد کردن هاردفورک می توانند انجام دهند. برای مورد سافت فورک، می توانند این کار را با به اجبار به اجرا در آوردن سافت فورک انجام دهند. هرچند حتی بدون اینکه استخراج کنندگان این کارها را انجام دهند، کاربران انگیزه کافی برای محافظت از خود را دارند و می توانند این کار را با به اجبار به اجرا درآوردن قوانین نارنجی انجام دهند. این یعنی رد کردن هاردفورک و اجرایی کردن سافت فورک.
خاتمه
بسیاری از افراد سوظن هایی نسبت به سافت فورک دارند چرا که به کاربران اجازه انتخاب نمی دهد. ذات بیت کوین و کلیه بلاک چین هایی که بر پایه proof-of-work هستند این است که استخراج کنندگان قدرت ایجاد قوانین محدودکننده تری بیش آنچه کاربران با آن توافق کرده اند را دارند. هرچند که در واقع کاربران نیز (با استناد به هاردفورک ناسازگار) دارای قدرت هستند. در این حالت کاربران زنجیره را با معرفی کردن مجموعه قوانین جدید مجبور به تقسیم شدن می کنند. این موضوع تضمین می کند که کاربران همیشه راه فراری از مجموعه قوانین تحمیل شده توسط استخراج کنندگان را دارند. به این ترتیب اگر اقتصاد و کاربران تغییر قانون یک سافت فورک را رد کنند، همیشه توان درخواست قوانینی مطابق با خواسته هایشان را خواهند داشت. این امر ممکن است ناخوشایند باشد اما این موضوع در رابطه با هر حمله ای از طرف استخراج کنندگان به کاربران نیز صدق می کند.
دیدگاه هایی که در این مقاله ارائه شده اند، متعلق به نویسنده می باشند و لزوماً مربوط به Coiniran نمی باشد و نباید به آن نسبت داده شود.
هاردفورک چیست؟ مهمترین هاردفورکهای بیت کوین و اتریوم
هاردفورک چیست؟ در تاریخ پر فراز و نشیب ارزهای دیجیتال، هرازگاهی راهحلهایی به میدان میآیند تا به بازار کریپتوکارنسی کمک کنند، هرچه بیشتر کاربرد پیدا کنند و مورد استفاده قرار بگیرند. یکی از راهحلهایی که متخصصان این حوزه برای برخی از مشکلات پیدا کردند؛ «فورک» (Fork) بوده است. فورک به معنی انشعاب است؛ انشعابی که برای استفاده بهتر و بهبود یک رمزارز صورت میگیرد.
در این مطلب میخواهیم با مفهومِ فورک و یکی از شاخههای آن یعنی هاردفورک (HardFork) با شما صحبت کنیم. اگر به این مفهوم علاقمندید، تا انتها همراه ما باشید تا به سوالاتی همچون هاردفورک چیست؟ و مهمترین هاردفورکهای بیت کوین و اتریوم کداماند پاسخ داده شود.
فورک چیست؟
فورک اتفاقی در زمینه بلاکچین است که در طی آن زنجیره با ایجاد تغییراتی در پروتکلهای آن، کپی میشود. اگر نارضایتیای در زمینه شرایط موجود یا پروتکلها (به مجموعهای از قوانین که فعالیتهای بلاکچین برمبنای آن انجام میشوند «پروتکل» گفته میشود) در بستر بلاکچین اتفاق بیفتد، فورک اتفاق میافتد.
به عبارت دیگر فورک انشعابی است که از پروژه قبلی گرفته میشود. به این صورت که کد منبع پروژه گرفته میشود، تغییرات مدنظر در آن اعمال میشود، کد دوباره کپی میشود و فورک یا انشعاب جدیدی ایجاد میشود. در این صورت، بلاک چین به دو شاخه تقسیم میشود. این اتفاق ممکن است به دلیل تاریخچه تراکنشها یا تغییراتی در قوانین پذیرش تراکنشها اتفاق بیوفتد.
هر دوی این شاخهها بدون داشتن تداخل با یکدیگر میتوانند به راحتی کار کنند، اما امکان انتقال یک رمز ارز از یک شاخه به شاخه دیگر امکانپذیر نیست. مثلا روزانه تعداد افراد بیشتری از بیت کوین کش، فاصله میگیرند که علت این امر عدم وجود محبوبیت و اعتماد در میان کاربران آن است.
برای درک بهتر مفهوم فورک بهتر است مثالی ارائه دهیم: پروتکلهای بیت کوین شامل قوانین و ویژگیهای بلاک چین آن وجود دارد، مثلا زمان هر بلاک ده دقیقه است، ظرفیت هر بلاک 1 مگابایت است، سرعت هر تراکنش حداکثر 7 تراکنش در ثانیه است و …
حال اگر گروهی از برنامهنویسان به این نتیجه برسند که بهتر است ظرفیت هر بلاگ از یک مگابایت به 8 مگابایت ارتقا پیدا کند یا سرعت تراکنش آن به 20 تراکنش در ثانیه برسد، چه میشود؟
همانطور که میدانیم اطلاعات ثبتشده در بلاک چین قابل تغییر نیستند و بلاک چین باید با قوانین از ابتدا تعریفشده به فعالیت خود ادامه دهد. از طرفی یک نارضایتی و ناهماهنگی میان کاربران اتفاق افتاده است؛ بنابراین به یک راه حل نیاز است و آن راه حل «فورک» یا «انشعاب» است.
ایجاد فورک جدید ممکن است تنها به دلیل نارضایتی اتفاق نیوفتد؛ گاهی ممکن است فورک جدید برای حل مشکلی در بلاک چین نیز اتفاق بیوفتد.
نکته قابل توجهی که در این قسمت وجود دارد این است که «همه» ماینرها باید با پروتکلهای جدید موافقت کنند، در غیر این صورت انشعاب جدید اتفاق نمیافتد.
انواع فورک
فورکها به دو دسته سافت فورک (soft fork) و هارد فورک (Hard Fork) تقسیم میشوند، که در ادامه به هر دو میپردازیم.
سافت فورک یک آپدیت سازگار با گذشته (backward-compatible) است. این به این معناست که حتی اگر کاربران نرمافزارهای خود را آپدیت نیز نکرده باشند، میتوانند در فرایند تایید تراکنشها شرکت کنند.
برای پیادهسازی فورک تنها نیاز است که اکثریت کاربران نرمافزار خود را آپدیت کنند و همه کاربران، چه کسانی که نرمافزار را آپدیت کرده باشند و چه کسانی که این کار را نکرده باشند، میتوانند بلاکهای جدید را تشخیص دهند و فعالیت تمامی این افراد سازگار با شبکه است.
اما نکته قابل توجهی وجود دارد: اگر ماینری نرمافزار خود را آپدیت نکرده باشد و بخواهد بلاک جدیدی را ثبت کند، تراکنش او توسط شبکه رد میشود. بنابراین درست است که فعالیت افرادی که نرمافزار خود را آپدیت نکردهاند، فعالیت سازگار با شبکه دارند، اما با توجه به محدودیتهایی که توسط شبکه ایجاد میشود، به ناچار برای بهروزرسانی اقدام میکنند.
هاردفورک دقیقا برخلاف سافت فورک عمل میکند، یعنی سازگار با گذشته نیست (Not backwards compatible).
در این بهروزرسانی، «تمامی» کاربران موظف هستند نرمافزارهای خود را آپدیت کنند تا بتوانند در تایید تراکنشها و اعتبارسنجی آنها شرکت کنند. برخلاف هاردفورک که کاربرانی را که نرمافزار خود را آپدیت نکرده بودند، در شبکه نگه میداشت، هاردفورک اینگونه کاربران را از شبکه خارج میکند و نمیتوانند هیچ تراکنشی را تایید یا اعتبارسنجی کنند؛ به عبارت دیگر تمام کاربران شبکه باید تغییر جدید را تایید کنند.
این نوع از فورک یک انشعاب دائمی در شبکه ایجاد میکند و تازمانی که کاربری در انشعاب قبلی حضور داشته باشد، هر دو انشعاب به صورت جداگانه و همزمان وجود خواهند داشت.
هاردفورک زمانی اتفاق میافتد که نودهای ورژن جدید بلاکچین، پروتکلهای قبلی را قبول نداشته باشند. اضافه کردن یک قانون جدید به کد، منجر به ایجاد هاردفورک میشود.
مقایسه هاردفورک و سافت فورک
اساس هاردفورک و سافت فورک یکسان هستند؛ به این معنا که با تغییر در کد بلاکچین در هنگام یک نسخه جدید، یک نسخه قدیمی در شبکه باقی میماند.
زمان وقوع سافت فورک تنها یک بلاکچین معتبر در شبکه باقی میماند، درحالیکه به هنگام وقوع هاردفورک هر دو بلاکچین همزمان در شبکه وجود دارند، یعنی نرمافزار برای استفاده از قوانین جدید باید آپدیت شود.
برای مثال، برای تغییر یک ظرفیت یک بیتکوین از 1 مگابایت به 2 مگابایت، باید هاردفورک ایجاد کنیم، اما اگر بخواهیم ظرفیت آن را 500 کیلوبایت کاهش دهیم، ایجاد یک سافت فورک کافی است.
هر دوی این فورکها شکاف ایجاد میکنند؛ هاردفورک دو زنجیره بلوکی و سافت فورک تها یک زنجیره بلوکی ایجاد میکنند.
همین موضوع موجب ایجاد مسائل امنیتی میشود. به دلیل همین موضوعات امنیتی تقریبا تمامی کاربران و توسعهدهندگان شبکه ترجیح میدهند، انشعاب ایجادشده به هارد فورک منجر شود.
تعمیرات اساسی در بلاکچین به قدرت محاسباتی بسیار زیادی نیاز دارد، اما امنیت بهدست آمده از طریق هارد فورک منطقیتر از استفاده از سافت فورک بهنظر میرسد.
تاثیر هارد فورک بر قیمتهای ارزهای دیجیتال
معمولا فورکهای بزرگ میتوانند تغییراتی عظیمی در سرنوشت و آینده یک ارز دیجیتال ایجاد کنند. فورکها اتفاقات معمولی در دنیای ارزهای دیجیتال هستند. معمولا به هنگام ایجاد یک فورک در ارزهای دیجیتال، قیمت ارز موردنظر سقوط میکند، اما اگر این تغییر در کدها و پروتکلها منجر به بهبود و ارتقا شبکه شوند، فرصت مناسبی برای خرید ارز موردنظر ایجاد میکنند.
مهمترین هاردفورکهای بیتکوین و اتریوم
در حال حاضر بیش از صدها فورک وجود دارد، اما اکثر آنها ناشناس هستند یا از بین رفتهاند. بیتکوین و اتریوم دوتا از مهمترین فورکهایی هستند که تا به امروز به وجود آمدهاند.
“Bitcoin XT”: بیتکوین XT یکی از اولین هارد فورکهای قابل توجه بیت کوین بود. این نرم افزار توسط مایک هرن “Mike Hearn” در اواخر سال 2014 راه اندازی شد تا ویژگیهایی را که او پیشنهاد داده بود، داشته باشد. در حالیکه نسخه قبلی بیتکوین حداکثر هفت تراکنش در ثانیه را پوشش میداد، بیت کوین XT 24 تراکنش در ثانیه را هدف قرار داد. برای رسیدن به این هدف، پیشنهاد افزایش اندازه بلوک از یک مگابایت به هشت مگابایت داده شد.Bitcoin XT در ابتدا با بیش از 1000 نود در اواخر تابستان 2015 نرم افزار خود را اجرا و موفقیت کسب کرد. با اینحال فقط چند ماه بعد، این پروژه توجه کاربران را از دست داد و اساسا توسط کاربران آن رها شد. Bitcoin XT درحال حاضر در دسترس نیست و وبسایت اصلی آن اکنون از بین رفته است.
Bitcoin Classic: هنگامی که Bitcoin XT منسوخ شد، برخی از کاربران همچنان خواستار افزایش ظرفیت بلاکها بودند. در پاسخ به این نیاز، گروهی از توسعه دهندگان Bitcoin Classic را در اوایل سال 2016 راهاندازی کردند. برخلاف XT که تمایل داشت، اندازه بلوک را به هشت مگابایت افزایش دهد، بیتکوین کلاسیک قصد داشت آن را فقط به دو مگابایت افزایش دهد.
مانند Bitcoin XT ، Bitcoin Classic نیز با حدود 2000 نود، برای چندین ماه در طول سال 2016 مورد توجه اولیه کاربران قرار گرفت. این پروژه امروز نیز وجود دارد و برخی از توسعهدهندگان به شدت از Bitcoin Classic پشتیبانی میکنند. با این وجود به نظر میرسد جامعه ارزهای دیجیتال بزرگتر به گزینههای دیگر روی آوردهاند.
Bitcoin Unlimited :Bitcoin Unlimited از زمان انتشار در اوایل سال 2016 تاکنون، به عنوان چیزی شبیه به یک معما باقی مانده است. توسعهدهندگان این پروژه کدی را منتشر کردند اما مشخص نکردند که چه نوعی از فورک برای این کد موردنیاز است. Bitcoin Unlimited با اختیار دادن به ماینرها برای تصمیمگیری درباره سایز بلاک، درحالیکه نودها و ماینرها سایزهای انتخابی خود را تا 16 مگابایت محدود کرده بودند، خود را متمایز کرد. علیرغم برخی از توجههای طولانی مدت، بیتکوین نامحدود تا حد زیادی موفق به کسب مقبولیت نشده است.
Segregated Witness: پیتر وولی “Pieter Wuille”، توسعهدهنده “Bitcoin Core”، ایده تفکیکشده (SegWit) را در اواخر سال 2015 ارائه داد. به زبان ساده، SegWit قصد دارد اندازه هر معامله بیت کوین را کاهش دهد، در نتیجه اجازه میدهد تا معاملات بیشتری به یکباره انجام شود. SegWit از نظر فنی یک سافتفورک بود.
Bitcoin Cash: در پاسخ به SegWit ، برخی از توسعهدهندگان و کاربران بیتکوین تصمیم گرفتند که برای جلوگیری از بهروزرسانی پروتکل ایجادشده، یک هارد فورک جدید را شروع کنند. بیت کوین کش نتیجه این هاردفورک بود. در آگوست 2017، وقتی کیف پولهای Bitcoin Cash معاملات و بلاکهای بیتکوین را رد کردند، از بلاکچین اصلی جدا شد.
بیت کوین کش همچنان موفقترین هارد فورک از رمزارز اولیه است. از ژوئن 2021، یازدهمین ارز دیجیتال محبوب از نظر سقف بازار است که بخشی از آن به دلیل حمایت بسیاری از چهرههای برجسته در جامعه ارزهای رمزنگاریشده و بسیاری از مبادلاتِ رایج، است.
Bitcoin Gold :Bitcoin Gold یک هارد فورک بود که اندکی پس از بیت کوین کش، در اکتبر 2017 ایجاد شد. هدف سازندگان این هارد فورک بازگرداندن قابلیت استخراج با واحدهای پردازش گرافیکی اساسی (GPU) بود، زیرا احساس میکردند ماینینگ از نظر تجهیزات و سختافزارهای مورد نیاز بیش از حد تخصصی شده است. یکی از ویژگیهای منحصر بهفرد Bitcoin Gold قابلیت «پیش استخراجی» بود، فرایندی که در طی آن تیم توسعهدهنده نزدیک به 100.000 سکه، پس از ایجاد این هارد فورک، استخراج کردند. بسیاری از این کوینها در «وقف» ویژهای قرار گرفتند و توسعهدهندگان نشان دادند که این موقوفه برای رشد و تأمین مالی اکوسیستم بیت کوین گلد استفاده خواهد شد. همچنین بخشی از این کوینها به عنوان پرداختی برای توسعهدهندگان نیز در نظر گرفته میشوند.
به طور کلی، Bitcoin Gold به بسیاری از اصول اساسی بیت کوین پایبند است. با این حال، از نظر الگوریتم اثبات کار (PoW) متفاوت است.
SegWit2x: هنگامیکه SegWit در آگوست 2017 اجرا شد، توسعهدهندگان نسخه دومی برای به روزرسانی این نرمافزار ارائه کردند. این افزونه، به نام ”SegWit2x”، باعث ایجاد یک هارد فورک با ظرفیت دو مگابایت شد. قرار بود SegWit2x به عنوان یک هارد فورک در نوامبر 2017 اجرا شود. با این حال، تعدادی از شرکتها و افراد جامعه بیت کوین که در ابتدا از پروتکل SegWit پشتیبانی میکردند، تصمیم گرفتند که از نسخه دوم خارج شوند. تا حدی، واکنش شدید در برابر SegWit2x شامل انتخاب «حفاظت از پخش» بود. این میتواند تأثیر عمدهای در انواع معاملات که فورک جدید را پذیرفته است، داشته باشد.
در تاریخ 8 نوامبر 2017، تیم پشتیبان SegWit2x اعلام کرد که هارد فورک برنامهریزی شده آنها به دلیل اختلافات بین طرفداران پروژه قبلی لغو شده است.
Ethereum Classic: داستان Ethereum Classic با “DAO” شروع شد. یکی از برجستهترین پروژههای اتریوم ، DAO که مخفف «سازمان مستقل توزیع شده» است، 150 میلیون دلار اتر در خلال ازدحام عمومی جمع کرد. در اصل DAO به گونهای طراحی شد که به عنوان شکلی از صندوق سرمایهگذاری خطرپذیر غیرمتمرکز فعالیت کند. سرمایهگذاران، اتر را برای دریافت حق رأی به DAO میفرستادند، پس از آن کسانی که سرمایهگذاری کرده بودند، به طور دموکراتیک تصمیم میگرفتند که کدام پروژهها DAO باید آن وجوه را پخش کند. سرانجام، DAO نتوانست چشمانداز خود را کامل کند. پروژه هک شد و میلیونها اتر از بین رفتند.
در پی این حمله، جامعه اتریوم به پیشنهادی بحثبرانگیز رای دادند که کد پایه اتریوم را برای بازیابی وجوه از دست رفته و بازپرداخت سرمایهگذاران، تغییر میداد. اکثریت به این پیشنهاد رأی مثبت دادند که به نوبه خود یک هارد فورک و دو بلاکچین جداگانه ایجاد کرد.
در حالیکه اتریوم ، اقدام به معرفی تغییر و بازپرداخت سرمایهگذاران کرد، یک تیم اصلی از توسعهدهندگان باقی ماندند تا از بلاکچین اصلی اتریوم پشتیبانی کنند. این پلتفرم که امروزه با نام “Ethereum Classic” (ETC) شناخته میشود، از یک جامعه فعال توسعه و تجارت برخوردار است و از پیشرفتهای جدید متمایز از بلاکچین اصلی Ethereum (ETH) پشتیبانی میکند.
Expanse :Expanse (EXP) که خود را بهعنوان دومین هارد فورک اتریوم معرفی میکند، یک پایگاه اطلاعات رمزگذاری شده غیرمتمرکز، برنامه و بستر قرارداد براساس پایگاه کد اتریوم است.
Expanse بهجای ورود به عنوان یک “ICO”، به عنوان یک هارد فورک اتریوم وارد شد. وظیفه Expanse این است که برنامههایی را با استفاده از DAO اختصاصی خود، در طرحی با بودجه اختصاص دهد که به دارندگان، شرکا و سرمایهگذاران آن پاداش دهد. اصولا، Expanse برای سازماندهی، مدیریت و اداره از طریق یک سازمان غیرمتمرکز، با هدف توزیع عادلانه، کنترل دموکراتیک و مدیریت جامعه فورک Fork چیست طراحی شده است. “Expanse’s DAO” پروژههای توسعه جدید را قادر میسازد تا براساس نظر جمعی، به عنوان یادآوری هدف برای DAO شکست خورده اتریوم ، نامزد شوند، به آنها رأی داده شود و به اجرا درآیند. باطن Expanse براساس سرویسگیرنده “Ethereum Go client” است و به همین ترتیب از طریق کارتهای “GPU” قابل استخراج است.
Quorum :Quorum که خود را به عنوان «نسخه متشکل از برنامه» اتریوم معرفی میکند، یک پلتفرم بلاکچین مجاز است که برای پردازش با سرعت و کارایی بالا در معاملات خصوصی، طراحی شده است. کمی واضحتر، Quorum، یک «فورک خصوصی از اتریوم» است؛ زیرا پایگاه کد پروژه در ابتدا روی پلتفرم دیجیتال منبع باز دوم بود. در حال حاضر Quorum در یک ابتکار منبع باز توسط “JPMorgan Chase” یکی از بزرگترین بانکهای سرمایهگذاری در جهان در حال توسعه است. Quorum برای تسهیل عملکردهای بخش خصوصی و دولتی، به ویژه در محدوده مشتقات و پرداختها، طراحی شده است. برخلاف اتریوم، Quorum بهطور خاص عمومی نیست. این پلتفرم برای محافظت از حریم خصوصی طرفهایی که ترجیح می دهند هویت خود و نه جزئیات معاملات خود را، برای عموم افشا نکنند، از مدارک «دانش صفر» استفاده میکند.
Quorum که برای تبدیل شدن به «استاندارد وال استریت» طراحی شده بود، برای پاکسازی، تسویه حساب و پرداختهای مرزی استفاده میشد و به شرکتکنندگان، هم حریم خصوصی و هم کارآیی یک بستر مبتنی بر بلاکچین را، ارائه میکرد.
شایعات حاکی از آن است که JPMorgan Chase ممکن است Quorum را به تنهایی به جای یک طرح توسعه، به یک شرکت “gestalt” منتقل کند.
هارد فورک چیست؟ چه تفاوتی با سافت فورک دارد؟
فورک به اصلاح و به روزرسانی یک نرم افزار گفته میشود که منشا آن پروژه های برنامه نویسی است. در واقع می توان فورک را راهحلی دانست که در نرم افزارهای ارزهای دیجیتال در بستر بلاکچین به کمک برنامه نویسان میآید.
برنامه نویسان با ایجاد تغییراتی در کد منبع یک پروژه، به تولید برنامه ای جدید از دل برنامه قبلی اقدام می کنند و در واقع از آن برنامه قبلی انشعاب می گیرند. یک فورک جایی رخ می دهد که نرم افزار کپی و اصلاح می شود.
فورک ممکن است توسط توسعه دهندگان یا اعضای یک انجمن رمزنگاری که از عملکردهای ارائه شده توسط بلاکچین موجود ناراضی هستند ، انجام شود.
فورک ها چگونه کار می کنند ؟
یک فورک در یک بلاکچین می تواند در هر سیستم عامل رمزنگاری وجود داشته باشد. این بدان دلیل است که بلاکچین ها و ارزهای رمزپایه در هر پلتفرم رمزنگاری که حضور داشته باشند ، به یک شیوه کار می کنند.
ممکن است شما بلاک های موجود در زنجیره های بلاکی را به عنوان کلیدهای رمزنگاری در نظر بگیرید. ماینرهای موجود در بلاکچین قوانینی را تنظیم می کنند که حافظه را در شبکه به حرکت در می آورد.
با این حال ، همه ماینرها باید در مورد قوانین جدید و آنچه که یک بلاک معتبر را در زنجیره تشکیل می دهد ، توافق کنند. بنابراین هنگامی که می خواهید این قوانین را تغییر دهید ، باید آن را به اصطلاح فورک کنید.
سپس توسعه دهندگان می توانند تمام نرم افزارها را به روز کنند تا قوانین جدید را منعکس کنند. از طریق این روند انشعاب است که ارزهای دیجیتال مختلف با نام های مشابه بیت کوین مانند بیت کوین کش به وجود آمده است.
هارد فورک چیست؟
هارد فورک (Hard Fork) یک تغییر اساسی در پروتکل شبکه ارز دیجیتال است که باعث می شود بلاک ها و تراکنش های نامعتبر قبلی ، معتبر شوند(یا بالعکس). یک هارد فورک به ارتقا و به روز رسانی همه گره ها به آخرین نسخه از نرم افزار پروتکل ، نیاز دارد.
در طی فرایند هارد فورک ، تغییرات اساسی در شبکه بلاکچین ارز دیجیتال ایجاد می شود که این تغییرات در شبکه قبلی پشتیبانی نمی شود. یعنی نودها قوانین جدیدی را اضافه میکنند که با قوانین نودهای قدیمی مغایرت داشته باشد.
در نتیجه برای انجام این تغییرات، نیاز است که یک ارز جدید در همان شبکه ایجاد شود تا از تغییرات جدید پشتیبانی کند. به طور کلی در دنیای ارزهای دیجیتال ، هر تغییری که منجر به از بین رفتن قوانین قبلی شود و بجای آن کد جدیدی استفاده شود، هارد فورک نامیده میشود.
دلایل اجرای هارد فورک
چند دلیل عمده وجود دارد که توسعه دهندگان ممکن است یک هارد فورک را اجرا کنند. این دلایل عبارتند از : اصلاح خطرات امنیتی مهم در نسخه های قدیمی نرم افزار ، اضافه کردن عملکردهای جدید و معکوس کردن معاملات.
به عوان مثال می توان به زمانی که بلاکچین اتریوم یک هارد فورک را برای معکوس کردن اجرا کرد، اشاره کرد. همچنین پس از هک سازمان خودگردان غیرمتمرکز (DAO) ، هارد فورک به دارندگان توکن DAO کمک کرد تا بودجه توکن های اتر (ETH) خود را پس بگیرند.
سافت فورک چیست؟
سافت فورک (Soft Fork) تغییری در پروتکل شبکه ارز دیجیتال است که در آن فقط بلاک ها یا تراکنش های معتبر قبلی اعتبار خود را از دست میدهند. در واقع سافت فورک یک بروزرسانی در نرم افزار بوده که با نسخه های قدیمی هم سازگار است.
در سافت فورک نودهای ارتقا یافته هنوز هم میتوانند با نودهایی که به روز رسانی نشده اند ، ارتباط برقرار کنند. از آنجا که نودهای قدیمی اعتبار بلاک های جدید را تصدیق می کنند، در سافت فورک تغییرات اعمال شده با نسخه های قبلی سازگار است.
آنچه معمولاً در سافت فورک شاهدش هستیم ، افزودن قوانین جدیدی است که با قوانین قدیمی مغایرتی ندارد. اجرای سافت فورک نسبت هارد فورک آسانتر بوده ، چرا که تنها نیاز است اکثریت شرکت کنندگان نرم افزار خود را آپدیت کنند.
هارد فورک در مقابل سافت فورک
هارد فورک ها و سافت فورک ها اساساً یکسان هستند به این معنا که وقتی هنگام ایجاد نسخه جدید کد موجود در یک پلتفرم رمزنگاری تغییر می کند ، یک نسخه قدیمی در شبکه باقی می ماند.
اگر از سافت فورک استفاده شود، تغییرات اعمال شده با نسخه های قبلی سازگار است. در حالی که در هارد فورک، تغییرات اعمال شده با نسخه های قبلی سازگار نیست.
در هارد فورکها آزادی زیادی برای اصلاح نرمافزار فراهم می شود. اما سافت فورک ها گزینههای محدوتری هستند، زیرا تغییرات جدید نمیتوانند با قوانین قدیمی مغایرتی داشته باشند.
با توجه فورک Fork چیست به تفاوت در امنیت بین هارد فورک و سافت فورک، تقریباً اغلب کاربران و توسعه دهندگان ، به هارد فورک علاقه بیشتری دارند. حریم خصوصی حاصل شده از یک هارد فورک بسیار قابل اعتمادتر از سافت فورک است.
همچنین باید بدانید هارد فورک دو زنجیره بلاکی ایجاد میکند، اما در استفاده از سافت فورک تنها یک زنجیره بلاکی به عنوان نتایج دریافت میشود.
سخن پایانی
مانند هر بحث دیگری در حوزه رمزنگاری ، بحث های ضد و نقیض زیادی راجع به هاردفورک ها و اجرای آنها از سوی سرمایه گذاران وجود دارد. این موضوع موجب بدبینی جامعه نسبت به چنین پروژه هایی میشود. از سوی دیگر نتایج مثبتی که برخی از این پروژه ها در پیشرفت شبکه ها داشته اند ، اعتماد بسیاری از افراد را به خود جلب کرده است.
هارد فورکها و سافت فورکها امکان یکپارچهسازی ویژگیهای جدید در بلاکچین ها و ارزهای دیجیتال را فراهم می کنند. بدون این دو ، ما به یک سیستم متمرکز و با کنترل بالا به پایین نیاز داریم.
مهندس بختیار آهنی
بختیار آهنی کارشناسی ارشد هوش مصنوعی، ۱۸ سال سابقه برنامه نویسی، هم بنیان گذار کریپتوتانگ و مدیرمسئول پایگاه تحلیلی کارآفرینان کردستان است.
۵ سال هست که تمام تمرکز خود را روی بازار رمزارزها گذاشتم و در حال توسعه کریپتوتانگ و ساخت یک پلتفرم تخصصی برای ارزیابی پروژه های رمزارزی هستم.
فورک Fork چیست
در این مقاله، ما به بررسی نحوه به روزرسانی و ارتقا شبکههای بلاک چین خواهیم پرداخت. برای انجام این کار، از دو مکانیزم مختلف استفاده میشود: هارد فورک (hard fork) و فورک Fork چیست سافت فورک (soft fork).
هنگامی که از شما خواسته میشود یکی از برنامه های گوشی هوشمند خود را به روز رسانی کنید، احتمالا چگونگی انجام این کار برای شما اهمیتی نداشته باشد. یا اینکه ممکن است موبایل شما، بدون اینکه شما متوجه بشوید، به صورت اتوماتیک این به روزرسانی را انجام دهد.
با این حال انجام به روزرسانی ها برای گوشی هوشمند شما ضروری است. به این خاطر که اگر آخرین نسخه نرمافزار را نصب نکنید، در معرض خطر عدم دسترسی به خدمات آن قرار خواهید گرفت.
در ارزهای رمزنگاری شده منبع باز (open source)، همه چیز بسیار متفاوت است. در این فضا هیچ سلسله مراتبی وجود ندارد و هیچ بانکی نیست که بتواند به روز رسانی ها را انجام دهد و به دلخواه تغییرات جدیدی را ایجاد کند. در نتیجه، اضافه کردن و اجرای ویژگیهای جدید میتواند چالشی بزرگ در شبکه بلاک چین باشد.
چه کسی در یک شبکه بلاک چین تصمیمگیری میکند؟
برای درک نحوه کار فورک ها، ابتدا مهم است که شرکت کنندگان درگیر در فرآیند تصمیمگیری (یا حاکمیت) شبکه را درک کنیم.
در بیت کوین، به طورکلی سه دسته از کاربران شامل توسعه دهندگان (developers)، ماینرها (miners) و کاربران کامل (full node)، وجود دارد.
در این بین کاربران دیگری مثل نود های سبک وزن (light node) هم وجود دارند که از نود های بلاکچین هستند و از شبکه بیت کوین استفاده میکنند. اما یک کاربر کامل یا full node به شمار نمیروند. در واقع این نودها به دادههای تأییدشده به دست فول نودها اعتماد میکنند و از آنها بهره میبرند. کیف پول های دیجیتالی ارزهای رمزنگاری شده، نمونه ای از نودهای سبک وزن هستند.
توسعه دهندگان (developers)
توسعه دهندگان (developers)، مسئول ایجاد و به روز رسانی کدها در شبکه بلاک چین هستند.
ماینرها (miners)
ماینرها کسانی هستند که به امن تر شدن شبکه بلاک چین کمک میکنند. آنها کد ارزهای رمزنگاری شده را اجرا میکنند و منابع موردنیاز برای اضافه کردن بلاکهای جدید به بلاک چین را فراهم میکنند.
برای مثال در شبکه بیت کوین، آنها این کار را از طریق اجرای الگوریتم اثبات کار (POW) انجام میدهند و در مقابل به ازای هر بلاک اضافه شده به بلاک چین پاداشی را دریافت میکنند.
کاربران کامل (full node)
کابران کامل را میتوان به عنوان ستون اصلی شبکه ارزهای رمزنگاری شده درنظر گرفت. آنها بلاک ها و تراکنش ها را تایید، ارسال و دریافت میکنند و یک کپی از اطلاعات موجود در بلاک چین را ذخیره و نگهداری میکنند.
اغلب در این دستهبندیها هم پوشانی مشاهده میشود. به عنوان مثال، شما میتوانید یک توسعه دهنده و یک کاربر کامل، یا یک ماینر و کاربر کامل باشید.
به عنوان یک کاربر در شبکه شما میتوانید در هر سه دسته گفته شده قرار بگیرید و یا حتی در هیچ کدام.
در واقع، تعداد زیادی از افرادی که ما آن ها را به عنوان کاربران شبکه ارزهای رمزنگاری شده در نظر میگیریم، در هیچ یک از این دسته بندی ها قرار نمیگیرند. در عوض، آنها استفاده از نودهای سبک (light node) یا خدمات متمرکز را انتخاب میکنند.
با توجه به توضیحاتی که داده شد، در واقع ماینرها و توسعه دهندگان نقش بسیار زیادی در ایجاد تغییرات در شبکه بلاک چین دارند. توسعه دهندگان مسئول ایجاد کدهای جدید در شبکه هستند، بدون آنها، شما هیچ نرمافزاری برای اجرا ندارید و هیچکس برای رفع اشکالات موجود یا اضافه کردن ویژگیهای جدید وجود ندارد.
از طرف دیگر، ماینرها با فعالیت خود شبکه را امن میکنند. شبکه بدون وجود رقابتی سالم در بین ماینرها، به سادگی قابل هک و یا به طور کلی قابل متوقف شدن است.
با این حال، این به این معنا نیست که این دو دسته، میتوانند کنترل بیشتری برای ایجاد قوانین جدید یا به روزرسانی نرم افزار شبکه داشته باشند و پذیرفتن این قوانین جدید توسط کاربران دیگر شبکه هم الزامی است.
فورک چیست؟
هارد فورک (Hard Fork)، سافت فورک (Soft Fork)
به طور ساده، فورک در واقع به معنی به روزرسانی و یا ایجاد یک شبکه بلاک چین جدید است. زمانی که کاربران یا برنامه نویسان شبکه بلاک چین، از شرایط یا قوانین یک ارز دیجیتال ناراضی باشند و یا اینکه آن شبکه با مشکلاتی مواجه شده باشد که برطرف کردن آن ها ضروری باشد، راه حلی به نام فورک پیش روی این افراد است.
واژه فورک یا انشعاب از پروژههای برنامهنویسی ریشه گرفته است. در حقیقت با کپی کد منبع یک پروژه و ایجاد تغییراتی در آن، برنامهای جدید از دل برنامه قبلی بیرون میآید. درنتیجه فورک در حوزه ارزهای دیجیتال نیز با مفهومی یکسان و با برخی ویژگی های خود به کار میرود.
انواع فورک ها؛ هارد فورک (hard fork) در مقابل سافت فورک (soft fork)
هارد فورک و سافت فورک چیست؟
با وجودی که این دو روش نام های تقریبا مشابه و هدف یکسانی دارند اما تفاوت های بسیار زیادی بین این دو روش وجود دارد. در ادامه به توضیح این تفاوت ها خواهیم پرداخت.
هارد فورک چیست؟
هارد فورک، نسخه به روزرسانی شده نرم افزاری است که با نسخه قبلی آن ناسازگار است. معمولا، این مورد زمانی رخ میدهد که قوانین جدید به روشی اضافه میشوند که با قوانین نودهای قدیمی در تضاد باشد. نودهای جدید تنها میتوانند با نودهایی ارتباط برقرار کنند که نسخه جدید را اجرا میکنند. در نتیجه، بلاک چین به دو شبکه جداگانه تبدیل میشود؛ یکی با قوانین قدیمی و دیگری با قوانین جدید.
به عنوان مثال، در هارد فورک سال ۲۰۱۷، بیت کوین به دو زنجیره جداگانه بیت کوین (BTC) به عنوان زنجیره اصلی و بیت کوین کش (BCH) به عنوان زنجیره جدید، تقسیم شد.
این هاردفورک بعد از بحث زیاد در مورد بهترین روش برای مقیاس گذاری (Scaling) شبکه بیت کوین رخ داد. طرفداران بیت کوین کش میخواستند مقیاسپذیری بیت کوین را با سایز بلاک از ۱ مگابایت به ۸ مگابایت افزایش دهند. این کار باعث شد که شبکه بتواند تراکنشهای بیشتری را پردازش کند، کارمزد شبکه کاهش پیدا کرده و همچنین تنگنای شبکهی بیتکوین با افزایش استفاده از آن بهبود داده شده است.
انواع هارد فورک
هاردفورک بحث برانگیز به علت وجود اختلاف بین اعضای شبکه بلاک چین رخ میدهد و موجب میشود بخشی از اعضای شبکه، زنجیره جدیدی که به نظر خودشان بهتر است را با تغییرات عمده ای در کد نرم افزار شبکه، ایجاد کنند. هارد فورک بیت کوین کش و اتریوم کلاسیک مثال هایی از این نوع هاردفورک هستند.
در هارد فورک برنامه ریزی شده، اعضای شبکه با یکدیگر در ایجاد یک هارد فورک، توافق میکنند. در اینصورت پس از هاردفورک هیچ شکافی در شبکه ایجاد نخواهد شد زیرا تمامی نودها برای به روز رسانی کردن نرم افزار خود به نسخه جدید توافق کردهاند.
هاردفورک های موجود در نقشه راه اتریوم از این نوع هستند. به عتوان مثال هاردفورک هوماستد (homestead hard fork)، اولین نسخه پایدار از اتریوم است که در تاریخ ۱۰ مارس ۲۰۱۶ روی بلاک شماره ۱.۱۵۰.۰۰۰ پیادهسازی شد. در هارد فورک هوماستد تضمین شد که شبکه اتریوم واقعا امن است و یکسری بهروزرسانیهای کلی روی آن اعمال شد.
سافت فورک چیست؟
سافت فورک نسخه به روزرسانی شده نرم افزاری است که با نسخه قبلی آن سازگار است، به این معنی که نودهای ارتقا یافته هنوز هم میتوانند با نودهای ارتقا نیافته ارتباط برقرار کنند. چیزی که شما به طور معمول در یک سافت فورک میبینید، اضافه کردن یک قانون جدید است که با قوانین قدیمیتر در تضاد نیست.
برتری سافت فورک نسبت به هارد فورک
اجرای سافت فورک به نسبت هاردفورک، آسان تر است؛ به این دلیل که تنها نیازمند این است که اکثریت کاربران شبکه نرم افزار خود را به روزرسانی کنند. همهی شرکتکنندگان چه نرمافزار خود را آپدیت کرده و چه نکرده باشند، میتوانند بلاکهای چدید را تشخیص دهند و فعالیتهایشان با شبکه سازگار است.
برای مثال در یک سافت فورک که سایز بلاک ها از مقدار بیشتری مثلا ۱ مگابایت به ۸۰۰ کیلوبایت تغییر پیدا کرده است، نودهایی که نرم افزار خود را به روز رسانی نکرده اند همچنان میتوانند تراکنش های جدید را ببینند. اما مشکل زمانی رخ خواهد داد که، ماینری که نرم افزار خود را به روز نکرده است، بخواهد بلاک جدیدی را به بلاک چین اضافه کند. درنتیجه بلاک او رد خواهد شد.
در واقع سافت فورک یک روند تدریجی در ارتقاء و به روزرسانی نرم افزار شبکه را نشان میدهد؛ به این صورت که افرادی که هنوز نرم افزار خود را به روزرسانی نکرده اند، به مرور زمان و با محدود تر شدن قابلیت هایشان به انجام این کار ترغیب شوند.
سخن پایانی
وجود هاردفورک ها و سافت فورک ها برای بقای طولانی مدت شبکه بلاک چین بسیار ضروری هستند. آنها به ما اجازه می دهند، علی رغم عدم وجود یک مرجع مرکزی، در یک سیستم غیرمتمرکز، بتوانیم در این سیستم تغییراتی ایجاد کنیم یا آن را ارتقا دهیم.
فورک (Fork) در شبکه بلاکچین چیست؟
در یک شبکه بلاکچین غیرمتمرکز (مانند بیت کوین و اتریوم) مشارکت کنندگان شبکه بایستی در محیط اشتراکی بلاکچین (تراز حسابها، بلاک ها، پروتکل بلاکچین) به یک توافق برسند. اتحاد و اجماع نظر در بین نودهای شبکه منجر به یک بلاکچین واحد شده که شامل داده ها و تراکنش های معتبر است و شبکه ادعای صحت داده های آن را دارد. گر چه بسیاری از اوقات، نودها در شبکه نمی توانند درمورد آینده شبکه بلاکچین به یک نظر واحد برسند. این اتفاق موجب ایجاد حالتی مانند چنگال(فورک) می شود که طی آن زنجیره واحد بلاکها به دو یا چند زنجیره بلاک تقسیم می شود و همگی آن زنجیره ها معتبر هستند.
این اتفاق ممکن است منجر به سه نوع فورک شود که می تواند بر اساس سازگاری با گذشته (backwards-compatibility) پروتکل بلاکچین و در لحظه ای که یک بلاک جدید استخراج می شود اتفاق بیفتد. انواع این سه نوع فورک به شرح زیر می باشد:
1-سافت فورک (Soft Fork): زمانیکه پروتکل بلاکچین بصورت سازگار با گذشته (backwards-compatibility) تغییر می کند.
2-هارد فورک (Hard Fork): زمانیکه پروتکل بلاکچین بصورت ناسازگار با گذشته تغییر می کند.
3-فورک موقت (Temporary Fork): زمانیکه دو ماینر بصورت همزمان یک بلاک جدید را استخراج می کنند.
حال به بررسی هر یک از فورک ها می پردازیم.
سافت فورک
زمانیکه در نرم افزار یک نود کامل، تغییراتی رخ می دهد تا نود بتواند بعنوان یک عضو شبکه فعالیت کند. در این حالت، یک بلاک جدید ایجاد شده که قوانین جدیدی (در پروتکل بلاکچین) بر آن حاکم است. این بلاک جدید در نرم افزار ورژن قدیمی نیز معتبر محسوب می شود. این ویژگی را “سازگار با گذشته” می نامند.
برای مثال آپدیت نرم افزار SegWit در شبکه بیت کوین، کلاس جدیدی از آدرس(Bech32) را به شبکه اضافه کرد. با این حال آدرس های موجود (P2SH) باطل نشدند. یک نود کامل با آدرس نوع P2SH می تواند با نودی که دارای آدرس نوع Bech32 است یک تراکنش معتبر انجام دهد.
هارد فورک
زمانیکه در نرم افزار یک نود کامل، تغییراتی رخ می دهد تا نود بتواند بعنوان یک عضو شبکه فعالیت کند این تغییر مانند بلاک های جدیدی هستند که بر پایه قوانین جدید استخراج شده اند. اما بلاک های جدید در نرم افزار ورژن قدیمی معتبر نیستند. زمانیکه هارد فورک اتفاق می افتد یک ارز جدید متولد می شود در حالیکه ارز اصلی همچنان پا بر جا و معتبر است. از این نمونه می توان به اتریوم بعنوان ارز اصلی و اتریوم کلاسیک بعنوان ارز جدید اشاره کرد. همچنین بیت کوین و بیت کوین کش از این نمونه هستند. در زمانیکه هارد فورک رخ می دهد مقدار برابری از ارز در بین نودهای کاملی که نرم افزارشان را آپدیت می کنند توزیع می شود. معمولا هارد فورک ها موجب ایجاد تضاد در اجتماع شبکه می شوند.
تصمیم نهایی جهت پیوستن به یک زنجیره خاص با نود است. اگر نود تصمیم بگیرد به زنجیره جدید بپیوندد باید نرم افزار خود را ارتقاء دهد تا تراکنش های جدیدتر معتبر محسوب شوند.
برای مثال آپدیت نرم افزار جدید بلاکچین اتریوم موجب می شود پروتکل آن از نوع تاییدیه کار (PoW) به تاییدیه استیک (PoS) تغییر کند. نودهایی که آپدیت جدید را نصب کنند از پروتکل جدید استفاده خواهند کرد. بنابراین نودهایی که تصمیم به ادامه کار با نرم افزار قبلی گرفته اند با نودهایی که آپدیت شده اند ناسازگار خواهند بود.
فورک موقت یا تصادفی
زمانیکه چندین ماینر یک بلاک جدید را در زمان تقریبا یکسانی استخراج می کنند ممکن است کل شبکه در مورد بلاک جدید به توافق نرسند. برخی ها بلاک استخراج شده توسط یک ماینر را می پذیرند که موجب می شود یک زنجیره بلاک متفاوت از قبل ایجاد شود. در حالیکه سایرین بر روی بلاک های دیگر توافق می کنند. علت ایجاد چنین شرایطی، این است که اندکی زمان لازم است تا اطلاعات در کل شبکه بلاکچین منتشر شود و در این مدت زمان کوتاه، بین نودها تضادهایی در مورد ترتیب سلسه وقایع رخ می دهد.
فورک های موقت بصورت اتوماتیک رفع می شوند و در نهایت یکی از زنجیره ها از بین می رود و در اصطلاح اورفان می شود(درباره بلاک اورفان می توانید این مقاله را مطالعه کنید). زیرا اغلب نودهای کامل، زنجیره دیگر را برای اضافه کردن بلاک جدید انتخاب می کنند. فورک های موقت به ندرت اتفاق می افتند و علت آنها استخراج یک بلاک جدید توسط دو یا چند ماینر بصورت همزمان می باشد.
دلایل ایجاد یک فورک در بلاکچین
اضافه شدن یک قابلیت جدید: کد بلاکچین بصورت منظم ارتقاء می یابد. از آنجاکه اغلب بلاکچین های عمومی بصورت سورس باز هستند افراد در نقاط مختلف دنیا آن را توسعه می دهند. با این توسعه ها مشکلات جدیدی ایجاد و حل می شوند. سپس در زمان مناسب ورژن جدید ارائه می شود.
ارتقاء امنیت: بلاکچین و در راس آن ارز دیجیتال در مقایسه با ارز رایج، موضوع نسبتا جدیدی است و هنوز برای درک کامل آن تحقیقات زیادی انجام می شود. بنابراین جهت حل مشکلات امنیتی ورژن ها دایما آپدیت می شوند.
ذخیره تراکنش ها: اگر روزنه ای در شبکه پیدا شود ممکن است برای تمام تراکنش های یک دوره زمانی خاص مشکل ایجاد شود.
اگر این مطلب براتون مفید بود امتیاز بدین!
برای امتیاز روی ستاره ها کلیک کنید
امتیاز 1 / 5. تعداد آرا 1
شما اولین نفری هستید که به این پست امتیاز میدین!
قیمت گذاری سهام با مدل رشد گوردن (Gordon)
جفت ارزهای اصلی، فرعی و نامتعارف
ساسان پرهون
کارشناسی حسابداری- دارای گواهینامه های حرفه ای سازمان بورس- پنج سال سابقه فعالیت در کارگزاری بورس با سمت معامله گر کالا و اوراق بهادار
دیدگاه شما