فورک یک عمل فنی است و برای ایجاد تغییرات در شبکهی بلاک چین از آن استفاده میشود.
دلایل زیادی برای استفاده از فورک در بلاک چین وجود دارد. fork ممکن است تصادفی یا عمدی باشد. فورکهای عمدی توسط برنامه نویسان صورت گرفته و به دو دستهی سافت فورک و هارد فورک تقسسیم میشوند. فورکهای تصادفی توسط شبکهی بلاک چین برطرف میشوند. برای آشنایی با انواع fork و کاربرد آنها در دنیای مجازی تا انتهای مقاله با ما همراه باشید.
یکی از ویژگیهای مهم ساختارهای بلاک چین، غیرقابل تغییر بودن آنها است. فناوری بلاک چین از پروتکلهایی پیروی میکند که پس از کدنویسی و اجرا، دیگر قابل تغییر نیست. بطور مثال قوانین پایهای در سیستمهای مالی دیفای یا رمز ارزهای رایج مثل بیت کوین و اتریوم به آسانی توسط کاربر قابل تغییر نیستند. این مساله تغییر ناپذیری در بلاک چین برای کسانی که با قوانین موجود موافق نیستند، میتواند آزار دهنده باشد. در این شرایط در صورت نیاز به اعمال تغییرات اضطراری چه باید کرد؟ تصور کنید در کدهای پایهای یک پلتفرم، حفرهای قابل نفوذ کشف شود یا شرایطی به وجود بیاید که نیاز باشد توکنی جدید مرتبط با توکن قبلی ساخته شود. در چنین مواقعی راه حل چیست؟ اعمال به روزرسانی و ایجاد انشعاب جدید (فورک) با تغییر در کدهای پایهای میتواند در چنین مواقعی نگرانیهای موجود را برطرف کند. تغییرات اعمال شده میتواند به صورت اضافه کردن یک قابلیت جدید به نسخهی قبلی باشد یا ممکن است حجم تغییرات به قدری زیاد باشد که نسخهی قبلی به کلی منسوخ شده و شبکهی جدیدی از دل آن متولد شود. در ادامهی این مقاله با انواع fork و کاربرد هر کدام از آنها آشنا خواهیم شد. با ما همراه باشید.
به طور کلی برای اعمال تغییرات در پروتکلهای نرم افزاری بلاک چین از فورکها استفاده میشود. این تغییرات به دلایل زیر رخ میدهد.
هدف فورکها در بعضی موارد، ایجاد توکنهای جدید مرتبط با توکنهای قبلی است که در بند سوم به آن اشاره شد. برای ایجاد ارز دیجیتال جدید، یا باید آنها را از ابتدا (با استفاده از فورک) ایجاد کنید یا تغییراتی را در شبکهی ارز دیجیتال فعلی با عملیات فورک، اعمال کنید. در روش ایجاد توکنهای جدید از پایه، کدهای اولیه از شبکهی بلاک چین مورد نظر کپی شده و پس از آزمایش و اصلاح، توکن جدید راه اندازی میشود. نمونهای از ایجاد توکن با روش پایه، لایت کوین است که بر اساس پروتکل بیت کوین ایجاد شده است. بنیانگذاران لایت کوین با ایجاد تغییراتی در کدهای پلتفرم بیت کوین، این شبکه را ایجاد کردند. پس از گذشت مدتی مردم به توکن جدید علاقمند شدند و در حال حاضر لایت کوین یکی از ارزهای محبوب در جهان است. روش دوم، فورک کردن بلاک چین موجود است. با این روش، تغییراتی در شبکهی فعلی بلاک چین ایجاد میشود و دیگر نیازی نیست این فرایند از ابتدا و بصورت جداگانه آغاز شود. در این حالت، دو نسخه از بلاک چین با تقسیم شبکه ایجاد میشود. نمونهی مشهور این فرایند را میتوان در رمز ارز بیت کوین کش مشاهده کرد. نظرات متفاوت در مورد آینده بیت کوین منجر به فورک کردن شبکهی بیت کوین و ایجاد یک ارز دیجیتال جدید (بیت کوین کش) از ارز دیجیتال اصلی (بیت کوین) شد.
فورکها به طور کلی به دو دستهی فورکهای تصادفی (Accidental forks) و عمدی Intentional forks)) تقسیم میشوند. دستهی دوم یعنی فورکهای عمدی نیز به دو بخش سافت فورک (Soft Fork) و هارد فورک (Hard Fork) تقسیم میشوند. فورکهای تصادفی زمانی رخ میدهند که حین عملیات ماینینگ، دو یا چند ماینر بطور همزمان یک بلاک اطلاعاتی جدید را ایجاد کنند. در صورت وقوع این اتفاق، پروتکلهای شبکهی بلاک چین مورد نظر، با استفاده از برخی مکانیسمها، دو یا چند راهی ایجاد شده را برطرف کرده و یک زنجیرهی مشخص را برای ادامهی مسیر انتخاب میکنند. به بلوکهای (مسیرهای) رها شده در این فرایند بلوکهای یتیم (Orphaned Block) میگویند. شبکهی بلاک چین از بین بلوکهای ایجاد شده، بلندترین زنجیره را برای ادامهی مسیر انتخاب میکند. دستهی دوم فورکها که Intentional forks نام دارد، خود به دو بخش هارد فورک و سافت فورک تقسیم میشود که در بخش بعدی به معرفی آنها میپردازیم.
همانطور که پیش از این اشاره کردیم، forkها برای اعمال تغییرات در پروتکلهای شبکهی بلاک چین اعمال میشوند. تغییراتی که توسط عملیات سافت فورک در بلاک چین اعمال میشود، تغییراتی از پیش سازگار است. سافت فورکها برای اعمال تغییرات فقط به اکثریت ماینرها یا نودها نیاز دارند. برای رعایت اصل پیش سازگاری قوانین جدید نباید با قوانین قدیمی در تضاد باشند. با استفاده از سافت فورک میتوان بدون نیاز به اعمال آپدیتهای اساسی، قوانینی را در زنجیره ادغام کرد و گرههای قدیمی را با استفاده از سافت فورک با گرههای جدید همگام کرد. به طور مثال در آگوست 2017، یک مورد سافت فورک در زنجیره بیت کوین از طریق پروتکل Segregated Witness اعمال شد. این عملیات برای کاهش اندازه بلاک و افزایش سرعت تراکنش در زنجیره اعمال شد.
تغییرات ایجاد شده توسط هارد فورک بر خلاف سافت فورک “پیش سازگار” نیست. تمام نودهای شبکه پس از اعمال هارد فورک با قوانین جدید سازگار میشوند و دیگر قادر به ارتباط با نودهای قبلی نیستند. هارد فورک ممکن است برای اعمال تغییرات شدید در پروتکل بلاک چین یا رفع یک باگ مورد نیاز باشد. هارد فورکها تغییراتی بسیار سختتر از سافت فورک هستند و گاها پس از اعمال آنها شبکه به دو قسمت تبدیل میشود. یکی از به یاد ماندنیترین مثالهای استفاده از هارد فورک، مورد دائو میباشد. پس از آنکه شبکهی دائو در سال 2016 در دسترس قرار گرفت، تعدادی از توسعه دهندگان متوجه یک حفره در کدهای امنیتی این شبکه شدند. پیش از آنکه برنامه نویسان بتوانند ایراد مورد نظر را برطرف کنند، یک هکر توانست از طریق شکاف موجود، دهها میلیون دلار را در قالب توکن Dao و رمز ارز اتریوم از خزانهی شبکه خارج کند. تیم امنیتی بلاک چین اتریوم برای مقابله با این بحران، یک هارد فورک اجرا کرد تا بتواند توکنهای به سرقت رفته را از آدرس هکر به حساب اعضای شبکه بازگرداند.
کاربران شبکههای بلاک چین و ارزهای دیجیتال بر سر اینکه کدام شکل از fork برای بهبود شبکه بلاک چین مورد نیاز است، اختلاف نظر دارند. بدین منظور داشتن آشنایی کافی با انواع فورک و تفاوت آنها ضروری است. یکی از مهمترین تفاوتهای هارد فورک و سافت فورک در تعداد انشعاباتی است که پس از آنها به وجود میآید. پس از اعمال سافت فورک انشعاب جدیدی در شبکه بوجود نمیآید و همان ورژن قبلی به کار خود ادامه میدهد ولی پس هارد فورک، ممکن است دو انشعاب ایجاد شود. دیگر تفاوت مهم آنها کاربردی است که در شبکه دارند. برای تسهیل رابط کاربری و رفع ایرادت جزئی از سافت فورکها استفاده میشود، ولی برای تعریف توکن جدید، رفع باگهای مهم و اعمال تغییرات اساسی از هارد فورکها استفاده میشود.
در قسمتهای قبل با تعریف fork و انوع آن آشنا شدیم و مشاهده کردیم که هارد فورکها اهمیت بیشتری در شبکهی بلاک چین دارند. در این قسمت به سراغ انواع هارد فورک (از لحاظ میزان تغییرات در شبکه) میرویم و برای درک بهتر هر کدام مثالهایی از هر مورد، ذکر خواهیم کرد. با ما همراه باشید.
هارد فورک برنامه ریزی شده از ابتدای کار در نقشهی پروژه (Roadmap) پیش بینی میشود. این بروزرسانی در راستای افزودن وِیژگیهای جدید به زنجیره بلوکی است و به همین دلیل معمولا کاربران به همراه توسعهدهندگان اصلی از زنجیرهی قدیمی به زنجیرهی جدید مهاجرت میکنند. همانطور که اشاره شد تغییرات برنامه ریزی شده در سطح کدهای پایهای شبکه اعمال میشود و پس از آنکه زمان آن فرا برسد، زنجیرهی قبلی از بین رفته و زنجیرهی جدید جایگزین میشود.
دومین رمز ارز بزرگ جهان (پس از بیت کوین) در 5 آگوست 2021 تحت یک ارتقای فنی قرار گرفت. این ارتقا بزرگ که با نام پروتکل بهبود اتریوم 1559 یا EIP-1559 شناخته می شود، “هارد فورک لندن” نیز نامیده میشود. ارتقای EIP-1559 بخش کوچکی از سیر تغییرات اساسی است که در انتظار شبکهی اتریوم است. این تغییرات باعث میشوند که اتریوم از یک الگوریتم اثبات کار به یک الگوریتم اثبات سهام تبدیل شود. سیستم اثبات سهام قدرت بیشتری به کاربران میدهد تا بتوانند تراکنشهای خود را تأیید کرده و در ازای آن سکه دریافت کنند.
در سپتامبر 2021 قراردادهای هوشمند مبتنی بر Plutus به عنوان بخشی از هارد فورک آلونزو در این شبکه فعالیت شد. این تغییر عظیم به توسعه دهندگان اجازه میدهد تا برنامههای غیرمتمرکز (DApps) و حتی توکنهای غیرقابل تعویض (NFT) را ایجاد کنند. این هارد فورک برنامه ریزی شده به شدت مورد استقبال کاربران این شبکه قرار گرفت.
هارد فورک بحث برانگیز معمولاً زمانی رخ میدهد که در بین اعضای یک جامعه بر سر سیاستهای کلی شبکه اختلاف نظر وجود داشته باشد. در چنین مواقعی دو جناح مخالف، شبکه را به دو زنجیره منشعب خواهند کرد و هر کدام از آنها تغییرات مورد نظر خود را در زنجیره مربوطه اعمال میکنند. در ادامه به دو مثال مهم از هارد فورک بحث برانگیز اشاره خواهیم کرد.
این هارد فورک به دنبال هک بزرگ سازمان مستقل غیرمتمرکز (DAO) رخ داد. دائوها نهادهایی هستند که از طریق قراردادهای هوشمند عمل میکنند و قرار بود برای اتریوم، مانند یک صندوق سرمایه گذاری خطرپذیر عمل کنند. در سازمان دائو تراکنشهای مالی و قوانین آنها بر روی یک بلاک چین کدگذاری میشوند و دیگر نیازی به داشتن یک مرجع متمرکز حاکم بر شبکه نیست. در واقع تصمیم گیریها توسط همهی اعضا و از طریق رایگیری صورت میگیرد. هر عضوی که توکنهای دائو را داشته باشد، میتواند در رای گیریها شرکت کند. علیرغم استقبال گسترده از این سازمان، در همان ابتدای کار، یک هکر در کدهای پایهای دائو حفرهای یافت که به او اجازه میداد از خزانهی دائو برداشت کند. در اثر این سرقت دهها ملیون دلار از سرمایهی کاربران در قالب توکنهای دائو به سرقت رفت. بسیاری از اعضای جامعه اتریوم معتقد بودند که برای بازگرداندن وجوه دزدیده شده باید از هارد فورک استفاده شود. از طرفی اقلیتی از اعضای جامعه وجود داشتند که به اصل تغییر ناپذیری بلاک چین معتقد بودند و با عمل هارد فورک مخالفت میکردند. برای حل این اختلاف در اثر هارد فورک شبکه به دو زنجیره منشعب شد. زنجیرهی «اتریوم» جدید (که در اثر ایجاد آن وجوه دزدیده شده DAO برگردانده شد) و زنجیرهی «اتریوم کلاسیک» (برای آن دسته از افرادی که به اصل تغییر ناپذیری معتقد بودند).
نمونه معروف دیگری از hard fork بحث برانگیز در سال 2017 اتفاق افتاد. این مورد پس از اختلاف بر سر مسائل مربوط به مقیاس بیت کوین به وجود آمد. برخی معتقد بودند که مقیاس بندی را میتوان با افزایش اندازه بلاک از یک مگابایت به هشت مگابایت بهبود داد. این عمل باعث کاهش کارمزدها شده و در عین حال امکان تکمیل تراکنشهای بیشتری را در یک زمان مشخص فراهم میکند. افرادی که با این هارد فورک مخالف بودند، معتقد بودند که این عمل باعث ایجاد مشکلات امنیتی و افزایش هزینهی مربوط به گرهها میشود. اگر هزینههای مربوط به گره (نودها) افزایش یابد، ثروتمندان بر گرهها مسلط خواهند شد. در نتیجه شبکهای ایجاد میشود که توسط افراد ثروتمند اداره شده و این به دور از اصل غیر متمرکز بودن بلاک چین است. بنابراین کسانی که طرفدار افزایش اندازه بلاک بودند، با عمل هارد فورک بیت کوین کش را بوجود آوردند که در کنار آن شبکهی بیت کوین اصلی به فعالیت خود ادامه میدهد.
یکی دیگر از انواع هارد فورک، فورک مشتق شده میباشد که بصورت شبکه Spin-off Coins است. در این نوع هارد فورک یک شرکت مادر برای افزایش سودآوری، بخشی از کسب و کار کم بازده خود را منحل کرده و سود بدست آمده را در بخشهای دیگر سرمایه گذاری میکند. لایت کوین مثال خوبی برای این نوع از هارد فورک میباشد. در اثر این هارد فورک زمان ساخت هر بلاک از 10 دقیقه به 2.5 دقیقه کاهش یافت و تعداد سکهها از 21 میلیون به بیش از 80 میلیون رسید.
یکی از مهمترین ویژگیهای شبکهها و پلتفرمهایی که بر بستر بلاک چین هستند، غیر قابل تغییر بودن آنها است. در هر شبکه یا پلتفرم بلاک چینی پروتکلهای تغییر ناپذیری وجود دارد که قوانین کلی هر تراکنش را مشخص میکند. این پروتکلها شامل سرعت تراکنش، قوانین رای گیری، مدت زمان استخراج هر بلاک و… میشود. با این وجود همانطور که در قسمتهای قبلی اشاره شد، شرایط مختلفی ممکن است کاربران را وادار به ایجاد تغییرات در شبکهی مورد نظر کند. در این زمان اعضای یک شبکه با همراهی توسعه دهندگان و با استفاده از فورکها، تغییرات مورد نظر خود را روی شبکه اعمال میکنند.
بطورکلی دلایل ایجاد فورکها به شرح زیر است:
فورکهایی که با پشتیبانی توسعه دهندگان و تمامی اعضای یک شبکه در بلاک چین رخ میدهد، میتواند اثرات جدی روی شبکه داشته باشد. به طور مثال در نمونهی بیت کوین، وقتی شبکه دچار فورک شد، بخشی از ارزش شبکه به دلیل تقسیم شدن به زنجیرهی جدید منتقل شد و این اتفاق باعث کاهش قیمت بیت کوین شد. اما از طرفی پس از ایجاد بیت کوین کش، به میزان دارایی افراد در بیت کوین، در شبکهی جدید توکن بیت کوین کش تعلق گرفت. این امر ضرر کاربران را جبران کرد و آنها را به سود رساند.
سه هارد فورک اصلی که تاکنون شبکهی اتریوم شاهد آنها بوده است، عبارتند از:
در مورد اولین هارد فورک (اتریوم کلاسیک) پیش از این صحبت کردیم. این هارد فورک، مهمترین و بحث برانگیزترین هارد فورک اتریوم در طی تاریخ این شبکه است.
این هارد فورک نیز از اهمیت زیادی (ولی نه به اندازه اتریوم کلاسیک) در شبکهی اتریوم برخوردار است. هدف از EtherZero بهبود سرعت نرخ تراکنش در شبکه و همچنین حذف کارمزد تراکنشها است.
یکی از جنجالیترین فورکهای اتریوم متروپلیس نام دارد که به دلیل تغییرات گستردهای که در نظر دارد تاکنون انجام نشده است. این بخشی از برنامهی اتریوم برای بهبود شبکهی بلاک چین است. در قسمتی از این تغییرات اتریوم قصد دارد که مکانیسم تایید تراکنشهای شبکه را از روش اثبات کار به اثبات سهام تغییر دهد. در روش اثبات سهام دیگر نیازی به عمل ماینینگ و داشتن سخت افزارهای قوی و مصرف برق نیست. در این روش کاربران با خرید ارز دیجیتال شبکهی مورد نظر و سرمایه گذاری آن در شبکه، به طور مرتب مقداری ارز دیجیتال را به عنوان سود سرمایه گذاری دریافت میکنند.
EOS هفتمین ارز دیجیتال بزرگ از نظر ارزش در بازار است که قصد دارد با اعمال هارد فورک، تغییراتی را در شبکهی خود اعمال کند. ایاس طی این هارد فورک، از دیتابیس جدید خود که Mandel نام دارد، رونمایی میکند. تغییرات مورد نظر این هارد فورک – در زمینهی پرداخت قراردها، ایجاد بلاک چین قابل تنظیم و پیشرفته و محدودیتهای قابل تنظیم WASM – خواهد بود.
در بخش پایانی به سوالات رایج در زمینهی fork پاسخ میدهیم.
شبکههای بلاک چین بصورت پیش فرض ثابت و غیرقابل تغییر هستند. شرایط مختلفی ممکن است نیاز به تغییرات را در شبکه به وجود آورد. فورکها روشهایی هستند که به وسیلهی آنها انواع مختلفی از تغییرات (جزئی و کلی، پیش بینی شده و غیرقابل پیش بینی) روی شبکه اعمال میشود.
مهمترین دلایل ایجاد fork عبارتند از:
بلی. این تغییرات میتواند با توجه به حجم تغییرات و میزان حمایت اعضا از تغییرات جاری، متفاوت باشد.
فورکها را میتوان برای افزایش امنیت شبکه و رفع نواقص موجود استفاده کرد. بسیاری از مردم معتقدند فورکها ابزارهایی مفید برای ارزهای دیجیتال هستند. البته که تغییرات ایجاد شده توسط فورکها مخالفانی نیز دارد. نظر شما در این رابطه چیست؟
این فورک چنگال قاشق مارو دیوانه کرد