Oracle manipulation adalah sebuah serangan yang dilakukan oleh peretas untuk mengubah data yang disediakan oleh oracle. Sehingga, kontrak pintar yang menggunakannya akan beroperasi dengan data yang salah. Nah, inilah yang jadi tantangan bagi keuangan terdesentralisasi (DeFi).
DeFi adalah salah satu inovasi paling menarik di dunia blockchain saat ini. Dengan DeFi, kita dapat mengakses berbagai layanan keuangan tanpa perlu melibatkan pihak ketiga yang berwenang, seperti bank, bursa, atau perusahaan. DeFi memberikan kita kebebasan, transparansi, dan efisiensi dalam bertransaksi.
Namun, DeFi juga memiliki tantangan dan risiko tersendiri, salah satunya adalah manipulasi oracle. Apa itu manipulasi oracle dan bagaimana dampaknya terhadap ekosistem DeFi? Mari kita simak penjelasannya di artikel ini.
Apa Itu Oracle dan Mengapa Penting bagi DeFi?
Oracle adalah istilah yang digunakan untuk menyebut sistem yang menghubungkan dunia blockchain dengan dunia nyata. Oracle menyediakan data eksternal yang dibutuhkan oleh kontrak pintar (smart contract) untuk berfungsi dengan benar. Data eksternal ini bisa berupa harga aset, informasi cuaca, hasil olahraga, berita, dan sebagainya.
Oracle sangat penting bagi DeFi. Ini karena banyak aplikasi DeFi yang bergantung pada data harga aset untuk melakukan operasi seperti pinjaman, pertukaran, asuransi, dan lainnya.
Misalnya, sebuah protokol pinjaman, DeFi perlu mengetahui harga aset yang digunakan sebagai jaminan atau pinjaman, agar dapat menentukan nilai likuidasi, bunga, dan syarat-syarat lainnya.
Namun, oracle juga menjadi titik lemah bagi DeFi, karena data yang disediakan oleh oracle bisa saja tidak akurat, tidak terbaru, atau bahkan palsu. Hal ini bisa terjadi karena oracle sendiri adalah kontrak pintar yang bisa dimanipulasi oleh pihak-pihak yang tidak bertanggung jawab.
Apa Itu Manipulasi Oracle dan Bagaimana Cara Kerjanya?
Manipulasi oracle adalah sebuah serangan yang dilakukan oleh peretas untuk mengubah data yang disediakan oleh oracle. Sehingga, kontrak pintar yang menggunakannya akan beroperasi dengan data yang salah.
Manipulasi oracle biasanya dilakukan untuk menciptakan peluang arbitrase, yaitu memanfaatkan perbedaan harga aset di berbagai platform. Serangan ini dapat dilakukan dengan banyak cara, tergantung pada jenis dan sumber data oracle yang digunakan.
Jenis Manipulasi Oracle
Secara umum, ada dua jenis oracle, yaitu oracle on-chain dan oracle off-chain.
Oracle on-chain adalah oracle yang mengambil data dari sumber-sumber yang ada di dalam blockchain, seperti bursa terdesentralisasi (DEX) atau protokol DeFi lainnya. Oracle on-chain cenderung lebih cepat, murah, dan mudah diintegrasikan, tetapi juga lebih rentan terhadap manipulasi.
Salah satu cara untuk memanipulasi oracle on-chain adalah dengan menggunakan pinjaman kilat (flash loan), yaitu pinjaman yang dilakukan dan dikembalikan dalam satu transaksi.
Dengan pinjaman kilat, peretas bisa meminjam sejumlah besar aset dari sebuah platform DeFi. Kemudian, hacker menggunakannya untuk memengaruhi harga aset di platform lain yang digunakan sebagai sumber data oleh oracle.
Setelah harga aset berubah, peretas bisa memanfaatkan perbedaan harga tersebut untuk mendapatkan keuntungan dari platform lain yang menggunakan oracle yang sama. Kemudian, peretas mengembalikan pinjaman kilatnya dan menyisakan keuntungan bersih.
Contoh Kasus Oracle Manipulation
Salah satu contoh kasus manipulasi oracle on-chain adalah peretasan Harvest Finance pada Oktober 2020. Dalam kasus ini, peretas berhasil mencuri sekitar $24 juta dari protokol DeFi yang menyediakan layanan pinjaman dan pertanian hasil (yield farming).
Peretas menggunakan pinjaman kilat sebesar $50 juta dari platform DeFi lain. Lalu, hacker tersebut menggunakannya untuk mengubah harga USDC dan USDT di bursa Curve, yang digunakan sebagai sumber data oleh oracle Harvest Finance.
Sedangkan, oracle off-chain adalah oracle yang mengambil data dari sumber-sumber yang ada di luar blockchain, seperti bursa terpusat (CEXs), situs web, atau API. Oracle off-chain cenderung lebih akurat, terpercaya, dan beragam.
Tetapi, oracle ini lebih lambat, mahal, dan sulit diintegrasikan. Salah satu cara untuk memanipulasi oracle off-chain adalah dengan menyerang node oracle yang bertugas untuk mengambil dan mengirim data ke blockchain.
Dengan menyerang node oracle, peretas bisa mengganggu, mengubah, atau menghapus data yang dikirimkan oleh node tersebut. Sehingga, kontrak pintar yang menggunakannya akan menerima data yang salah.
Peretas juga bisa mencoba untuk mengendalikan mayoritas node oracle dalam sebuah jaringan, sehingga bisa memutuskan data apa yang akan dikirimkan ke blockchain. Salah satu contoh kasus manipulasi oracle off-chain adalah peretasan bZx pada 2020.
Bagaimana Cara Mencegah Manipulasi Oracle?
Manipulasi oracle adalah ancaman yang nyata bagi ekosistem DeFi. Karena, hal ini bisa menyebabkan kerugian besar bagi pengguna dan pengembang DeFi. Oleh karena itu, penting bagi kita untuk mencegah dan mengatasi manipulasi oracle dengan cara-cara berikut:
Memilih oracle yang tepat
Tidak semua oracle cocok untuk semua keperluan. Kita harus mempertimbangkan faktor-faktor seperti kecepatan, biaya, keamanan, dan ketersediaan data yang disediakan oleh oracle. Kita juga harus memilih oracle yang memiliki reputasi baik, transparan, dan terverifikasi.
Menggunakan oracle yang terdesentralisasi
Oracle yang terdesentralisasi adalah oracle yang terdiri dari banyak node yang saling berkomunikasi dan mencapai konsensus tentang data yang akan dikirimkan ke blockchain.
Oracle yang terdesentralisasi lebih sulit untuk dimanipulasi, karena peretas harus menyerang sebagian besar node untuk mengubah data. Contoh oracle yang terdesentralisasi adalah Chainlink, Tellor, dan Band Protocol.
Menggunakan oracle yang memiliki mekanisme keamanan
Oracle yang memiliki mekanisme keamanan adalah oracle yang memiliki fitur-fitur yang dapat mencegah atau mendeteksi manipulasi, seperti batas waktu, batas deviasi, batas volume, dan lainnya.
Oracle yang memiliki mekanisme keamanan bisa mengurangi risiko kerugian akibat manipulasi, karena bisa membatalkan atau memperingatkan transaksi yang mencurigakan. Contoh oracle yang memiliki mekanisme keamanan adalah Uniswap V2 dan UMA.
Menggunakan oracle yang memiliki insentif ekonomi
Oracle yang memiliki insentif ekonomi adalah oracle yang memberikan hadiah atau hukuman kepada node oracle berdasarkan kinerja dan kejujuran mereka. Oracle yang memiliki insentif ekonomi bisa meningkatkan motivasi dan akuntabilitas node oracle.
Ini dikarenakan mereka akan mendapatkan keuntungan jika mereka menyediakan data yang benar, dan kehilangan keuntungan jika mereka menyediakan data yang salah. Contoh oracle yang memiliki insentif ekonomi adalah Augur, Witnet, dan Kleros.
Baca juga:
Apa Itu Yield Farming Pada DeFi?
Apa Itu Interest Rate Pada Defi?
DISCLAIMER: Artikel ini bersifat informasi dan bukan merupakan tawaran atau ajakan untuk menjual dan membeli aset kripto apapun. Perdagangan aset kripto merupakan aktivitas beresiko tinggi. Harga aset kripto bersifat fluktuatif, di mana harga dapat berubah secara signifikan dari waktu ke waktu dan Bittime tidak bertanggung jawab atas perubahan fluktuasi dari nilai tukar aset kripto.
Komentar
0 komentar
Harap masuk untuk memberikan komentar.