⛓ دانشکدهٔ ۲ · تکامل، مقیاسپذیری و ارتباط زنجیرهها
فورکها: فورک نرم، فورک سخت و انشعاب زنجیره
Forks: soft forks, hard forks and chain splits
پیشنیازها: بلاکچین چیست؟ دفتر کل توزیعشده، نودها و اعتبارسنجهااثبات کار (PoW): استخراج، دشواری و حملهٔ ۵۱٪
📚 آموزش در سه سطح
از سطح ساده شروع کنید؛ اگر روشن بود، سطح بعد را بخوانید. سطح مناسب شما ذخیره میشود.
🌱 توضیح ساده
«فورک» یعنی دوشاخهشدن. در بلاکچین این کلمه دو معنا دارد. معنای اول، دوشاخهشدن موقت است: گاهی دو ماینر تقریباً همزمان بلاک پیدا میکنند و برای چند دقیقه دو نسخهٔ رقیب وجود دارد؛ با آمدن بلاک بعدی، شاخهٔ سنگینتر برنده میشود و شاخهٔ دیگر کنار میرود. این اتفاقی عادی است. معنای دوم، تغییر قواعد شبکه است؛ چیزی شبیه تغییر مقررات یک بازی که همهٔ بازیکنان باید با آن کنار بیایند.
فرض کنید قانون یک باشگاه میگوید هر عضو حداکثر ۱۰ کتاب امانت بگیرد. اگر قانون جدید سقف را به ۵ کتاب کاهش دهد، اعضای قدیمی که از قانون تازه خبر ندارند، باز هم امانتهای ۵تایی را درست میبینند؛ این مثل «فورک نرم» است: قواعد سختگیرانهتر میشوند ولی با نسخههای قدیمی سازگار میمانند. اما اگر سقف به ۲۰ کتاب افزایش یابد، اعضای قدیمی امانت ۱۵تایی را خلاف قانون میدانند؛ این مثل «فورک سخت» است: همه باید نرمافزارشان را بهروز کنند، وگرنه دو گروه با دو دفتر متفاوت پدید میآید.
اگر در یک فورک سخت بخشی از جامعه بهروزرسانی را نپذیرد، زنجیره به دو زنجیرهٔ مستقل با دو رمزارز جدا تقسیم میشود که تا نقطهٔ فورک تاریخچهٔ مشترک دارند. کسی که پیش از فورک دارایی داشته، معمولاً در هر دو زنجیره همان مقدار را دارد. این را نباید «پول مجانی» دانست؛ ارزش هر زنجیره را بازار تعیین میکند و دورههای فورک پر از کلاهبرداریهایی است که با بهانهٔ «دریافت سکهٔ جدید» عبارت بازیابی کاربران را میخواهند.
📘 توضیح متوسط
فورک نرم مجموعهٔ بلاکهای معتبر را «کوچکتر» میکند: هر بلاکی که طبق قواعد جدید معتبر است، طبق قواعد قدیم هم معتبر است. بنابراین نودهای قدیمی از زنجیره جدا نمیشوند، هرچند همهٔ قواعد تازه را خودشان بررسی نمیکنند. فورک نرم وقتی امن است که اکثریت توان تولید بلاک قواعد جدید را اجرا کند؛ در غیر این صورت ممکن است بلاکهایی ساخته شود که فقط نودهای قدیمی آنها را بپذیرند. فورک سخت مجموعهٔ بلاکهای معتبر را «بزرگتر» یا متفاوت میکند: دستکم یک بلاک معتبر جدید وجود دارد که نودهای قدیمی آن را رد میکنند.
SegWit نمونهٔ مهم فورک نرم بیتکوین است که در ۲۴ اوت ۲۰۱۷ در بلاک ۴۸۱۸۲۴ فعال شد؛ دادههای امضا را از محاسبهٔ txid جدا کرد، مشکل انعطافپذیری را مهار کرد و ظرفیت مؤثر بلاک را با مفهوم «وزن» افزایش داد. Taproot فورک نرم دیگری بود که در ۱۴ نوامبر ۲۰۲۱ در بلاک ۷۰۹۶۳۲ فعال شد و امضای Schnorr و اسکریپتهای انعطافپذیرتر را آورد. فعالسازی Taproot با روشی به نام Speedy Trial انجام شد: ماینرها باید در یک دورهٔ ۲۰۱۶ بلاکی، دستکم در ۱۸۱۵ بلاک (حدود ۹۰٪) آمادگی خود را اعلام میکردند.
اتریوم ارتقاهایش را معمولاً بهصورت فورک سخت برنامهریزیشده انجام میدهد و چون تقریباً همهٔ نودها و کلاینتها بهروز میشوند، انشعابی پدید نمیآید؛ مانند London در اوت ۲۰۲۱ (EIP-1559)، ادغام در سپتامبر ۲۰۲۲، Shapella در آوریل ۲۰۲۳ و Dencun در مارس ۲۰۲۴. پس «فورک سخت» لزوماً به معنای دو زنجیره نیست؛ انشعاب فقط وقتی رخ میدهد که بخشی از جامعه با پشتوانهٔ اقتصادی کافی، قواعد قدیم را ادامه دهد.
🔬 توضیح تخصصی
سازوکار فعالسازی خودش موضوعی بحثبرانگیز است. در روش BIP9، ماینرها با بیتهای فیلد نسخه آمادگی را اعلام میکنند و فورک نرم پس از رسیدن به آستانه (برای SegWit ۹۵٪) قفل میشود. در ۲۰۱۷ آمادگی برای SegWit ماهها زیر آستانه ماند؛ پیشنهاد «فورک نرم فعالشده توسط کاربران» (BIP148) تهدید کرد نودهایش از تاریخ مشخصی بلاکهای بدون اعلام SegWit را رد کنند، و BIP91 با آستانهٔ پایینتر راه سازش شد. این ماجرا نشان داد قدرت نهایی در تغییر قواعد نزد کسانی است که با نود کامل خود بلاکها را میپذیرند یا رد میکنند و ارزش اقتصادی را در اختیار دارند، نه صرفاً نزد ماینرها.
در انشعاب، «حملهٔ بازپخش» (replay attack) خطر مهمی است: اگر قالب تراکنش در دو زنجیره یکسان باشد، تراکنشی که در یک زنجیره امضا شده میتواند در زنجیرهٔ دیگر هم پخش و اجرا شود. بیتکوین کش برای حفاظت، شیوهٔ جدیدی برای هش امضا (SIGHASH_FORKID) معرفی کرد؛ اتریوم پس از تجربهٔ ETC، شناسهٔ زنجیره را با EIP-155 وارد امضا کرد. فورکها ممکن است تصادفی هم باشند: در مارس ۲۰۱۳ تفاوت رفتار پایگاه دادهٔ نسخهٔ 0.8 و نسخههای قدیمیتر Bitcoin Core باعث شد زنجیره چند ساعت دوشاخه شود و ماینرها با بازگشت هماهنگ به قواعد قدیمی آن را حل کردند؛ نمونهای که اهمیت «سازگاری اجماع» میان نسخههای نرمافزار را نشان میدهد.
فورک سخت مزیتهایی هم دارد: تغییرات بزرگ را تمیزتر و صریحتر انجام میدهد و نودهای قدیمی را مجبور میکند آگاهانه تصمیم بگیرند، در حالی که فورک نرم ممکن است نودهای قدیمی را بدون اطلاعشان به «نود نیمهکامل» تبدیل کند که برخی قواعد را بررسی نمیکند. فرهنگ بیتکوین محافظهکار است و فورک نرم را ترجیح میدهد؛ فرهنگ اتریوم ارتقای منظم با فورک سخت را پذیرفته است. برای سرمایهگذار، پرسشهای عملی اینهاست: آیا صرافی شما از سکهٔ جدید پشتیبانی میکند؟ حفاظت در برابر بازپخش وجود دارد؟ و تا روشنشدن وضعیت، بهتر نیست از جابهجایی دارایی خودداری کنید؟
🌍 مثال واقعی: هک The DAO و تولد اتریوم کلاسیک (ژوئن و ژوئیهٔ ۲۰۱۶)
The DAO یک صندوق سرمایهگذاری غیرمتمرکز روی اتریوم بود که در سال ۲۰۱۶ حجم بزرگی از ETH را جمع کرده بود. در ژوئن ۲۰۱۶ مهاجمی با سوءاستفاده از یک آسیبپذیری در قرارداد هوشمند (از نوع «ورود مجدد» یا reentrancy) حدود ۳٫۶ میلیون ETH را به یک قرارداد فرزند منتقل کرد.
جامعهٔ اتریوم پس از بحثی داغ تصمیم گرفت با یک فورک سخت در ۲۰ ژوئیهٔ ۲۰۱۶ (بلاک ۱۹۲۰۰۰۰) این وجوه را به قراردادی برای بازگرداندن به سرمایهگذاران منتقل کند. گروهی که این مداخله را خلاف اصل «کد قانون است» میدانستند، زنجیرهٔ قبلی را بدون تغییر ادامه دادند؛ این زنجیره «اتریوم کلاسیک» (ETC) نام گرفت.
یک سال بعد، در ۱ اوت ۲۰۱۷، بیتکوین هم انشعاب مهمی دید: بیتکوین کش (BCH) با یک فورک سخت و افزایش سقف اندازهٔ بلاک به ۸ مگابایت از بیتکوین جدا شد. هر کس در نقطهٔ فورک بیتکوین داشت، به همان مقدار BCH هم داشت. هر دو رویداد در مرورگرهای بلاکچین و ethereum.org/en/history قابل بررسی است.
🔤 واژگان تخصصی
تغییری که قواعد را سختگیرانهتر میکند، بهطوری که بلاکهای معتبر جدید برای نودهای قدیمی هم معتبرند.
مثال: SegWit (۲۰۱۷) و Taproot (۲۰۲۱) فورک نرم بیتکوین بودند.
تغییری که بلاکهایی را معتبر میکند که نودهای قدیمی رد میکنند؛ همهٔ نودها باید بهروز شوند تا زنجیره یکی بماند.
مثال: ارتقای London در اتریوم فورک سختی بود که بدون انشعاب انجام شد.
وضعیتی که پس از فورک سخت، دو گروه با قواعد متفاوت هر کدام زنجیرهٔ خود را ادامه میدهند و دو رمزارز جدا شکل میگیرد.
مثال: ETH و ETC از ژوئیهٔ ۲۰۱۶ دو زنجیرهٔ جدا هستند.
پخش تراکنشی که در یک زنجیره امضا شده در زنجیرهٔ انشعابی دیگر، وقتی قالب تراکنشها یکسان و بدون حفاظت است.
مثال: EIP-155 با افزودن شناسهٔ زنجیره به امضا جلوی بازپخش میان ETH و ETC را گرفت.
اعلام آمادگی ماینرها برای یک فورک نرم با تنظیم بیتهای فیلد نسخه در سربرگ بلاک.
مثال: Taproot با آمادگی دستکم ۱۸۱۵ بلاک از یک دورهٔ ۲۰۱۶ بلاکی قفل شد.
🔑 نکات کلیدی
- فورک نرم قواعد را سختتر و با نودهای قدیمی سازگار نگه میدارد؛ فورک سخت بلاکهایی را مجاز میکند که نودهای قدیمی رد میکنند.
- فورک سخت فقط وقتی به انشعاب میرسد که بخشی از جامعه با پشتوانهٔ اقتصادی، قواعد قدیم را ادامه دهد.
- نمونهها: ETC (ژوئیهٔ ۲۰۱۶)، BCH (۱ اوت ۲۰۱۷)، SegWit (۲۴ اوت ۲۰۱۷) و Taproot (۱۴ نوامبر ۲۰۲۱).
- در انشعاب، حفاظت در برابر بازپخش و پشتیبانی صرافی را پیش از هر جابهجایی بررسی کنید.
- قدرت نهایی تغییر قواعد نزد کاربرانی است که با نود کامل بلاکها را میپذیرند یا رد میکنند، نه فقط ماینرها یا توسعهدهندگان.
⚠️ اشتباهات رایج
- تصور اینکه هر فورک سخت به دو رمزارز میانجامد؛ بیشتر ارتقاهای اتریوم فورک سخت بدون انشعاب بودهاند.
- دیدن سکهٔ انشعابی بهعنوان «پول مجانی» و واردکردن عبارت بازیابی در نرمافزارهای ناشناس برای دریافت آن؛ این مسیر رایج سرقت است.
- یکیدانستن دوشاخهشدن موقت (دو بلاک همزمان) با فورک قواعد؛ اولی عادی و خودبهخود حلشدنی است.
- فرض اینکه نود قدیمی پس از فورک نرم همهٔ قواعد را بررسی میکند؛ او قواعد جدید را نمیشناسد و فقط بلاکها را میپذیرد.
🛠 تمرین عملی: ردیابی فورکهای تاریخی در دادههای واقعی
- در mempool.space بلاک ۴۸۱۸۲۴ (فعالشدن SegWit) و بلاک ۷۰۹۶۳۲ (فعالشدن Taproot) را باز کنید و تاریخ هر کدام را یادداشت کنید.
- در یکی از بلاکهای اخیر، سهم تقریبی تراکنشهایی را که از خروجیهای SegWit یا Taproot استفاده میکنند بررسی کنید.
- در صفحهٔ تاریخچهٔ ethereum.org، تاریخ فورک DAO و ارتقاهای London، Paris (ادغام)، Shapella و Dencun را پیدا کنید.
- برای هر کدام از این رویدادها مشخص کنید فورک نرم بود یا سخت، و آیا به انشعاب زنجیره انجامید یا نه.
- در یک بند توضیح دهید اگر فردا انشعابی در یک شبکه اعلام شود، پیش از هر اقدامی چه چیزهایی را بررسی میکنید.
✅ معیار درستی: تاریخ بلاک ۴۸۱۸۲۴ باید ۲۴ اوت ۲۰۱۷ و بلاک ۷۰۹۶۳۲ باید ۱۴ نوامبر ۲۰۲۱ باشد؛ SegWit و Taproot فورک نرم، و DAO، London، Paris، Shapella و Dencun فورک سخت هستند که فقط DAO به انشعاب پایدار (ETC) انجامید.
🔒 در هیچ تمرینی از سرمایهٔ واقعی، عبارت بازیابی (Seed Phrase)، کلید خصوصی یا اتصال کیف پول اصلی استفاده نکنید.
📝 آزمون تطبیقی
هر بار ۵ سؤال از بانک ۸ سؤالی این درس انتخاب میشود؛ سؤالهایی که قبلاً اشتباه زدهاید زودتر برمیگردند. حدنصاب قبولی ۸۰٪ (۴ از ۵) است و درس بعد با قبولی باز میشود.
✍️ پرسش تشریحی
با مقایسهٔ فورک DAO (۲۰۱۶) و انشعاب بیتکوین کش (۲۰۱۷) توضیح دهید چه عواملی تعیین میکند که یک فورک سخت به انشعاب پایدار برسد یا نه. نقش ماینرها، نودهای کامل، صرافیها و دارندگان را بررسی کنید.
بعد از نوشتن، پاسخ خود را با این معیارها بسنجید
خودارزیابی: هر نکتهای را که پاسخ شما بهروشنی پوشش داده علامت بزنید.
🤖 دستیار آموزشی
دستیار آفلاین آکادمی: پاسخها فقط از متن درسها و واژگان همین آکادمی پیدا میشوند و منبع هر پاسخ نشان داده میشود. هوش مصنوعی مولد نیست، حدس نمیزند و هیچ سیگنال خرید و فروشی نمیدهد.
📎 منابع مطالعاتی
- ethereum.org — Ethereum history (The DAO fork and upgrades)
- Bitcoin Developer Guide — Block Chain (consensus rule changes)
- Bitcoin Optech — Soft fork activation
- Investopedia — Hard Fork
🏁 معیار تسلط بر این درس: بتوانید هر تغییر قاعده را بهعنوان فورک نرم یا سخت طبقهبندی کنید، چهار فورک تاریخی را با تاریخ و پیامد توضیح دهید و اقدامات احتیاطی در زمان انشعاب را نام ببرید.