بلاکچینها ساختارهای خاصی برای ذخیره تراکنشها هستند که توسط نه یک نهاد مرکزی بلکه اعضای شبکه یا همان نودها مدیریت میشوند. زمانی که یک پلتفرم متمرکز دچار یک تغییر بزرگ میشود، تمام کاربران آن ملزم به پذیرش تغییرات اعمال شده میباشند. اما در دنیای بلاکچین، برای آن که یک تغییر بزرگ اعمال شود، باید توسط تمام اعضای شبکه مورد پذیرش واقع شود. اگر این تغییر توسط گروهی از نودها مورد پذیرش قرار نگیرد، یک شاخه جدید از زنجیره تشکیل میشود که به آن هاردفورک میگویند.
فورک کردن یا شاخه کردن یک مفهوم رایج در دنیای برنامه نویسی میباشد. به بیان ساده، به فرایند کپی کردن کدهای یک پروژه منبعباز (open-source) و ایجاد تغییرات در آن، فورک یا شاخه میگویند. فورکها با اهداف مختلفی صورت میگیرند. بعضی از آنها به قصد بهبود پروژه و ایجاد امکانات جدید ایجاد میشوند. بعضی دیگر به منظور آزمایش و تست صورت میگیرند. بسیاری از فورکها نیز ممکن است به دلیل اختلاف نظر تیم توسعهدهنده و یا اعضای جامعه انجام شوند.
فرایند فورک در دنیای بلاکچین و رمزارزها نیز یک فرایند رایج میباشد و از زمان خلق بیتکوین در سال 2009 تاکنون بارها و بارها رخ داده است.
با توجه به سطح تغییراتی که در کد ابتدایی پروژه اعمال میشوند، فورکها به دو دسته هاردفورک (سختشاخه) و سافتفورک (نرمشاخه) تقسیم میشوند.
در این ادامه این مقاله به طور اختصاصی به تعریف هاردفورک، انواع و نمونههای معروف آن و تفاوتهای آن با سافتفورک میپردازیم.
بیشتر بخوانید: فورک چیست؟
اگر تغییرات اعمال شده در کد منجر به تفاوتهای اساسی با نسخه اصلی شود، به گونهای که نسخه جدید با نسخه قبلی ناسازگار شود، یک هاردفورک یا سختشاخه ایجاد شده است. منظور از تفاوتهای اساسی، تغییرات در قوانین و پروتکلهای اصلی یک نرمافزار میباشد.
زمانی که این تغییرات به وجود میآیند، نودهای نسخه اصلی نمیتوانند تراکنشهای نسخه جدید را تایید کنند و برای تایید تراکنشهای نسخه جدید نیز نودها باید نرمافزار خود را متناسب با آن ارتقا داده و از قوانین جدید پیروی کنند. به بیان سادهتر، هاردفورک منجر به ایجاد یک زنجیره جدید و مجزا میشود.
البته اگر صد در صد نودهای شبکه از قوانین جدید پیروی کنند، زنجیره جداگانهای شکل نمیگیرد و بلاکچین تنها یک ارتقا را تجربه خواهد کرد.
همانطور که پیشتر نیز به آن اشاره نمودیم، هاردفورکها ممکن است به دلایل مختلفی ایجاد شوند. در این قسمت از مقاله، ما هاردفورکها را بر اساس دلیل پیدایش آنها به انواع مختلفی دستهبندی میکنیم.
یکی از مهمترین انواع هاردفورکها، هاردفورکهایی میباشند که به منظور بهبود ویژگیهای یک بلاکچین یا پیادهسازی ویژگیهای جدید ایجاد شدهاند. ممکن است یک بلاکچین با وجود ویژگیهای مثبتی که دارد و خدماتی که ارائه میدهد، دچار کمبودها و ضعفهایی نیز باشد. بسیاری از مهندسان و توسعهدهندگان ممکن است بر آن شوند که برای رفع این کمبودها و یا بهبود ویژگیها دست به ایجاد تغییرات در کدبیس بلاکچین و در نتیجه ایجاد یک هاردفورک بزنند.
ممکن است در جامعه و یا تیم توسعهدهنده یک رمزارز یا بلاکچین، در مورد جهت پروژه یا تغییراتی که قرار است اجرا شوند، اختلاف نظر به وجود بیاید. این اختلاف نظرات میتوانند منجر به ایجاد شاخه شوند، به طوری که گروهی از نودها به اجرای پروتکل قدیمی ادامه میدهند و گروه دیگر پیروی از پروتکل جدید را انتخاب میکنند.
در صورت وجود آسیبپذیری امنیتی یا باگ در پروتکل، ممکن است برای رفع مشکل و جلوگیری از آسیب بیشتر به شبکه، یک هاردفورک اورژانسی ایجاد شود. البته همانطور که پیشتر نیز گفتیم، اگر تمام نودهای شبکه بر استفاده از شبکه جدید اتفاق نظر داشته باشند، شاخه جدیدی ایجاد نمیشود و شبکه صرفا با یک ارتقای بزرگ مواجه خواهد شد.
پروژههای رمزارزی و بلاکچینها معمولا به صورت منبعباز وجود دارند؛ یعنی کدهای آن برای همه افراد قابل مشاهده میباشد. به همین دلیل، محققان و توسعهدهندگان میتوانند به منظور تست و آزمایش از این پروژهها هاردفورک ایجاد کرده و مطالعات خود را بر آن انجام دهند.
از زمانی که بیتکوین به عنوان اولین بلاکچین موفق راهاندازی شد و توجهات را به خود جلب کرد، بلاکچینهای متعددی به صورت هاردفورکهایی از آن ایجاد شدند. اما پس از خلق اتریوم و افزودن قابلیتهای نوآورانهای همچون پشتیبانی از قراردادهای هوشمند، هاردفورکهای ایجاد شده از اتریوم نسبت به بیتکوین افزایش یافتند.
بیتکوین به عنوان پادشاه ارزهای دیجیتال و اولین بلاکچین موفق که دروازه این دنیای غیرمتمرکز را گشود و آن را رواج داد، بسیار مورد توجه میباشد. لذا ایجاد هاردفورکهای متعدد از بیتکوین یک امر غیرطبیعی نبوده است.
بیشتر بخوانید: بیت کوین چیست و چگونه کار می کند؟
لایتکوین اولین هاردفورک بیتکوین میباشد که در سال 2011 راهاندازی شد. هدف از ایجاد لایتکوین افزایش سرعت تشکیل بلاکها و کاهش کارمزدها بود. هر بلاک در لایتکوین به طور میانگین در هر 2.5 دقیقه تشکیل میشود در حالیکه این زمان برای بیتکوین 10 دقیقه میباشد. همچنین عرضه کل لایتکوین 84 میلیون واحد کوین LTC است؛ این مقدار چهار برابر عرضه کل بیتکوین میباشد.
بیشتر بخوانید: تحلیل لایت کوین
بیت کوین XT یکی دیگر از هاردفورکهای بیتکوین بود که هدف آن بهبود پروتکل بیتکوین به ویژه افزایش محدودیت اندازه بلاک بود. این هاردفورک در سال 2015 با هدف افزایش اندازه بلاکها از یک مگابایت به 8 مگابایت و سپس دوبرابر کردن آن در هر دو سال تا زمانی که در سال 2036 به حداکثر حجم 8 گیگابایت برسد، تشکیل شد. با این حال، هرگز در مسیر پذیرش توسط جامعه بیتکوین موفق نشد.
هاردفورک بیت کوین کش در 1 آگوست 2017 رخ داد. این فورک به دلیل اختلاف نظر در جامعه بیت کوین در مورد چگونگی بهینه سازی شبکه برای مدیریت افزایش حجم تراکنش ها ایجاد شد. این فورک نیز با هدف افزایش مقیاسپذیری بیتکوین به صورت افزایش اندازه بلاکها از یک مگابایت به 8 مگابایت به وجود آمد. حامیان بیت کوین کش استدلال کردند که محدودیت اندازه بلاک 1 مگابایتی بسیار کوچک است و افزایش آن به 8 مگابایت برای فعال کردن تراکنشهای بیشتر و کارمزدهای کمتر ضروری است. در نهایت، با ناتوانی در دستیابی به اجماع، جامعه از هم جدا شد و فورک بیت کوین کش به عنوان یک اکوسیستم بلاکچین و ارز دیجیتال مجزا خلق شد.
بیشتر بخوانید: بیت کوین کش چیست و چگونه کار می کند؟
بیشتر بخوانید: تحلیل بیت کوین کش
بیت کوین گلد یکی دیگر از هاردفورکهای معروف از بلاکچین بیتکوین است که در اکتبر 2017 رخ داد. هدف اصلی این بود که با تغییر الگوریتم اثبات کار از SHA-256 به Equihash، استخراج بیتکوین را برای کاربران فردی قابل دسترستر کند. هدف از این تغییر تمرکززدایی ماینینگ و جلوگیری از تسلط ماینرهای تخصصی ASIC بود. بیتکوین گلد به دنبال حفظ سازگاری با نام تجاری و اکوسیستم اصلی بیت کوین میباشد و به عنوان ایردراپ نیز به دارندگان ارز بیتکوین، توکنهای BTG ارائه نمود.
بیشتر بخوانید: بیت کوین گلد چیست؟
اتریوم با توجه به قابلیتهای نوآورانه و خلاقانه، توجه توسعهدهندگان به خود جلب کرد. به همین دلیل پس از آن، فورکها و شبکههای زیادی بر مبنای آن ایجاد شدند.
بیشتر بخوانید: اتریوم چیست؟ همه چیز درباره اتریوم
فورک اتریوم کلاسیک در طی یک هک مشاجرهآمیز در سازمان غیرمتمرکز خودمختار (DAO) در سال 2016 پدیدار شد. در آن زمان تصمیم بر آن بود که با استفاده از فرایند عقبگرد بلاک (roll back) اطلاعات زنجیره به پیش از اعمال هک برگردانده شود. اما گروهی از جامعه اتریوم بر این باور بودند که بلاکچین اتریوم باید اصل تغییرناپذیری خود را حفظ کند. به همین منظور، اتریوم کلاسیک همان زنجیره ابتدایی را ادامه داد. اما اکثریت اعضای جامعه اتریوم به همراه توسعهدهندگان و بنیانگذاران آن به سمت شاخه جدید ایجاد شده، یعنی اتریوم جهتگیری کردند.
پالسچین، یک هاردفورک منحصربهفرد از بلاکچین اتریوم است. در حالی که اغلب هاردفورکها یک شبکه جدید و از صفر ایجاد میکنند، فورک پالسچین، تمامی دادههای موجود در شبکه اتریوم، از جمله تاریخچه تراکنشها، قراردادهای هوشمند و تمام توکنهای کاربران را بهطور دقیق در شبکه جدید کپی کرده است. این رویکرد منحصربهفرد، پالسچین را متمایز میسازد.
علاوه بر این، پالسچین بهطور مؤثر به رفع نگرانیهای موجود در جامعه اتریوم، ازجمله هزینههای بالا و سرعت پایین تراکنشها میپردازد. در زمان نگارش این مقاله، در پالسچین، هزینه تراکنشها بهطور چشمگیری، 1055 برابر ارزانتر از اتریوم و 9978 برابر ارزانتر از بیتکوین است. همچنین، سرعت تشکیل بلاک در پالسچین، 17 درصد بیشتر از اتریوم است و بهطور متوسط هر 10 ثانیه صورت میگیرد.
این ویژگیهای منحصر به فرد، پالسچین را به یک گزینه جذاب برای کاربران اتریوم تبدیل کرده است که به دنبال راهحلهایی برای هزینههای بالا و سرعت پایین در شبکه اصلی هستند.
بیشتر بخوانید: پالس چین چیست؟
هاردفورک و سافتفورک دو نوع مختلف ارتقا یا تغییر هستند که در شبکه بلاکچین انجام میشوند. اما سطح و نوع این تغییرات تعیین میکند که یک هاردفورک شکل میگیرد یا یک سافتفورک.
هاردفورک یک تغییر اساسی در پروتکل بلاکچین است که با نسخه قبلی سازگار نیست. این بدان معنی است که تمام نودهای شبکه باید به نسخه جدید ارتقا یابند، در غیر این صورت در زنجیره قدیمی باقی خواهند ماند. هاردفورکها اغلب برای معرفی ویژگیهای جدید عمده یا رفع اشکالات مهم در شبکه استفاده میشوند. در مقابل، سافت فورک یک تغییر سازگار با نسخه پیشین میباشد. این بدان معناست که فقط اکثریت شبکه نیاز به ارتقاء به نسخه جدید دارند و گرههای قدیمی میتوانند بدون هیچ مشکلی به مشارکت در شبکه ادامه دهند.
هیچ پاسخ قطعی در مورد اینکه سافت فورک یا هارد فورک “بهتر” است وجود ندارد.
سافتفورکها و هاردفورکها هر دو روشهایی برای ارتقای شبکههای بلاکچین هستند، اما از نظر رویکرد و تاثیر متفاوتاند. سافتفورکها تغییرات سازگار با نسخههای قدیمی هستند که فقط به اکثر نودها برای ارتقا نیاز دارند و به بقیه اجازه میدهد تا در نسخه قدیمی به کار خود ادامه دهند. این باعث میشود که سافتفورکها آسانتر پیادهسازی شوند و کمتر در شبکه اختلال ایجاد کنند. از طرف دیگر هاردفورکها تغییرات اساسی هستند که با نسخه قبلی ناسازگارند و نیاز به ارتقای همه نودها دارند. در حالی که اجرای این شبکهها میتواند چالش برانگیزتر باشد، هاردفورکها فرصتی برای بهبود پروتکل فراهم میکنند.
هیچ ساختار بلاکچینی یا بهتر است بگوییم هیچ نرمافزاری، کامل و بدون نقص نیست. تمام نرمافزارها از جمله نرمافزارهای حوزه فناوری بلاک چین نیازمند تغییرات و تحولات هستند. ممکن است این تحولات به منظور بهبود ویژگیها و گاه برای رفع یک ایراد فنی اعمال شوند. آموختیم که یکی از روشهای تغییر و بهبود بلاکچینها ایجاد هاردفورک میباشد.
هاردفورکها تنها زمانی رخ میدهند که تغییرات جدید در سطح قوانین و پروتکلهای اصلی یک پروژه مانند اندازه و سرعت تشکیل بلاکها باشند. حال این تغییرات ممکن است باعث پیشرفت و توسعه یک شبکه جدید شوند و یا ممکن است منجر به ایرادات و مشکلات بیشتری شود؛ لذا هر هاردفورک لزوما به معنای ایجاد یک شبکه بهتر و باکیفیتتر نیست.
تقریبا در سال 98 با ارزهای دیجیتال آشنا شدم و تنها چیزی که ازش میدونستم فقط ترید بود؛ تقریبا مثل همه کسایی که برای اولین بار با این حوزه آشنا میشن. اما هرچه بیشتر تو ...