‹ kembali ke daftar#24 / 26
MONEY 30/SEP/2026

Satu Server Ketinggalan Update, $440 Juta Hilang: Kisah Knight Capital

1 Agustus 2012, kode lama yang seharusnya sudah mati hidup lagi di satu server. Dalam 45 menit Knight Capital kehilangan ratusan juta dolar dan hampir punah.

Kalau ada satu hari yang harus dijadikan poster buat semua orang yang kerja di software, itu tanggal 1 Agustus 2012. Pagi hari, jam 9:30 waktu New York, pasar saham AS buka seperti biasa. Empat puluh lima menit kemudian, salah satu market maker terbesar di Amerika praktis sudah bangkrut. Bukan karena hack, bukan karena krisis kredit, bukan karena rumor. Cuma karena satu server dari delapan yang nggak ter-update waktu deploy.

Knight Capital itu bukan pemain kecil. Perusahaan ini mengeksekusi sekitar $21 miliar nilai saham per hari dan menyumbang sekitar 10% dari seluruh volume perdagangan saham AS. Pendapatannya gede, infrastrukturnya canggih, orang-orangnya jagoan. Tapi jagoan pun bisa jatuh cuma gara-gara langkah deploy yang salah.

Mekanisme: kenapa sistem bisa gagal?

Buat paham insiden ini, lo harus ngerti dua kata kunci: Power Peg dan deployment yang nggak atomik.

Power Peg adalah potongan kode lama yang dipakai Knight sejak sekitar 2003 untuk mengeksekusi pesanan besar dengan cara memecahnya jadi potongan kecil lalu mengirimnya ke pasar bertahap. Fungsi ini dimatikan pada 2005 karena sudah digantikan modul baru. Tapi — dan ini akar masalahnya — kodenya tidak dihapus. Dia cuma "dimatikan" lewat sebuah penanda (flag) di dalam kode. Kode mati yang masih menempel di sistem, menunggu kondisi tertentu untuk bangkit lagi.

Lalu datanglah 1 Agustus 2012. Bursa New York (NYSE) meluncurkan program baru bernama Retail Liquidity Program (RLP), dan Knight harus menyesuaikan sistem routing mereka supaya mematuhi aturan baru itu. Jadi tim mereka menyiapkan patch baru yang harus dipasang ke delapan server yang menjalankan sistem tersebut.

Di sinilah kesalahannya. Kode baru itu memakai ulang fungsi lama, dan efeknya bergantung pada sebuah penanda posisi yang harus di-set dengan benar. Pada tujuh server, kode dan penandanya terpasang benar. Pada satu server, versi barunya tidak pernah terpasang — entah terlewat, entah gagal. Server itu masih menjalankan konfigurasi lama, dan di sana, begitu menerima order, fungsi Power Peg lama ikut hidup tanpa penanda pengaman yang benar.

Dari situ, mesinnya lepas kendali:

  1. Datang order beli. Power Peg mengirim anak-order beli ke pasar — tapi karena penanda posisi nggak di-update, dia terus mengirim, mengirim, mengirim.
  2. Datang order jual. Dia mengirim anak-order jual, juga tanpa henti.
  3. Pasar dibanjiri order bertubi-tubi dari satu server yang berteriak dalam bahasa yang sudah mati sejak 2005.

Bagi pasar, ini bukan "komputer rusak". Ini market maker besar yang tiba-tiba berperilaku seperti trader panik — beli dan jual secara acak dan agresif tanpa batas. Likuiditas dan harga di ratusan saham langsung kacau.

Kronologi insiden

Singgungan dengan Flash Crash 2010

Knight bukan insiden pertama di mana algoritma mengguncang pasar. Pada 6 Mei 2010, sebuah flash crash membuat Dow Jones terjun sekitar 1.000 poin (≈9%) dalam hitungan menit, menghapus sekitar $1 triliun nilai pasar secara sementara sebelum pulih sebagian. Laporan bersama SEC dan CFTC menyimpulkan pemicunya kombinasi penjualan algoritmik besar dan interaksi dengan trader frekuensi tinggi di pasar yang terfragmentasi. Belakangan, trader Navinder Singh Sarao didakwa atas manipulasi spoofing yang diduga memperparah gejolak itu.

