Oracle: Mata DeFi, sekaligus kerentanannya

robot
Pembuatan abstrak sedang berlangsung

Ditulis oleh: Zhang Qianwen

Pada bulan November 2020, seseorang menggunakan uang pinjaman yang dipinjam, dalam 15 detik berhasil membawa lari hampir 1 juta dolar dari sebuah protokol DeFi.

Ia pertama-tama meminjam dalam jumlah besar ETH melalui flash loan, lalu membeli sETH secara terkonsentrasi di sebuah pool dana dengan likuiditas yang sangat rendah, sehingga dalam hitungan beberapa detik harga melonjak tajam.

Selanjutnya, ia menyimpan sETH tersebut sebagai jaminan ke dalam protokol bZx. Yang “dilihat” oleh protokol adalah harga yang baru saja didongkrak secara paksa pada momen itu; ia pun menganggap nilai sETH tersebut sangat tinggi, lalu berdasarkan aturan melepaskan pinjaman WBTC yang jauh melebihi nilai yang sesungguhnya.

Setelah penyerang mendapatkan WBTC, ia dengan cepat mengembalikan flash loan, sambil membawa selisih harga yang besar, lalu pergi begitu saja.

Seluruh proses tidak melibatkan peretasan, tidak ada celah kode, dan tidak ada penyalahgunaan otorisasi. Kontrak menjalankan setiap langkah dengan ketat mengikuti aturan. Satu-satunya masalahnya adalah:

“Dunia” yang dilihatnya salah.

Inilah salah satu keterbatasan terdalam DeFi—kontrak di rantai, pada dasarnya, adalah sebuah sistem yang tidak dapat melihat dunia nyata.

01 Kontrak di rantai itu seperti “orang buta”

Kontrak pintar hidup dalam dunia yang tertutup.

Ia dapat melihat semua yang terjadi di rantai—siapa memindahkan berapa ke mana, alamat mana memegang berapa token, transaksi mana pada jam/tanggal kapan dimasukkan ke dalam blok—semua informasi ini dapat dibacanya, dan semuanya benar-benar akurat.

Namun dunia di luar rantai sama sekali tidak terlihat olehnya: berapa harga ETH hari ini? apakah Bitcoin menembus rekor tertinggi baru? apakah ada stablecoin yang lepas patokan? apakah pasar saham New York hari ini naik atau turun? kontrak sama sekali tidak tahu.

Dalam pinjam-meminjam DeFi, ini adalah kontradiksi yang mematikan.

Likuidasi bergantung pada harga terkini dari aset jaminan; tetapi kontrak sendiri tidak dapat melihat harga, sehingga harus ada seseorang yang memberitahukannya.

Di sinilah orakel itu ada: ia adalah mata bagi kontrak on-chain, yang bertanggung jawab memindahkan informasi nyata dari luar rantai ke dalam rantai agar dapat dibaca dan digunakan oleh kontrak. Tetapi masalahnya muncul juga:

Siapa yang menjamin informasi itu benar?

02 Orakel: utusan dunia on-chain

Pada dasarnya, orakel adalah infrastruktur untuk menyampaikan informasi—menuliskan data dunia nyata (harga, suku bunga, hasil suatu peristiwa, dll.) ke dalam blockchain dalam format yang dapat dibaca oleh kontrak.

Konsep ini terdengar sederhana, tetapi tantangan di sisi rekayasa terletak pada prinsip desain inti blockchain: “jangan percaya pada input eksternal apa pun”; yang menjadi acuan hanyalah data yang dapat diverifikasi di chain. Dan orakel justru menghadirkan data dari luar chain—secara alami ia berada di luar batas sistem kepercayaan tersebut.

Untuk mengatasi masalah ini, pasar membentuk dua pendekatan utama.

Pertama adalah harga on-chain, yaitu membaca langsung harga transaksi di exchange terdesentralisasi (DEX). Yang paling khas adalah Time-Weighted Average Price (TWAP) milik Uniswap—bukan mengambil harga instan pada satu waktu tertentu, melainkan mengambil rata-rata harga selama rentang waktu tertentu, sehingga fluktuasi harga jangka pendek diredam oleh waktu.

Kedua adalah jaringan orakel terdesentralisasi, yang diwakili oleh Chainlink. Beberapa node data independen masing-masing memperoleh harga dari berbagai saluran, lalu mengumpulkan dan mengunggah nilai median ke chain; tidak ada satu node pun yang dapat memutuskan hasil akhir sendirian.

Kedua pendekatan masing-masing punya kelebihan dan kekurangan, tetapi keduanya berusaha menjawab pertanyaan yang sama: bagaimana membuat kontrak on-chain percaya pada angka yang berasal dari luar rantai?

03 Mengapa tidak langsung menggunakan harga real-time?

Kebanyakan orang ketika pertama kali mengenal orakel akan memiliki intuisi: karena harga berasal dari pasar, mengapa tidak langsung membaca harga real-time bursa?

Masalahnya adalah: harga real-time tidak sama dengan harga sebenarnya.

