# سيرفر واحد فاته تحديث: كيف خسرت نايت كابيتال 460 مليون دولار

> سيرفر واحد فاته تحديث فاستيقظ كود مهجور من 2003. هذا ما وثقته هيئة SEC عن 45 دقيقة في شركة نايت كابيتال يوم 1 أغسطس 2012.

*2026-11-02T13:42:58Z*

# سيرفر واحد فاته تحديث: كيف خسرت نايت كابيتال 460 مليون دولار

في 1 أغسطس 2012 نشرت شركة التداول الأمريكية نايت كابيتال (Knight Capital) كودًا جديدًا على ثمانية سيرفرات، وفاتها واحد. وبعد نحو 45 دقيقة من فتح السوق كانت تحمل أسهمًا بمليارات الدولارات لم تقصد شراءها أو بيعها، وانتهى الأمر بخسارة تجاوزت 460 مليون دولار. هذه هي القصة كما وثقتها هيئة الأوراق المالية والبورصات الأمريكية (SEC).

## في 60 ثانية (الفيديو)

1. **سيرفر واحد فاته تحديث.** وانتهى الأمر بأن كلّف شركته أكثر من 460 مليون دولار.
2. **ثمانية سيرفرات، سبعة تحدثت.** نشرت الشركة الكود الجديد ونسيت واحدًا.
3. **97 إيميل خطأ.** أرسلها النظام منذ نحو الثامنة صباحًا، ولم يتعامل معها أحد كتنبيه.
4. **التاسعة والنصف، السوق يفتح.** والسيرفر الثامن يوقظ كودًا مهجورًا منذ 2003.
5. **هذا الكود لا يعرف كلمة «خلاص».** يُنفَّذ الطلب فيواصل إرسال المزيد.
6. **نحو 1500 صفقة في الثانية في المتوسط.** ولا توجد خطة لإيقافها.
7. **الحل زاد الأمر سوءًا.** أزال الفريق الكود الجديد من السيرفرات السبعة السليمة.
8. **45 دقيقة.** ليس هاكر، بل كود قديم لم يمسحه أحد وسيرفر لم يراجعه أحد.

## ماذا حدث بالضبط؟

كان موجّه الطلبات الآلي في نايت يسمى SMARS. يستقبل الطلب الأصلي (parent)، ثم يرسل إلى السوق طلبات فرعية أصغر (child) حتى يكتمل الطلب الأصلي.

وللانضمام إلى برنامج جديد لطلبات الأفراد في بورصة نيويورك بدأ يوم 1 أغسطس، كتبت نايت كودًا جديدًا لـ SMARS. كان هذا الكود سيحل محل ميزة قديمة غير مستخدمة اسمها **Power Peg**، وأعاد استخدام العلامة (flag) نفسها التي كانت تشغّلها.

وكانت ثلاثة قرارات قديمة في الانتظار:

- **2003:** توقفت نايت عن استخدام Power Peg لكنها تركت الكود على سيرفرات الإنتاج.
- **2005:** نقلت نايت الجزء الذي يعد الأسهم المنفَّذة، وهو ما كان يخبر Power Peg متى يتوقف، ولم تختبر Power Peg بعدها.
- **من 27 يوليو 2012:** نُشر الكود الجديد على مراحل. ولم ينسخه أحد الفنيين إلى واحد من السيرفرات الثمانية، ولم يراجع فني ثانٍ عملية النشر، ولم يكن هناك إجراء مكتوب يطلب ذلك.

وهكذا في صباح 1 أغسطس قرأت سبعة سيرفرات العلامة على أنها الميزة الجديدة، وقرأها الثامن على أنها Power Peg.

## التحذير الذي لم يقرأه أحد

منذ نحو الساعة 8:01 صباحًا أرسل نظام داخلي رسائل آلية تذكر SMARS وخطأ «Power Peg disabled». خرجت 97 رسالة منها قبل فتح السوق في 9:30. لم تكن مصممة كتنبيهات للنظام، ولم يكن الموظفون يراجعونها عادة عند وصولها. وتشير الهيئة إلى أنها منحت نايت فرصة محتملة لاكتشاف المشكلة قبل فتح السوق.

## 45 دقيقة

مقابل 212 طلبًا صغيرًا للأفراد، أرسل السيرفر الثامن ملايين الطلبات الفرعية. ولأن وظيفة العد نُقلت من مكانها، ظل يرسل دون اعتبار لعدد الأسهم التي نُفذت بالفعل.