Pola keduanya sama: pasar modern yang sangat cepat, otomatis, dan saling terhubung bisa runtuh bukan karena niat jahat, tapi karena perilaku otomatis yang lepas kendali. Bedanya, 2010 menyangkut algoritma yang keliru berinteraksi; 2012 menyangkut operasional: kode yang salah tempat.

Siapa untung, siapa rugi?

Pelajaran buat orang biasa (dan terutama buat software engineer)

  1. Kode mati bukan kode mati kalau masih ikut ter-compile. Power Peg dianggap sudah mati sejak 2005 — tapi masih ada di build mereka. Kalau lo meninggalkan fitur hidup di produksi hanya dengan "dimatikan lewat flag", lo memelihara bom. Hapus, atau isolasi total.
  2. Deploy itu operasi berisiko, bukan formalitas. Salah menaruh satu file di satu dari delapan server bisa menghancurkan perusahaan. Deploy harus otomatis, terverifikasi, dan idempotent — bukan copy manual yang bergantung pada ketelitian manusia jam 3 pagi.
  3. Butuh kill switch. Kalau tim harus mencari-cari dulu mana yang salah selama 45 menit, kontrol daruratnya sudah gagal. Setiap sistem otomatis butuh tombol mati yang cepat dan bisa dipakai tanpa debat.
  4. Pakai canary, feature flag, dan rollout bertahap. Nyalakan fitur baru ke sebagian kecil lalu pantau, jangan semuanya sekaligus.
  5. Monitor hal yang penting, bukan cuma server hidup. Knight punya data, tapi nggak langsung mencegah order luar biasa keluar. Alarm harus berdasar performa bisnis, bukan cuma CPU.
  6. Punya rencana rollback. Kalau versi baru bikin kacau, lo harus bisa kembali ke versi aman dalam menit, bukan jam.

Opini gue

Cerita Knight bikin gue mikir bahwa banyak bencana teknologi bukan berasal dari kekurangan insinyur pintar, tapi dari perbedaan antara "berjalan di laptop" dan "berjalan di 8 server sekaligus saat pasar buka". Dunia software suka meromantisasi kecepatan dan fitur, tapi Knight menunjukkan sisi sebaliknya: operasional yang membosankan — verifikasi deploy, penghapusan kode mati, prosedur darurat — justru yang menentukan nyawa perusahaan.

Yang bikin kisah ini lucu-tragis: yang salah dari Knight adalah yang salah dari hampir semua tim engineering. Mereka dibayar buat menambah fitur baru, bukan buat merapikan yang lama. Kode lama yang "sudah nggak dipakai" selalu jadi prioritas terakhir untuk dibuang. Sampai dia bangun dan menagih.

Kesimpulan

Knight Capital mengajarkan satu pelajaran yang murah buat kita pelajari, tapi mahal banget buat mereka: infrastruktur itu bagian dari keamanan. Sebuah sistem tidak jadi aman hanya karena logikanya benar; dia aman karena cara dia dipasang, dipantau, dan dimatikan juga benar. Kode yang benar di server yang salah tetap bisa menghancurkan perusahaan.

Buat lo yang kerja dengan software: karma Knight adalah pengingat harian bahwa deploy yang membosankan bisa jadi momen paling berbahaya dalam karier lo. Hormati proses, buang kode mati, dan pastikan tombol mati lo benar-benar berfungsi. Untuk sisanya, ini juga pengingat bahwa pasar yang tampak paling "pintar" dan paling cepat sekalipun dibangun oleh manusia dan bisa rusak karena mekanisme yang sepele — bahkan satu server yang ketinggalan update.

Sumber

BACA JUGA