سافت فورک نوعی تغییر در قوانین اعتبارسنجی یک بلاک چین است. پس از اجرای آن، بعضی بلوکها یا تراکنشهایی که پیشتر معتبر بودند دیگر پذیرفته نمیشوند؛ در مقابل، بلوکهایی که با قوانین تازه معتبرند، با قوانین قدیمی هم معتبر به نظر میرسند. به این ویژگی «سازگاری با نسخههای قبلی» میگویند. سافت فورک نام یک ارز دیجیتال یا انشعاب خودکار به دو دارایی نیست، بلکه روشی برای تغییر قواعد شبکه است.
در این مقاله چه میخوانیم؟
این سازگاری به گرههایی که نرمافزار خود را بهروزرسانی نکردهاند امکان میدهد بلوکهای مطابق قانون تازه را همچنان دنبال کنند. بااینحال، آن گرهها قانون تازه را بررسی نمیکنند. بنابراین ادامه کارشان به معنی برخورداری از همان توان اعتبارسنجی گرههای بهروز نیست.

سافت فورک چگونه کار میکند؟
گرههای شبکه بر پایه قواعد مشترک تصمیم میگیرند کدام تراکنش و بلوک معتبر است. سافت فورک مجموعه موارد مجاز را محدودتر میکند. گره بهروز، هم قوانین قبلی و هم محدودیت تازه را میسنجد؛ گره قدیمی فقط قوانین قبلی را میشناسد. در نتیجه، بلوکی که از آزمون گره بهروز بگذرد، از دید گره قدیمی نیز معتبر است. اما ممکن است گره قدیمی بلوکی را بپذیرد که گره بهروز به دلیل نقض قانون تازه رد میکند.
پیشنهاد، زمانبندی و شیوه فعالسازی هر تغییر به همان شبکه و طرح آن بستگی دارد. در بیتکوین، برخی طرحها از علامتگذاری حمایت استخراجکنندگان در بلوکها استفاده کردهاند و برخی تغییرات با رسیدن به زمان یا ارتفاع مشخصی فعال شدهاند. علامتگذاری و فعالشدن قانون را نباید با پشتیبانی همه کاربران یکی دانست. پس از فعالسازی نیز اجرای مؤثر قانون به مشارکت کسانی وابسته است که بلوک تولید میکنند و گرههایی را اداره میکنند که قانون تازه را اعمال میکنند.
یک مثال فرضی
فرض کنید شبکهای تا امروز اجازه میدهد یک نوع داده در بلوک با دو قالب «الف» و «ب» ثبت شود. حالا قانون تازه میگوید از زمان فعالسازی، فقط قالب «الف» معتبر است. گرههای بهروز بلوکی را که قالب «ب» دارد رد میکنند. گرههای قدیمی چون هنوز هر دو قالب را مجاز میدانند، بلوکهای دارای قالب «الف» را میپذیرند و میتوانند زنجیرهای را که مطابق قانون تازه ساخته شده دنبال کنند.
این مثال فقط جهت تغییر را نشان میدهد: قانون تازه دایره بلوکهای معتبر را کوچکتر کرده است. اگر تولیدکنندهای پس از فعالسازی همچنان بلوکی با قالب «ب» بسازد، گرههای بهروز آن را رد میکنند. بسته به رفتار دیگر مشارکتکنندگان، چنین اختلافی ممکن است به انشعاب موقت زنجیره بینجامد. سازگاری با نسخه قبلی، نبود هرگونه اختلاف در شبکه را تضمین نمیکند.
کاربرد عملی
سافت فورک راهی برای اعمال محدودیت تازه یا افزودن قابلیتی است که بتوان آن را در چارچوب قوانین قدیمی پیاده کرد. مزیت عملی آن این است که گرههای قدیمی برای تشخیص بلوکهای سازگار با قانون تازه، لزوماً به ارتقای فوری نیاز ندارند. این موضوع میتواند هماهنگی هنگام اجرای یک تغییر را آسانتر کند، زیرا لازم نیست همه نرمافزارها در یک لحظه نسخه یکسانی داشته باشند.
برای کاربر، شناخت سافت فورک بیشتر هنگام پیگیری تغییرات شبکه به کار میآید. اگر کیف پول، سرویس یا گره شخصی او به قابلیتی متکی باشد که با قانون تازه معرفی شده است، باید بررسی کند نرمافزار مورد استفادهاش از آن قابلیت پشتیبانی میکند یا خیر. ادامه اتصال یک نرمافزار قدیمی به شبکه، بهتنهایی نشان نمیدهد که آن نرمافزار میتواند تراکنشهای مرتبط با قابلیت تازه را بهدرستی بسازد یا همه قواعد تازه را مستقل بررسی کند.
تفاوت با هارد فورک
تفاوت اصلی در جهت تغییر قوانین اعتبارسنجی است. در سافت فورک، مواردی که طبق قانون قدیم نامعتبر بودند نامعتبر میمانند و بخشی از موارد معتبر پیشین ممکن است کنار گذاشته شوند. در هارد فورک، ممکن است بلوکی که طبق قانون قدیم نامعتبر بود، طبق قانون تازه معتبر شود. در چنین وضعی گره قدیمی نمیتواند آن بلوک تازه را معتبر بداند و برای پیروی از زنجیرهای که آن را میپذیرد باید قوانین خود را تغییر دهد.
این تفاوت درباره سازگاری قواعد است، نه ارزش یک دارایی یا نتیجه اقتصادی تغییر. همچنین واژه «فورک» گاهی برای جدا شدن موقت دو شاخه از زنجیره به کار میرود؛ چنین رخدادی لزوماً به معنی تغییر برنامهریزیشده قوانین نیست. هنگام خواندن خبر یک فورک، باید روشن شود که بحث بر سر تغییر قواعد اعتبارسنجی است یا صرفاً پیدایش دو بلوک رقیب در یک مقطع.
محدودیتها و نکات احتیاطی
سافت فورک همه مشکلات هماهنگی را برطرف نمیکند. گره قدیمی ممکن است تراکنشی را معتبر بداند یا به دیگران منتقل کند که گرههای بهروز آن را رد میکنند. به همین دلیل، اتکا به اطلاعات گرهای که قواعد فعال شبکه را نمیشناسد میتواند برای کاربری که اعتبارسنجی مستقل میخواهد کافی نباشد. تولیدکنندگان بلوک و ارائهدهندگان خدمات نیز باید اثر قانون تازه را بر نرمافزار و تراکنشهای خود بررسی کنند.
سازگاری همچنین به معنی تأیید اجتماعی یک پیشنهاد یا موفقیت قطعی اجرای آن نیست. فعالسازی، پذیرش تغییر و حفظ یک زنجیره مورد توافق، به شرایط همان شبکه وابستهاند. برای ارزیابی هر سافت فورک مشخص، باید متن پیشنهاد، قواعدی که تغییر میکنند، روش فعالسازی و وضعیت پشتیبانی نرمافزارهای مورد استفاده را جداگانه خواند. خود اصطلاح سافت فورک هیچ وعدهای درباره قیمت، سرعت شبکه یا سود کاربران نمیدهد.