Di pasar dengan likuiditas yang cukup dan aktivitas transaksi yang tinggi, keduanya biasanya relatif dekat; tetapi pada pool yang likuiditasnya lebih lemah dan kedalamannya tidak memadai, selama ada dana yang cukup, harga dapat didorong secara paksa dalam waktu yang sangat singkat hingga jauh lebih tinggi daripada level pasar yang sesungguhnya.

Dan kontrak pintar tidak dapat menentukan apakah harga tersebut terbentuk secara alami atau justru dimanipulasi dengan sengaja. Ia hanya dapat membaca angka itu dan kemudian menjalankan aturan—memungkinkan peminjam meminjam lebih banyak dana. Saat harga kembali turun, nilai riil dari jaminan bahkan tidak cukup untuk menutup pinjaman, sehingga protokol mengalami kredit macet.

Inilah alasan peristiwa serangan pada protokol bZx yang disebut di awal artikel, sekaligus “biaya” dari penggunaan harga real-time: orakel memperlakukan “angka yang bisa dimanipulasi dalam waktu singkat” sebagai kenyataan.

04 Solusi Chainlink: membuat harga menjadi terdesentralisasi

Jika sebuah sistem hanya bergantung pada satu sumber data, maka ketika sumber data itu salah atau dimanipulasi, seluruh protokol akan ikut terseret. Cara paling langsung untuk menurunkan risiko ini bukanlah mempercayai seseorang yang lebih kuat, melainkan membuat beberapa node yang saling independen melaporkan hitungannya masing-masing, lalu mengambil hasil yang relatif lebih stabil di antaranya.

Solusi Chainlink menggunakan pemikiran yang persis seperti itu: beberapa node data independen masing-masing memperoleh harga dari berbagai sumber data, melaporkan secara individual, dan sistem mengambil median sebagai hasil akhir. Dengan cara ini, meskipun satu node melakukan kesalahan, atau dipengaruhi oleh penyerang, hal tersebut tidak akan cukup untuk mengubah harga akhir; sementara upaya penyerang untuk mengendalikan lebih dari setengah node secara bersamaan secara ekonomi hampir tidak mungkin dilakukan.

Mekanisme ini efektif meredam masalah manipulasi titik tunggal.

Namun mekanisme ini juga memperkenalkan biaya baru: pembaruan yang tertunda.

Harga on-chain tidak tersinkronisasi secara real-time; node mengumpulkan data, mencapai konsensus, lalu menuliskannya ke blockchain—proses ini membutuhkan waktu. Ketika pasar berfluktuasi secara normal, keterlambatan ini tidak terlalu penting. Tetapi ketika volatilitas pasar sangat tajam, harga orakel mungkin tidak sempat mengikuti perubahan harga yang sesungguhnya.

Inilah mengapa dalam Mengapa DeFi memerlukan over-collateralization? disebutkan bahwa protokol pinjam-meminjam DeFi perlu menetapkan buffer jaminan berlebih: bukan hanya untuk menghadapi fluktuasi harga itu sendiri, tetapi juga agar selama periode ketika orakel belum sempat memperbarui, sistem tetap memiliki margin keamanan yang cukup untuk memicu likuidasi.

05 Serangan orakel: krisis kepercayaan paling mahal

Masalah orakel tidak sepenuhnya lenyap hanya karena munculnya Chainlink.

Dalam sejarah DeFi, celah terkait orakel adalah salah satu kategori serangan dengan kerugian paling parah. Pada rentang 2021 hingga 2023, hanya dalam serangan manipulasi orakel yang tercatat, total kerugian yang ditimbulkan sudah melebihi beberapa ratus juta dolar.

Kerugian-kerugian ini memiliki satu ciri yang sama: penyerang tidak perlu menemukan celah di kode. Mereka hanya perlu menemukan celah antara harga orakel dan harga pasar yang sebenarnya, lalu menggunakan dana untuk melebar-kan celah tersebut, sehingga kontrak menjalankan operasi yang menguntungkan bagi mereka berdasarkan harga yang terdistorsi. Ini adalah jenis risiko yang lebih sulit dipertahankan dibandingkan celah kode—karena Anda tidak dapat menulis aturan di dalam kode untuk menilai “apakah harga ini nyata”.

Masalah orakel, pada dasarnya, bukanlah celah pada satu komponen tertentu, melainkan sebuah trade-off:

Anda menggunakan lebih banyak sumber data untuk melawan manipulasi, maka Anda harus menerima keterlambatan yang lebih tinggi;

Anda mengejar harga yang lebih dekat ke real-time, maka Anda harus menanggung risiko dimanipulasi dalam waktu singkat.

Trade-off ini tidak memiliki solusi yang sempurna.

Dan justru karena itulah keberadaan orakel mengungkap realitas DeFi yang lebih dalam: kontrak on-chain bisa dibuat benar-benar transparan dan benar-benar dieksekusi, tetapi dengan syarat informasi input yang menjadi dasarnya adalah informasi yang benar. Begitu input terdistorsi, bahkan kode yang paling sempurna sekalipun hanya akan membuat penilaian dan eksekusi yang salah—lebih efisien lagi.

ETH5,72%
WBTC3,76%
BTC3,58%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • Komentar
  • Posting ulang
  • Bagikan
Komentar
Tambahkan komentar
Tambahkan komentar
Tidak ada komentar
  • Sematkan