| ما سجلته هيئة SEC | الرقم |
|---|---|
| الطلبات الواردة التي شغّلته | 212 |
| عمليات التنفيذ | أكثر من 4 ملايين |
| الأسهم | 154 سهمًا |
| عدد الأسهم المتداولة | أكثر من 397 مليون سهم |
| المدة | نحو 45 دقيقة |
| مركز شراء صافٍ | نحو 3.5 مليار دولار في 80 سهمًا |
| مركز بيع صافٍ | نحو 3.15 مليار دولار في 74 سهمًا |
| الخسارة النهائية | أكثر من 460 مليون دولار |

رقمان يحتاجان إلى انتباه:

- **460 مليون دولار هي الخسارة النهائية** على تلك المراكز، وليست معدلًا في الدقيقة، ولا مبلغًا اختفى لحظة النشر.
- **1500 صفقة في الثانية متوسط.** وهو حسابنا نحن وليس رقمًا من الهيئة: نحو 4 ملايين عملية تنفيذ على نحو 45 دقيقة تساوي قرابة 1500 في الثانية.

## الحل الذي زاد الأمر سوءًا

أثناء الحادث أزالت نايت الكود الجديد من السيرفرات السبعة التي نُشر عليها بشكل صحيح. فزادت المشكلة، إذ صارت طلبات واردة أخرى تشغّل Power Peg. ولم تكن لدى نايت إجراءات لإيقاف SMARS عند اختلال سلوكه، ولا ضابط يقارن الطلبات الخارجة منه بالداخلة إليه.

## ماذا فعلت هيئة SEC؟

في قرار بتاريخ 16 أكتوبر 2013 خلصت الهيئة إلى أن نايت خالفت القاعدة التي تُلزم الوسطاء بضبط مخاطر وصولهم إلى السوق. وتمت التسوية دون إقرار أو نفي للنتائج، ووافقت نايت على دفع غرامة 12 مليون دولار وعلى الاستعانة بمستشار مستقل لمراجعة إجراءاتها وضوابطها.

## ماذا تأخذ إلى عمليات النشر عندك؟

- **امسح الكود الذي لا تستخدمه.** الكود الميت يعمل إذا استدعاه شيء ما.
- **لا تُعِد استخدام علامة** كانت تعني شيئًا آخر.
- **تحقق من كل سيرفر بعد النشر** آليًا، بدل الثقة في الخطوات.
- **حدد ما هو التنبيه.** إيميل الخطأ الذي لا يقرؤه أحد ليس مراقبة.
- **اكتب خطة إيقاف**، واعرف هل يمكن أن يزيد التراجع عن النشر الأمر سوءًا.

الكود الذي لا تستخدمه؟ امسحه قبل أن يمسحك.

## أسئلة شائعة

### هل خسرت نايت كابيتال 460 مليون دولار في الدقيقة أو في لحظة واحدة؟
لا. استمرت الطلبات نحو 45 دقيقة وتركت نايت تحمل مراكز غير مرغوبة، والخسارة التي تجاوزت 460 مليون دولار هي ما كلفته تلك المراكز في النهاية.

### هل كان هناك هاكر؟
لا. تصف الهيئة خطأ في النشر وكودًا قديمًا بقي على سيرفر إنتاج، وليس هجومًا.

### هل 1500 صفقة في الثانية رقم دقيق؟
لا. هو متوسط: نحو 4 ملايين عملية تنفيذ مقسومة على نحو 45 دقيقة تساوي قرابة 1500 في الثانية.

## المصادر

- [بيان هيئة SEC رقم 2013-222](https://www.sec.gov/newsroom/press-releases/2013-222): الاتهامات والخسارة التي تجاوزت 460 مليون دولار.
- [قرار هيئة SEC الإداري، الإصدار 70694 (16 أكتوبر 2013)](https://www.sec.gov/litigation/admin/2013/34-70694.pdf): النشر وPower Peg والرسائل والأرقام والضوابط والتعهدات. كل الوقائع أعلاه من هذا القرار، عدا متوسط الثانية الذي حسبناه منه.

## اقرأ أيضًا

- [ما هي القيمة الخالية (Null) في البرمجة؟](https://fadymondy.com/ar/blog/what-is-null)
- [ما هي المتغيرات البرمجية؟](https://fadymondy.com/ar/blog/what-is-a-variable)

---

Source: https://fadymondy.com/ar/blog/knight-capital-460-million-bug
