TWAP Oracle

Oracle TWAP (time-weighted average price) menurunkan harga aset sepenuhnya dari riwayat perdagangan AMM on-chain — merata-ratakan harga yang dicatat setiap detik selama jendela waktu tertentu — menjadikannya sangat tahan terhadap serangan flash loan dan manipulasi single-block yang menimpa oracle harga spot awal, karena alih-alih membaca harga spot saat ini dari DEX (yang dapat digerakkan dalam satu transaksi), oracle TWAP membaca akumulator harga kumulatif yang disimpan dalam smart contract AMM dan menghitung harga rata-rata selama periode yang ditentukan.


Cara Kerja TWAP

Akumulator Harga Kumulatif

Uniswap V2 mempelopori TWAP on-chain dengan menyimpan akumulator harga — jumlah kumulatif harga di awal setiap blok — langsung dalam kontrak pool:

“`

price_cumulative += current_spot_price × time_elapsed_since_last_update

“`

Untuk menghitung TWAP selama jendela waktu apa pun, kamu membutuhkan dua pembacaan:

TWAP = (price_cumulative_now − price_cumulative_then) ÷ time_elapsed

Smart contract apa pun dapat memanggil pool pada dua titik waktu dan mendapatkan harga rata-rata di antaranya — tanpa sumber data eksternal, tanpa pihak ketiga yang dipercaya.


Peningkatan Oracle Uniswap V3

Uniswap V3 meningkatkan oracle TWAP secara signifikan:

  • Menyimpan hingga 65.535 observasi historis per pool
  • Mengakumulasi rata-rata geometrik harga (berbasis log) daripada rata-rata aritmetika — lebih baik untuk aset dengan rentang harga besar
  • Beberapa jendela waktu tersedia dari satu pool
  • Protokol dapat mengkueri pool langsung dengan observe(secondsAgo) untuk mendapatkan TWAP selama jendela apa pun

Ketahanan terhadap Manipulasi

Mengapa oracle spot rentan:

  1. Penyerang mengambil flash loan besar
  2. Swap massal dalam satu pool → memindahkan harga spot secara dramatis
  3. Oracle membaca harga spot yang dimanipulasi → memberi harga palsu ke protokol yang dieksploitasi
  4. Penyerang melikuidasi atau meminjam berlebih menggunakan harga palsu → untung
  5. Flash loan dikembalikan dalam transaksi yang sama

Mengapa TWAP kebal:

Penyerang harus mempertahankan harga yang dimanipulasi selama seluruh jendela TWAP (mis., 30 menit) — setiap blok. Ini membutuhkan:

  • Modal terus-menerus (bukan flash loan satu transaksi)
  • Biaya gas untuk setiap blok
  • Eksposur terhadap arbitrase dari trader lain

Biaya serangan TWAP adalah puluhan hingga ratusan juta dolar untuk TWAP 30 menit di pool likuid — secara ekonomi tidak layak.


Keterbatasan TWAP

  • Kelambatan: TWAP 30 menit tertinggal dari harga real-time hingga 30 menit — masalah untuk protokol yang membutuhkan akurasi real-time
  • Ketergantungan pada likuiditas pool: Jika pool AMM yang mendasari kecil, lebih mudah dimanipulasi bahkan dengan TWAP
  • Tidak cocok untuk semua aset: Hanya bekerja untuk pasangan yang memiliki likuiditas AMM on-chain

Sentimen Media Sosial

TWAP oracle adalah konsep teknis DeFi yang dibahas di kalangan developer dan security researcher. Di komunitas kripto Indonesia, lebih relevan bagi mereka yang membangun atau mengaudit protokol DeFi daripada pengguna ritel. Terakhir diperbarui: 2026-04

Istilah Terkait

Lihat Juga

Sumber

  • Uniswap V2 TWAP Documentation (https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) — Penjelasan teknis resmi mekanisme TWAP Uniswap V2 termasuk implementasi akumulator harga.
  • Uniswap V3 Oracle Documentation (https://docs.uniswap.org/contracts/v3/reference/core/libraries/Oracle) — Dokumentasi peningkatan oracle V3 termasuk penyimpanan observasi historis.
  • Paradigm Research: TWAP Manipulation Cost (https://www.paradigm.xyz/) — Analisis biaya manipulasi oracle TWAP di berbagai kondisi pasar.
  • Ethereum Foundation: DeFi Security Best Practices (https://ethereum.org/) — Rekomendasi keamanan oracle termasuk penggunaan TWAP yang tepat.
  • Rekt.news: Oracle Manipulation Post-mortems (https://rekt.news/) — Studi kasus nyata serangan manipulasi oracle yang seharusnya bisa dicegah dengan TWAP.