یکی از اصطلاحاتی که ممکن است در دنیای ارزهای دیجیتال زیاد شنیده باشید، اصطلاح فورک ارز دیجیتال (Fork) است. در این مطلب قصد داریم در مورد اینکه چه هنگامی در یک بلاک چین فورک اتفاق میافتد و تفاوت بین سافت فورک (Soft Fork) و هارد فورک (Hard Fork) صحبت کنیم.
فورک ارز دیجیتال چیست؟
فورک به بیان ساده به معنی بهروزرسانی یا آپدیت در یک بلاک چین است. البته فورک واژه جدیدی نیست و از دنیای برنامهنویسی به دنیای بلاک چین آمده است.
فورک در برنامهنویسی به این معنی است که از کدهای یک برنامه کپی گرفته میشود و با ایجاد تغییرات دلخواه در کد آن یک نسخه جدید از برنامه منتشر میشود. مفهوم فورک در دنیای بلاک چین هم تقریبا مشابه همین است با کمی جزئیات و پیچیدگیهایی که در ادامه بیشتر توضیح میدهیم.
اجازه دهید با یک مثال ساده بیشتر با مفهوم فورک آشنا شویم:
فرض کنید قصد دارید برنامه موبایل بانک روی گوشیتان را بهروزرسانی کنید. در این صورت معمولا نسخه جدید برنامه از طرف بانک منتشر میشود و شما به کمک آن برنامه خود را آپدیت میکنید، گاهی اوقات برنامه به صوردت خودکار بهروزرسانی میشود و شما ممکن است متوجه هم نشوید. در هر حال برای اینکه بتوانید از همه ویژگیهای برنامه استفاده کنید مجبورید این بهروزرسانی را انجام دهید.
اما این فرآیند در دنیای بلاک چینهای غیرمتمرکز و متن باز کمی تفاوت دارد. هیچ سلسله مراتبی وجود ندارد و طبیعتا بانکی هم نیست که بخواهد آپدیت جدید را برای شما منتشر کند. در نتیجه پیادهسازی ویژگیهای جدید در شبکههای بلاک چین به یک چالش تبدیل میشود.
اگر برای شما سوال ایجاد شده است که پس شبکههای بلاک چین چگونه بهروزرسانی میشود، سوال شما دو پاسخ دارد: سافت فورک و هارد فورک که در ادامه بیشتر درباره آن صحبت میکنیم.
این مطلب راهم مطالعه کنید: گره بیت کوین چیست؟ معرفی انواع نود بیت کوین و اهمیت آنها در شبکه
شبکه بلاک چین چگونه آپدیت میشود؟
برای اینکه متوجه شوید فرآیند فورک چگونه رخ میدهد باید فرآیند تصمیمگیری یا همان مدیریت (governance) در شبکههای بلاک چین را بهتر درک کنید.
در شبکه بیت کوین سه گروه مشارکتکننده در فرآیند تصمیمگیری وجود دارد که عبارتند از: توسعه دهندگان (developers)، استخراج کنندگان (miners) و کاربران نود کامل (full node).
توسعه دهندگان
دولوپرها یا توسعه دهندگان شبکه بیت کوین مسئول ایجاد و بهروزرسانی کدها هستند. معمولا در ارزهای دیجیتال متن باز (open-source cryptocurrencies) کدها به صورت عمومی در دسترس است و هر کسی میتواند به عنوان توسعه دهنده در ایجاد تغییرات مشارکت کند و برای بررسی در اختیار توسعهدهندگان دیگر قرار دهد.
استخراج کنندگان
احتمالا دیگر با مفهوم ماینرها و استخراج ارز دیجیتال به خوبی آشنا هستید، ماینرها مسئولیت تامین امنیت شبکهها را بر عهده دارند. آنها کدهای یک ارز دیجیتال را اجرا میکنند و با اختصاص دادن منابع بلوک جدیدی را به بلاک چین اضافه میکنند. برای مثال در شبکه بیت کوین با استفاده از مکانیسم اثبات کار (PoW) برای تلاش در زمینه پردازش تراکنشها و ایجاد یک بلوک جدید، پاداش دریافت میکنند.
کاربران نود کامل
کاربران فول نود در واقع ستون اصلی شبکه بلاک چین محسوب میشوند، در واقع آنها هستند که وظیفه تایید و ثبت تراکنشهای بلاک چین را برعهده دارند. دقت کنید که سایر کاربران ماند کسانی که از کیف پول ارز دیجیتال، لپ تاپ یا گوشی موبایل برای انجام تراکنش در شبکه استفاده میکنند کاربران عادی یا لایت نود (Light nodes) شناخته میشوند که سابقه هیچ تراکنشی را ذخیره نمیکنند، اما کاربران فول نود به عنوان برگی از یک دفتر کل توزیع شده محسوب میشوند.
البته دقت کنید که این گروهها لزوما جدا از هم نیستند، برای مثال یک توسعه دهنده میتواند همزمان یک فول نود یا ماینر هم باشد، یا یک ماینر میتواند به عنوان فول نود هم در شبکه حضور داشته باشد.
خب حالا که با تصمیمگیرندگان در یک شبکه بلاک چین آشنا شدید بهتر میتوانید فرآیند بهروزرسانی را درک کنید.
کدهای جدید توسط توسعهدهندگان ایجاد میشود، بدون آنها نرم افزاری برای اجرا وجود نخواهد داشت. ماینرها امنیت شبکه را تامین میکنند، بدون وجود یک رقابت سالم در استخراج به راحتی بلاک چین قابل نفوذ است و ممکن است حتی متوقف شود. اگر چه این دو دسته تلاش میکنند تا باقی شبکه را متقاعد کنند که از خواسته آنها پیروی کنند، اما در بسیاری موارد قدرت واقعی در دستان فول نودها است. به این معنی که این کاربران هستند که انتخاب میکنند که از کدام نرم افزار استفاده کنند، نسخه قدیمی یا جدید!
خب برگردیم به موضوع اصلی یا همان فورک. فهمیدیم سه گروه اصلی در فرآیند تصمیمگیری در شبکه بلاک چین نقش دارند. بدون توسعه دهنده، کدی وجود ندارد که اجرا شود، بدون ماینر و فول نود هم کدها اجرا نمیشود و امنیت شبکه زیر سوال خواهد رفت.
فورک ارز دیجیتال چگونه اتفاق میافتد؟
فورک زمانی اتفاق میکند که کدهای بلاک چین کپی و تغییر داده میشود، در ادامه ضمن اینکه پروژه اصلی به مسیر خود ادامه میدهد، این نسخه جدید هم وارد مسیری جداگانه میشود. دقیقا مانند جادهای که به دوراهی میرسد و هر کسی مقصد دلخواه خود را انتخاب میکند.
این اتفاق در پروژههای متن باز زیاد رخ میدهد و پیش از بیت کوین و اتریوم هم وجود داشته است. اما اصطلاحات هارد فورک یا سافت فورک واژههایی که فقط مخصوص فضای بلاک چین است. در ادامه این اصطلاحات را بیشتر توضیح میدهیم.
شماره یا ارتفاع بلوک در فورک چیست؟
همانطور که میدانید هر بلاک چین از تعداد زیادی بلوک تشکیل میشود و به اولین بلوک یک زنجیره بلاک جنسیس (genesis block) گفته میشود که شماره یا ارتفاع آن صفر است. هربار که ماینرها بلوکی را ایجاد میکنند یک شماره به تعداد بلوکهای یک بلاک چین اضافه میشود و به ترتیب شمارهگذاری میشود.
از آنجایی که مدت زمان معینی برای ایجاد هر بلوک مورد نیاز است (برای مثال مدت زمان لازم برای ایجاد هر بلوک جدید در بیت کوین ۱۰ دقیقه است)، شماره یا ارتفاع بلوک (block height) یک معیار زمانبندی خوبی برای توسعه دهندگان محسوب میشود تا از این طریق زمان بهروزرسانی بلاک چین یا همان فورک را اعلام کنند.
برای مثال ممکن است به شما اعلام شود کیف پولتان را قبل از رسیدن به ارتفاع بلاک معینی (مثلا ۶۰۰٬۰۰۰) بهروزسانی کنید، چرا که از آن ارتفاع بلاک قرار است فورک رخ دهد و دیگر تراکنشها روی بلاک چین قدیمی توسط سایر نودها تایید نشود.
دلایل رخ دادن فورک چیست؟
معمولا به چهار دلیل مهم فورک رخ میدهد که عبارتند از:
حل اختلاف بین اعضای جامعه
همانطور که احتمالا متوجه شدید اگر برخی از اعضای جامعه یک ارز دیجیتال با یک بهروزرسانی موافق نباشند هیچ راهی برای جلب موافقت آنها وجود نخواهد بنابراین با انجام فورک و جدا شدن شبکه بلاک چین کاربران میتوانند شبکهای که بیشتر با اهداف آنها سازگار است را انتخاب کنند و دیگر اختلافی بین اعضای جامعههای جدید وجود نخواهد شد.
اضافه کردن ویژگیهای جدید
اگر قرار باشد فورک انجام نشود، هیچوقت یک شبکه بلاک چین توسعه فنی پیدا نمیکند، فورک روشی برای اضافه کردن ویژگیهای جدید به یک شبکه بلاک چین است.
رفع مشکلات بلاک چین
یکی از مهمترین اتفاقاتی که در سال ۲۰۱۶ در دنیای ارز دیجیتال رخ داد، هک شدن DAO یا پروژه (Decentralized Autonomous Organization) بود که در نتیجه آن یک هکر موفق شد با پیدا کردن باگ امنیتی بیش از ۵۰ میلیون دلار از سرمایه دارندگان اتریوم به سرقت رفت و ارزش اتریوم از ۲۰ دلار به ۱۲ دلار سقوط کرد. در نتیجه آن جامعه اتریوم مجبور شد برای حفظ دارایی سرمایهگذارانش به شبکه جدید نقل مکان کند. در اثر این فورک اتریوم به دو شبکه اتریوم جدید (که امروزه آن را به نام اتریوم میشناسیم) و اتریوم کلاسیک (یا همان شبکه اتریوم پیش از سال ۲۰۱۶) تقسیم شد.
ایجاد ارز دیجیتال جدید
احتمالا میدانید که ارزهای دیجیتال از کدهای متن باز استفاده میکنند، یعنی هرکسی قادر است به کدهای اصلی دسترسی داشته باشد و با انجام تغییرات در آن ارز جدیدی را بهوجود بیاورد. از جمله ارزهایی که از طریق فورک بیت کوین بهوجود آمده است میتوان به لایت کوین، دوج کوین، پیر کوین (Peercoin)، نیم کوین (Namecoin) و … اشاره کرد.
با وجود اینکه هارد فورک و سافت فورک نام و هدف مشابهی د ارند اما به طور کلی باهم متفاوت هستند برای درک این تفاوت بهتر است با مفهوم این دو اصطلاح بیشتر آشنا شویم:
هاردفورک چیست؟
به عبارت ساده منظور از هاردفورک بهروزرسانی در شبکه بلاک چین بدون امکان سازگاری با نسخه پیشین است.
به طور معمول، این اتفاق زمانی رخ میدهد که نودها (گرهها) قوانین جدید را به گونهای اضافه میکنند که با قوانین گرههای قدیمی مغایرت داشته باشد. در واقع گرههای جدید فقط میتوانند با گرههایی که از نسخه جدید استفاده میکنند، ارتباط برقرار کنند. در نتیجه، بلاکچین تقسیم میشود و دو شبکه جداگانه ایجاد میکند: یکی با قوانین قدیمی و دیگری با قوانین جدید.
بنابراین دو شبکه به طور موازی فعالیت میکنند، هر دو به ایجاد بلوکها و تایید تراکنشها ادامه میدهند اما دیگر روی یک بلاک چین مشترک نیستند. به عبارت دیگر همه نودهایی که تا قبل از فورک روی یک شبکه بودند، به دو دسته تقسیم میشود که بلوکها و تراکنشهای مخصوص به خودشان را پردازش میکنند.
یک مثال بارز از هاردفورک در سال ۲۰۱۷ در شبکه بیت کوین رخ داد که پس از بحثها و مخالفتهای طولانی در زمینه مقیاس پذیری، بلاک چین بیت کوین به دو شبکه بیت کوین اصلی (BTC) و بیت کوین کش (BCH) تقسیم شد. طرفداران بیت کوین کش موافق افزایش اندازه بلوکها بودند، در حالی که طرفداران بیت کوین با این بهروزرسانی مخالفت میکردند.
افزایش اندازه بلوکها نیازمند ایجاد تغییر در قوانین بود. به این ترتیب اگر اندازه بلوک بزرگتر از قوانین قدیمی بود، نودهای قدیمی امکان برقراری ارتباط با آن را نداشتند و با نسخه قبلی سازگار نبودند.
جالب است بدانید به اینگونه هاردفورکها که باعث بهوجود آمدن یک ارز دیجیتال جدید میشوند (مانند بیت کوین کش یا اتریوم کلاسیک) هاردفورک بحث برانگیز گفته میشود. به این هاردفورکها که در اثر اختلاف بین اعضای جامعه انجام میشود، هاردفورک بحث برانگیز (Contentious Hard Forks) گفته میشود. اما همه هاردفورکها بحث برانگیز نیستند بلکه از قبل در نقشه راه یک بلاک چین پیش بینی شدهاند. به این هاردفورکها، هاردفورک برنامه ریزی شده (Planned Hard Forks)
گفته میشود. برای مثال فورک بیزانس (Byzantium fork) در اتریوم که باعث بهبود مقیاسپذیری در اتریوم شد.
به طور خلاصه همانطور که متوجه شدید به فرآیند بهروزرسانی بلاک چین به صورتی که با نسخه قبلی سازگار نباشد هاردفورک گفته میشود.
این مطلب راهم مطالعه کنید: اصطلاحات تخصصی ارز دیجیتال که قبل از سرمایه گذاری باید بدانید
سافت فورک چیست؟
اما سافت فورک برخلاف هاردفورک به آپدیتی گفته میشود که با نسخه قبلی سازگار باشد، به این معنی که نودهای بهروزرسانی شده همچنان میتوانند با نودهای بهروزرسانی نشده ارتباط برقرار کنند. در واقع در سافت فورک قانون جدیدی به شبکه اضافه میشود که با قوانین پیشین تضادی ندارد.
یک مثال خیلی خوب از سافت فورک، سگویت (Segregated Witness) است که کمی پس از جدا شدن بیت کوین کش از بیت کوین اتفاق افتاد.
سگ ویت (SegWit) یک بهروزرسانی در فرمت بلوکها و تراکنشها بود، اما طوری هوشمندانه انجام شد که قوانین قدیمی مربوط به فرمت بلوکها را نقض نکرد و نودهای قدیمی همچنان قادر به تایید بلوکها و تراکنشها هستند. البته برخی از تراکنشهای داده تنها وقتی قابل خواندن هستند که گرهها به نرم افزار جدید آپدیت شوند و در این صورت امکان تجزیه و تحلیل دادههای بیشتر را خواهند داشت.
حتی دو سال پس از فعالسازی سگویت هنوز هم همهی نودها به این نسخه بهروزرسانی نشدهاند. هرچند که مزیتهایی را در پی دارد و به افزایش سرعت تراکنشها منجر میشود، اما واقعا ضرورتی برای این بهروزرسانی در شبکه وجود ندارد.
این مطلب را هم مطالعه کنید: جزئیات هاردفورک لندن اتریوم از چه قرار است؟
هارد فورک یا سافت فورک؟
اساسا این دو نوع فورک هدف مختلفی را دنبال میکنند. هارد فورکها میتوانند به تقسیم شدن یک جامعه ارز دیجیتال منجر شوند اما انواع برنامهریزی شده آن اجازه میدهند تا این بهروزرسانی با موافقت همه کاربران انجام شود.
اما سافت فورکها به اندازه هارد فورکها بحث برانگیز نیستند، این بهروزرسانیها تنها به منظور اضافه کردن یک ویژگی به شبکه ارائه میشوند و با نسخه پیشین کاملا سازگارند، بنابراین خطر دو تکه شدن شبکه وجود ندارد.
اما در هر صورت هر دو برای موفقت بلند مدت یک شبکه بلاک چین ضروری هستند. بدون تردید بهروزرسانی شبکههای غیرمتمرکز بدون وجود یک منبع قدرت یک چالش بزرگ است چرا که کسب موافقت عمومی برای یک تغییر به راحتی اتفاق نمیافتد.
جمع بندی
هاردفورک و سافتفورک در واقع راهی هستند که امکان اضافه شدن ویژگیهای جدید به بلاک چینها و ارزهای دیجیتال را فراهم میکنند. بدون آنها ما یا باید در قوانین قدیمی گیر کنیم یا نیاز به یک سیستم متمرکز با قدرت کنترل بالا به پایین داریم، مانند چیزی که در بهروزرسانی اپلیکیشن موبایل بانک در ابتدای مطلب مثال زدیم.
فراموش نکنید شما هم اگر سوال، دانش یا تجربهای در زمینه بلاک چین و فورک ارز دیجیتال دارید میتوانید ار طریق قسمت نظرات زیر همین مطلب در سایت کوین نیک با ما در میان بگذارید و به کاملتر شدن این مطلب کمک کنید.
عالی بود
سلام
خسته نباشید، مطلب بسیار عالی و قابل توجه بود.🍀🌺🍀
سلام بسیار خالی و قابل فهم . ممنون