فورک چیست؟
همانطور که میدانید اطلاعات ثبت شده در فناوری بلاک چین قابل تغییر نیستند و زمانی که بلاک چین فعالیت خود را آغاز نماید، تا زمانی که کاربران آن را بپذیرند، هیچ کس قادر نخواهد بود جلوی کار آن را بگیرد. به همین دلیل نیز هست که فورکها مهم هستند.
از هر کدام از ارزهای دیجیتال یک سرس قوانین که اصطلاحا به آن پروتکل میگوییم بهوسیلهی برنامهنویسان تعیین شدهاند و یک بلاک چین براساس همان پروتکل و قوانین تا ابد به کار خود ادامه خواهد داد. به عنوان مثال؛ برای بیت کوین چنین قوانینی تعریف شده است که زمان هر بلاک ۱۰ دقیقه بوده و هر بلاک ۱ مگابایت ظرفیت داشته باشد.
اگر کسی با قوانین بیت کوین یا هر ارز رمزپایهی دیگری مخالف بود داستان چگونه خواهد بود؟
این سوال راهحلی ساده دارد، بروزرسانی یا ایجاد بلاک چین جدید که به اصطلاح به آن فورک میگویند. زمانی که گروهی از برنامهنویسان از شرایط و قوانی ارز دیجیتالی ناراضی باشند یا این که شبکه با مشکلاتی مواجه باشد که حل آن ضروری است؛ راهحلی به نام فورک پیش روی این افراد خواهد بود.
کلمهی فورک (انشعاب) از پروژههای برنامهنویسی نشعت گرفته است. در اصل با کپی کد منبع پروژه و ایجاد تغییراتی در آن، برنامهای جدید از مرکز برنامهی قبلی بیرون خواهد آمد. به همین دلیل فورک در ارزهای دیجیتال نیز با مفهومی یکسان و با برخی پیچیدگیهای خود به کار خواهد رفت.
فورک معمولا به نوعی به روزرسانی نرمافزار گفته میشود که میتوان به روش «سازگار با قبل» (backward-compatible) یا «ناسازگار با قبل» (backward-uncompatible) باشد.
به صورت خلاصه واژهی فورک به اصطلاح برای زمانی است که یک نرمافزار با یک پروتکل، آپدیت میشود. در عرصهی ارزهای دیجیتال فورک زمانی رخ میدهد که شبکه به دو بخش تقسیم شود.
دلایل ایجاد فورک
۳ دلیل برای رخ دادن فورک میشود که راهحلی برای اختلافات فنی، برگشت دادن مباغ از دست رفته و اضافه کردن ویزگیها و قابلیتهای جدبد این ۳ دلیل هستند در ادامه به توضیح هر کدام از این دلایل صحبت خواهیم کرد.
راه حلی برای اختلاف فنی
به عنوان مثال بیت کوین کش یکی از فورکهای بیت کوین است که به دلیل اختلاف نظرات گسترده در مورد مقیاسپذیری بیت کوین انجام شده است. گروهی از توسعهدهندگان و استخراج کنندگان بزرگ بیت کوین که از سرعت و کامزد تراکنشها راضی نبودند؛ با تغییرات گسترده در قوانین بیت کوین و افزایش سایز بلاک، بلاک چین و نسخهای جدید از پروتکل را ارائه دادند.
استرداد مبالغ از دست رفته
در سال ۲۰۱۶، فقط یک اتریوم وجود داشت اما بعد از رخ دادن هک DAO و از دست رفتن میلیونها دلار سرمایهی کاربران،جامعهی اتریوم مجبور به ارائهی فورک شد تا بتواند اعتماد مردم را به دست آورد. پس اتریوم فورک شد و اکثر جامعه به شبکهی جدید نقل مکان کردند، نام اتریوم قبلی به اتریوم کلاسیک تغییر یافته و اتریوم جدید همان اتریومی است که در بازار خرید و فروش میکنید.
بروزرسانی و اضافه کردن قابلیت های جدبد
شبکهی بلاک چین در طول زمان نیاز به بروزرسانیهای فنی دارد تا شبکه را از خطرهای احتمالی و پیش رو حفظ نماید.
هارد فورک چیست؟
هاردفورک تغییری در پروتکل ارز های رمزپایه است که در آن بلاکها و تراکنشهای نامعتبر قدیمی معتبر خواهند شد. به همین دلیل همه ی کاربران موظف به اعمال آن هستند. هارد فورک سازگار با قبل نیست. هارد فورک گاهی مسبب تبدیل شدن دو ارز می شود به عنوان مثال بیت کوین کش هارد فورکی از بیت کوین است. اتریوم کلاسیک هاردفورکی از اتریوم است که همین باعث می شود که دو ارز کاملا جدا پدید آیند و کسانی که مایل باشند میتوانند در بلاک چین قبلی ادامه دهند یا به هارد فورک جدید نقل مکان کنند.
هارد فورک؛ فناوری مربوط به بلاک چین است، یک تغییر اساسی در پروتکل شبکه است که باعث میشود بلوکها و تراکنشهای نامعتبر قبلی معتبر باشند، یا بالعکس. یک هارد فورک نیاز به ارتقا همهی نودها یا کاربران به جدیدترین نسخهی پروتکل نرم افزار دارد.
روش های کلیدی
هارد فورک یک تغییر اساسی در پروتکل شبکهی بلاک چین است که بلوکها و تراکنشهای نامعتبر قبلی را معتبر میکنند (یا بالعکس).
یک فورک نه تنها در بیت کوین بلکه در بلاک چین میتواند هر ارز دیجیتالی وجود داشته باشد.
درک یک هارد فورک
هارد فورک زمانی رخ میدهد که نودها جدیدترین نسخهی بلاک چین ، نسخههای قدیمی بلاک چین را قبول نکنند، که این موضوع واگرایی دائمی از نسخه قبلی بلاک چین ایجاد میکند. افزودن یک قانون جدید به کد، اساساً یک فورک در بلاک چین ایجاد میکند؛ درواقع یک مسیر از بلاک چین جدید و به روز شده پیروی میکند و مسیر دیگر در مسیر قدیمی ادامه مییابد. به طور کلی؛ پس از مدت کوتاهی، افراد در زنجیره قدیمی متوجه میشوند که نسخه بلاک چین آنها منسوخ شده یا بی ربط است و به سرعت به آخرین نسخه ارتقا پیدا میکنند.
توضیح فورک بیت کوین
یک فورک در بلاک چین میتواند در هر سیستم عامل رمزنگاری به عنوان مثال اتریوم نه تنها بیت کوین وجود داشته باشد. این بدان دلیل است که بلاک چینها و ارزهای دیجیتال بدون توجه به اینکه در کدام بستر رمزنگاری قرار دارند، اساساً به همان روشی کار میکنند. ممکن است شما بلوکهای موجود در زنجیرههای بلوکی را به عنوان کلیدهای رمزنگاری در نظر بگیرید که حافظه را به حرکت در میآورند. از آنجا که ماینرهای موجود در بلاک چین قوانینی را تنظیم میکنند که حافظه را در شبکه حرکت میدهد، این ماینرها قوانین جدید را درک میکنند.
با این حال، همهی ماینرها باید در مورد قوانین جدید و آنچه که یک بلوک معتبر در زنجیره را تشکیل میدهد، توافق کنند. بنابراین هنگامی که میخواهید این قوانین را تغییر دهید باید آن را فورک کنید. مانند یک چنگال در جاده برای نشان دادن تغییر یا انحراف پروتکل در آن. سپس توسعه دهندگان میتوانند تمام نرمافزارها را به روز کنند تا قوانین جدید را منعکس کنند.
از طریق این روند انشعاب است که ارزهای دیجیتال مختلف با نام های مشابه بیت کوین به وجود آمده است: بیت کوین پول نقد ، بیت کوین طلا و غیره. برای سرمایهگذار معمولی ارزهای رمزنگاری، تشخیص تفاوت بین این ارزهای رمزپایه و نقشه برداری از فورکهای مختلف در یک جدول زمانی دشوار است. برای کمک به این موضوع، ما تاریخچهای از مهمترین هارد فورکهای بیت کوین طی چند سال گذشته را تهیه کردهایم.
چرا هاردفورک به وجود می آید؟
دلایل زیادی وجود دارد که توسعه دهندگان میخواهند یک هارد فورک را اجرا کنند، مانند اصلاح خطرات مهم امنیتی موجود در نسخههای قدیمی نرم افزار، برای اضافه کردن عملکرد جدید یا معکوس کردن معاملات؛ مانند زمانی که بلاک چین اتریوم یک هارد فورک برای معکوس کردن ایجاد کرد تا از هک کردن شدن «سازمان غیرمتمرکز» (DAO) جلوگیری نمایند.
پیشنهاد یک هارد فورک دقیقاً تاریخچه معاملات شبکه را باز نکرد. در عوض، بودجههای متصل به DAO را به یک قرارداد هوشمند تازهی ایجاد شده با تنها هدف انتقال صاحبان اصلی به برداشت وجوه خود منتقل کرد. دارندگان رمز DAO اکنون میتوانند اتریوم را با نرخ تقریبی ۱۰۰ DAO برداشت کنند. موجودی اضافی توکنها و هر اتر که در نتیجهی هارد فورک باقی بماند توسط متصدیان DAO برداشت و توزیع میشود تا «حفاظت از ایمنی» را برای سازمان فراهم کند.
انواع هارد فورک
یک هارد فورک برنامه ریزی شده؛ یک بروزرسانی در پروتکل است که از ابتدا در نقشهی راه (Roadmap) پروژه در نظر گرفته میشود. از آنجایی که این آپدیت در راستای قابلیتها و ویژگیهای بلاک چین است، تمامی شرکت کنندگان به رهبری توسعه دهندگان اصلی به زنجیرهی جدید رفته و نرمافزار خود را بروزرسانی میکنند زیرا این تغییرات در سطح کد نویسی پایهی شبکه می پذیرند. در این فورک زنجیرهی قبلی از بین خواهد رفت و دلیلی نیز برای حمایت از آن وجود نخواهد داشت. در این فورک کوین جدیدی به وجود نخواهد آمد.
برای مثال؛ هاردفورکهای موجود در نقشهی راه اتریوم از این نوع هستند. بیزانس (Byzantium)، قسمت اول بروزرسانی مربوط به اتریوم دو بود. این فورک در اکتبر سال ۲۰۱۷ به اتفاق اقتاد و هدف آن بهبود مقیاس پذیری اتریوم و یکپارچه سازی تراکنشهای خصوصی است.
هارد فورک بحث برانگیز (Contentious Hard Forks)
هارد فورک بحث برانگیز به علت اختلاف نظر بین اعضای شبکه اتفاق میافتد و مسبب میشود بخشی از شرکتکنندگان، زنجیرهی تازهای که از نظر خودشان بهتر است را با تغییرات عمدهای در کد ایجاد کنند.
به عنوان مثال؛ بیت کوین کش (Bitcoin Cash)؛ هاردفورکی بود که به وسیلهی گروهی که میخواستند مقیاسپذیری بیت کوین را با افزایش سایز بلاک از ۱ مگابایت به ۸ مگابایت افزایش دهند، ترتیب داده شده است. این کار باعث میشود که شبکه بتواند تراکنشهای بیشتری را پردازش نماید. کارمزد شبکه کاهش پیدا کرده و همچنین تنگنای شبکهی بیت کوین با افزایش استفاده از آن بهبود داده شده. این هاردفورک منجربه پیدایش ارز جدیدی به اسم بیت کوین کش گردید.
سکه های مشتق (Spin-off Coins)
به دلیل این که پروتکل بیت کوین متن باز است. هرفردی قادرخواهد بود به کدهای پایهی آن دسترسی داشته و آن را تغییر دهد نه ارز جدیدی را با ویژگیهای مختلفی به وجود آورد. مثلا لایت کوین (Litecoin)، فورکی از بیت کوین بود که با تغییراتی به وجود آمد؛ تغییرات به وجود آمده زمان ایجاد یک بلاک (زمان ساخت یک بلاک در لایت کوین ۲.۵ دقیقه است که این زمان برای بیت کوین معادل ۱۰ دقیقه خواهد بود) الگوریتم (لایت کوین از الگوریتم اسکریپت به جای SHA256 استفاده میکند) پیشینهی سکههای موجود (Max Supply) (این رقم برای لایت کوین ۸۴ میلیون و برای بیت کوین ۲۱ میلیون است).
چه زمانی فورک اتفاق می افتد؟
فورکها بیشتر اوقات اتفاق میافتند که لازم نیست برای همهی آنها خود را آماده کنیم. فورک زمانی موفقیت به دست میآورد که قادر باشد نظر اکثریت کاربران را جذب نماید. فورکهای مشروع معمولا میتوانند محبوبیت لازم را به دست بیاورند و تاریخ وقوع آنها مشخص است.
ارتفاع بلاک (BlockHeight)
برای راه اندازی فورک، شمارهی بلوک مشخص در نظر گرفته خواهد شد. هر چقدر این بلاکی که فورک از آنجا آغاز شده و رخ میدهد؛ دورتر از بلاک جنسیس باشد، سختتر میتوان فورک را پیشبینی نمود و هر جقدر به زمان فورک نزدیکتر شویم، میتوان بیان کرد که دقیقا چه روزی و چه ساعتی اتفاق خواهد افتاد. این موضوع به این علت است که نرخ تشکیل بلوکهای جدید به توان استخراج کنندگان شبکهی بلاک چین بستگی دارد. زمانی که اندازهی بلاک مورد نظر مشخص شود، شبکهی تنظیم شده و بلاک چین جدید برمیخیزد. هر تراکنشی که بر روی بلاک چین قدیمی بعد از تعیین اندازهی بلاک فورک شده انجام گیرد، در بلاک چین جدید معتبر نخواهد بود.
به همین دلیل اگر پس از شمارهی بلاک مشخص شده، ارز دیجیتال خرید کنید، دیگر به شما واحدی از ارزهای دیجیتال قبلی تعلق نمیگیرد. ارزهای دیجیتال خود را در یک کیف پول امن نگه دارید و صرافی که از آن استفاده مینمایید باید از کوین جدید و اعطای آن به کاربران خود پشتیبانی کند.
از کیف پول دیجیتالی استفاده نمایید که از کوین جدید پشتیبانی میکند. فورکهای قابل اطمینان حتما باید کد منبع خود را پیش از وقوع، منتشر نمایند. این موضوع به توسعه دهندگان کیف پولهای دیجیتالی امکان میدهد تا خود را با بازار تطبیق داده و از کوین جدید با اطمینان پشتیبانی نمایند. به هنگام استفاده از کیف پولی که جدیدا وارد بازار شده و ادعا دارد از کوین جدید پشتیبانی مینماید، جوانب احتیاط را رعایت نمایدد. هرگز نباید به کیف پول یا کوین جدیدی که متن باز نیست و کاربرهای زیادی ندارد، استفاده نکنید.
برای یک قانون کلی از انجام ترکنشها در حین یک فورک اصلی خوداری کنید. تراکنشهای شما را تا زمانی که از امنیت و کارکرد فورک مطمئن حاصل نکردید، با ارز جدید انجام ندهید.
برای به دست آوردن کوینهای مجانی از فورک بیت کوین باید قبل از مشخص شدن «ارتفاع بلاک» (block height)، ارز دیجیتال اصلی که از آن داشته باشید. توسعه دهندگان زنجیرههای جدید از «دفتر کل دریک» (block height) مشخص کپی کرده و همان را در زنجیرهی تازه تکرار می نمایند به همین دلیل است که به دارندگان بیت کوین در زنجیرهی قدیم معادل داراییهایشان، کوین جدید تعلق میگیرد. این زنجیره پس از رشد شبکهی فورک شده؛ مستقل خواهد شد.
پس از مستقل شدن بلاک چین جدید که میتواند روزها، هفتهها یا ماهها بکزمان ببرد تا کیف پول شما از آن پشتیبانی نماید و سکههای جدیدتان را دریافت کنید.
اگر مایل به دریافت کوینهای جدید خود بعد از فورک هستید ابتدا موجودی بیت کوین خود را به آدرس دیگری منتقل نمایید. نباید از آدرسی که در آن کوینهای فورک نشده هستند، درخواست کوینهای جدید بدهید و اینکار حتی میتواند منجر به از دست رفتن سرمایهی اصلی شما شود.
سافت فورک چیست؟
سافت فورک یک بروزرسانی نرمافزاری است که با نسخههای قبل (backward-compatible) است. به این معنی است که شرکت کنندگان که نرمافزارهای خود را بروزرسانی نکرده باشند هم میتوانند در «اعتبار سنجی» (Validation) و تایید (Verification) تراکنشها شرکت نمایند. پیاده کردن سافت فورک آسانتر است زیرا فقط نیاز است که اکثر شرکت کنندگان نرمافزار خود را بروزرسانی کنند.
تمامی شرکت کنندگان چه نرمافزار خود را بروزرسانی کرده باشند و چه آپدیت نکرده باشند قادر خواهند بود بلاکهای جدید را تشخیص داده و فعالیتهایشان را با شبکه سازگار نمایند. نکتهی قابل توجه این موضوع است که عملکرد شرکتکنندهای که سیستم خود را به روزرسانی نکردهاست تحت تاثیر قرار خواهد کرفت.
یک مثال برای سافت فورک این موضوع است که مثلا سایز بلاکها از ۱ مگابایت به ۸۰۰ کیلیوبایت تغییر پیدا کرد. نودهایی از شبکه که نرمافزار خود را آپدیت نکردهاند میتوانند در سافت فورک تراکنشهای جدید را ببینند. زمانی مشکل پیش میآید، استخراج کنندهای که نرمافزار خود را بروزرسانی نکرده است. بخواهد بلاک جدیدی را ثبت کرده و توسط شبکه رد شود. از این جهت سافت فورک یک مکانیزم ارتقا تدریجی را نشان میدهد که افرادی که نرمافزار خود را به روزرسانی نکردهاند با محدود شدن قابلیت هایشان،انگیزهی کافی برای این کار را پیدا کردهاند.
هارد فورک در مقابل سافت فورک
هارد فورک و سافت فورک اساساً یکسان هستند به این معنا که وقتی کد موجود یک بستر رمزنگاری تغییر میکند، هنگام ایجاد نسخهی جدید، یک نسخه قدیمی در شبکه باقی میماند. با استفاده از یک سافت فورک، فقط یک بلاک چین معتبر باقی میماند زیرا کاربران از این به روزرسانی استفاده میکنند. در حالی که با یک هارد فورک، بلاک چینهای قدیمی و جدید هر دو در کنار هم وجود دارند؛ به این معنی که نرم افزار باید به روز شود تا طبق قوانین جدید کار کند. هر دو فورک شکاف ایجاد میکنند ، اما یک هارد فورک دو بلاک چین ایجاد می کند و یک سافت فورک به این نتیجه میرسد که یکی ایجاد میکند.
با توجه به تفاوت در امنیت بین هارد فورک و سافت فورک، تقریباً همهی کاربران و توسعه دهندگان خواستار هارد فورک هستند، حتی اگر یک سافت فورک به نظر میرسد می تواند کار را انجام دهد. تعمیرات اساسی بلوکها در یک بلاک چین به قدرت محاسباتی فوق العادهای نیاز دارد، اما حریم خصوصی حاصل از یک هارد فورک بیشتر از استفاده از سافت فورک است.