Analisis Komparatif Opsional Oracle Prisma

Menengah4/7/2024, 12:46:07 PM
Artikel ini mengevaluasi kinerja historis integrasi Chainlink dan penggantian Oracle Pool EMA Curve. Ditemukan bahwa kurangnya sumber data Chainlink yang dapat diandalkan untuk aset jaminan telah memengaruhi integrasi dengan platform Prisma. Studi ini mengusulkan spesifikasi awal untuk meningkatkan Oracle guna meningkatkan akurasi dan keandalan harga. Selain itu, penelitian membahas pentingnya Oracle dalam proses likuidasi dan penebusan Prisma. Disarankan untuk menggunakan fungsi oracle harga Curve dengan hati-hati. Terakhir, solusi hibrida yang menggabungkan Curve dan Chainlink Oracle diusulkan untuk meningkatkan fleksibilitas dan keandalan mekanisme penetapan harga. Laporan ini hanya berlaku untuk protokol Prisma.

Pengenalan

Studi ini berasal dari tantangan untuk mendapatkan informasi harga on-chain yang dapat diandalkan yang memaksimalkan keamanan sambil mencerminkan harga spot saat ini dari aset target. Kami secara khusus berfokus pada aset jaminan Prisma Finance (wstETH, rETH, cbETH, dan sfrxETH) serta derivatif staking cair berbasis Ethereum (LSD). Beberapa aset ini kurang memiliki sumber data Chainlink (sering dianggap sebagai standar emas untuk data harga yang dapat diandalkan), yang telah memengaruhi integrasi mereka dengan platform Prisma.

Implementasi terbaru dari kolam stabil Curve Finance mencakup Oracle kolam internal, yang menghitung Exponential Moving Average (EMA) untuk mendapatkan data harga yang tahan terhadap perusakan. Sementara integrator telah mulai menjelajahi penggunaan Oracle dalam aplikasi DeFi lainnya, Oracle ini sebagian besar digunakan untuk memastikan keamanan jaminan dalam pasar crvUSD milik Curve sendiri.

Tujuan utama laporan ini adalah untuk menentukan apakah Oracle Curve Finance dapat berfungsi sebagai alternatif yang dapat diandalkan untuk token ETH LSD Chainlink. Studi ini melibatkan analisis statistik terhadap efektivitas oracle harga Curve, membandingkan volatilitas, akurasi, dan kinerja keseluruhan dengan harga spot referensi Uniswap (dianggap sebagai harga on-chain yang akurat).

Analisis dibagi menjadi dua studi terkait:

Analisis Residual Oracle stETH: Sebuah studi perbandingan antara Chainlink dan Curve, menggunakan data historis untuk menentukan deviasi Oracle relatif terhadap rerata dan deviasi standar harga spot referensi.

Analisis Penebusan stETH MEV: Studi perbandingan antara Chainlink dan Oracle on-chain, menggunakan data historis untuk memeriksa peristiwa penebusan di Prisma dan memperkirakan profitabilitas robot dan perilaku yang diharapkan menggunakan Oracle alternatif.

Setelah analisis, kami menyediakan spesifikasi awal untuk Oracle, dengan harapan perbaikan dalam deviasi harga Oracle sambil memastikan keandalan Oracle. Solusi yang diusulkan dapat berfungsi sebagai blueprint awal untuk studi lain yang bertujuan untuk mengoptimalkan Oracle.

Bagian 1: Latar belakang yang relevan

1.1 Fungsi Oracle dalam protokol Prisma

Efektivitas oracle dinilai dalam lingkungan khusus penggunaan Prisma: likuidasi dan penebusan. (Selain itu, perlu dicatat bahwa oracle yang sama juga digunakan untuk biaya penerbitan token dan penjualan token yang diperoleh ke 'kolam stabil token', yang kepentingannya akan meningkat setelah diluncurkan.)

Kinerja Oracle sangat penting bagi pengguna Prisma karena para arbitrageur mungkin memiliki kesempatan untuk mendapatkan keuntungan dari perbedaan harga antara harga Oracle dan harga spot. Memastikan penggunaan umpan balik harga yang paling akurat selama likuidasi dan penebusan, tanpa mengorbankan keamanan sumber harga, sejalan dengan kepentingan terbaik protokol Prisma dan deposito kasnya.

Dua fungsi Oracle dalam Prisma diuraikan sebagai berikut:

1.1.1 Likuidasi

Untuk melindungi Prisma dari kebangkrutan, di mana posisi utang melebihi nilai agunan mereka, kontrak LiquidationManager menjalankan logika likuidasi pada semua TroveManagers aktif (kumpulan kekayaan Prisma). Likuidasi dapat dipicu dengan salah satu dari tiga cara, tergantung pada rasio agunan rekening target dan rasio agunan sistem secara keseluruhan.

Rasio Jaminan Individu (ICR) <= 100%: Akun (kantor kas) memiliki jaminan yang tidak mencukupi. Semua utang dan jaminan didistribusikan ulang di antara kantor kas aktif yang tersisa, efektif menyebarluaskan kerugian.

100% < ICR < Rasio Jaminan Minimum (MCR): Kas negara jatuh di bawah ambang batas likuidasi tetapi dapat likuidasi dengan aman. Kolam stabil digunakan sebagai cadangan untuk menangani likuidasi (mendorong kolam likuidasi). Jaminan dialokasikan kepada penyimpan kolam stabil. Jika saldo kolam stabil tidak mencukupi untuk melunasi sepenuhnya kas negara, utang dan jaminan yang tersisa didistribusikan ulang di antara kas negara aktif yang tersisa.

MCR <= ICR < Global Total Collateral Ratio (GTCR) && GTCR < 150%: Sistem berada dalam mode pemulihan, artinya perbendaharaan dapat dilikuidasi ketika CR berada di bawah GTCR daripada MCR. Deposit kolam stabil digunakan terlebih dahulu untuk melikuidasi perbendaharaan. Agunan yang setara dengan nilai utang di MCR didistribusikan di antara penyimpan deposit kolam stabil. Sisa agunan dapat diklaim oleh pemilik perbendaharaan.

Kemungkinan likuidasi Prisma meningkat ketika ETH atau ETH LSD mengalami fluktuasi harga yang signifikan, terutama penurunan, dalam kondisi pasar yang sangat fluktuatif. Sementara kegagalan atau manipulasi Oracle dapat mempengaruhi protokol kapan saja, risiko kegagalan Oracle dapat meningkat pada saat-saat paling penting. Aset jaminan mungkin gagal memperbarui harga dengan tepat waktu karena lonjakan biaya gas, atau metodologi penetapan harga Oracle mungkin tidak dapat melacak volatilitas yang meningkat dengan memadai, yang mengakibatkan kesalahan penetapan harga. Kebangkrutan mungkin meningkat, memerlukan redistribusi di antara kas aktif, atau peminjam mungkin dilikuidasi secara tidak adil (dalam kasus di mana Oracle secara keliru melaporkan harga di bawah harga pasar yang adil).

1.1.2 Penebusan

Arbitrageurs selalu dapat memulai penebusan, memilih untuk menebus 1 mkUSD senilai agunan untuk 1 dolar AS (+ biaya penebusan dinamis), dimulai dari kas dengan rasio agunan terendah dalam sistem. Ini membantu memperkuat kaitannya ketika harga mkUSD turun di bawah 1 dolar AS. Proses penebusan mengurangi risiko agunan dari kas target dan meningkatkan rasio agunannya. Pihak yang melaksanakan penebusan membayar biaya yang disebut biaya penebusan. Rentang biaya penebusan ada di TroveManager dan merupakan jumlah lantai biaya penebusan + baseRate. Variabel yang disimpan di TroveManager meningkat secara proporsional dengan pasokan total mkUSD yang ditebus dan berkurang secara linier dari waktu ke waktu. Biaya dinamis ini, baseRate, menyesuaikan tingkat penebusan yang menguntungkan.

Sementara likuidasi di Prisma secara historis jarang terjadi, penebusan adalah hal yang umum dan layak mendapatkan perhatian khusus bagi Oracles. Bot MEV secara aktif mencari kesempatan tersebut untuk mendapatkan keuntungan dengan cepat melalui pinjaman kilat.

Selain ketidaknyamanan dari penebusan paksa dari kas mereka, pengguna mungkin mengalami ekstraksi nilai karena deviasi antara Oracle dan harga spot. Penilaian yang tidak tepat dapat menyebabkan pengguna kehilangan lebih banyak aset daripada yang diperlukan, terutama ketika Oracle melaporkan harga di bawah nilai pasar yang wajar. Di sisi lain, harga yang dilaporkan Oracle lebih tinggi dari harga pasar yang wajar dapat menghambat penebusan, membatalkan tujuan mekanisme penebusan yang menegakkan lantai peg mkUSD.

1.2 opsi Oracle

Berikut adalah pandangan singkat tentang kandidat utama untuk umpan harga Oracle di Prisma.

1.2.1 Chainlink (off-chain)

Chainlink adalah jaringan oracle terdesentralisasi yang menggabungkan data dari berbagai sumber pasar dan menghubungkan data ini ke kontrak pintar. Arsitekturnya bergantung pada operator node independen yang mengambil dan mentransmisikan data dari berbagai pertukaran dan API agregator data pasar, meminimalkan titik-titik kegagalan tunggal dan meningkatkan keamanan. Integritas data dijamin melalui metode kriptografi dan mekanisme konsensus yang memverifikasi keakuratan data sebelum transmisi. Pendekatannya melibatkan penetapan harga aset berbobot volume (VWAP) untuk mengagregasi nilai pasar yang adil yang paling mewakili harga spot aset.

Jaringan node secara teratur (detak jantung) atau berdasarkan ambang batas deviasi harga mendorong harga ke rantai. Keterbatasan ini, karena biaya gas tinggi di mainnet, dapat membuat pembaruan harga mahal dan dapat menyebabkan peningkatan laten, sehingga mengurangi kinerja Oracle. Biaya untuk menjaga Oracle semacam itu dapat tinggi, terutama selama periode volatilitas tinggi, membuat pembaruan tepat waktu ke Oracle sangat penting.

1.2.2 Oracle EMA Kolam Curve (on-chain)

Implementasi terbaru dari kolam Curve (kolam StableSwap dan CryptoSwap) termasuk perhitungan harga EMA yang terbuka oleh fungsi getter seperti price_oracle(). Kolam renang ini tidak bergantung pada orakel eksternal tetapi menghitung harga aset relatif terhadap token di indeks 0 dari kolam renang berdasarkan aktivitas perdagangan mereka sendiri secara internal. EMA meningkatkan biaya manipulasi melalui penyesuaian harga yang halus, menciptakan keseimbangan antara resistensi manipulasi dan deviasi harga dari spot. Setiap kolam renang memiliki ma_exp_timeyang dapat dikonfigurasi melalui pemungutan suara Curve DAO.

Seperti yang diungkapkan dalam dokumentasi Oracle Kurva, Oracle EMA telah aktif dalam pengembangan:

“Jika Anda ingin menggunakan fungsionalitas 'oracle harga' dari Curve atau oracle harga manapun untuk menyediakan data harga on-chain dalam aplikasi terdesentralisasi yang sedang Anda bangun, kami menyarankan Anda untuk berhati-hati ekstra.”

Implementasi kolam yang berbeda memodifikasi versi kode Oracle EMA, sehingga integrator harus memahami implementasi Oracle kolam sasaran.

Pada November 2023, kesalahan yang mempengaruhi Oracle pool ditemukan selama implementasi penyebaran stableswap-ng pool. Kesalahan ini ditemukan sesaat setelah implementasi pool oleh yAudit selama audit sekunder. Hal ini mendorong proposal untuk meningkatkan implementasi dan menghapus beberapa pool yang terpengaruh. Tidak ada dana yang berisiko, namun peristiwa ini menyoroti pengembangan aktif Oracle pool Curve dan potensi inkonsistensi antara pool, meskipun telah dilakukan audit ekstensif, serta potensi kesalahan yang masih ada yang dapat membuat oracles rentan terhadap manipulasi atau ketidaktepatan.

1.3 Sejarah Penebusan MEV

Bagian ketiga dari laporan ini adalah analisis tentang penebusan wstETH TroveManager. Mengingat dampak signifikan dari penebusan terhadap pengguna Prisma, bagian ini menyajikan observasi tentang penebusan historis, yang akan dievaluasi dalam perbandingan dengan Oracle EMA Curve alternatif dalam analisis komparatif.

1.3.1 perilaku BOT

Mengajukan peristiwa penebusan pada TroveManager wstETH mengungkapkan lebih dari 200 transaksi penebusan secara total, dengan 190 transaksi diidentifikasi sebagai transaksi BOT (metode yang digunakan untuk mengidentifikasi transaksi yang dieksekusi oleh BOT akan dijelaskan nanti di bagian yang sama). Di bawah ini adalah visualisasi yang menunjukkan frekuensi transaksi ini dari waktu ke waktu.

Sumber: Dune query_3402461

Hanya ada 3 BOT yang sering bertukar mkUSD:

Sumber: Dune query_3402461

Setiap BOT mengikuti proses umum yang mirip dalam memperoleh mkUSD dan menebusnya. Berikut adalah salah satu transaksi BOT, yang mengungkap beberapa wawasan yang berguna:

Sumber: Penjelajah Tx Phalcon

Pola transaksi BOT dapat dibagi lebih lanjut sebagai berikut:

Dapatkan pinjaman kilat dari Uniswap V3: USDC.

Konversikan USDC ke mkUSD menggunakan Curve.fi Factory USD Metapool: Prisma mkUSD.

Tukar mkUSD menjadi wstETH di TroveManager wstETH.

Buka wstETH menjadi stETH di wstETH.

Tukar stETH dengan ETH di kolam stETH/ETH Curve.

Wrap ETH, melunasi pinjaman, dan mendistribusikan keuntungan dan komisi.

Profitabilitas MEV bergantung pada perbedaan harga di langkah 2, 3, dan 5:

2: Saat harga mkUSD turun, profitabilitas penarikan meningkat.

3: Saat biaya penebusan dinamis berkurang sebagai fungsi dari jumlah penebusan terbaru dan waktu sejak penebusan, profitabilitas penebusan meningkat.

-5: Saat terjadi selisih harga dalam pertukaran aset (misalnya, stETH), profitabilitas pengembalian menurun. LSD seperti stETH dapat langsung ditukar dengan ETH yang mendasarinya, namun proses ini memerlukan periode penantian, sehingga likuiditas di pasar sekunder menjadi sangat penting.

Prisma menggunakan mekanisme untuk membatasi peluang keuntungan dari penebusan mkUSD ke wstETH melalui biaya dinamis. Langkah 3 melibatkan biaya dinamis untuk mencegah penebusan yang sering dan berlebihan. Meskipun mekanisme ini, penebusan masih dapat terjadi akibat kesalahan harga Oracle untuk mengekstrak MEV. Penawaran Oracle untuk penebusan mkUSD mungkin menawarkan tingkat jaminan yang kurang optimal kepada pemilik kas, menyebabkan pengalaman pengguna yang negatif.

1.3.2 Validitas perubahan oracle wstETH

Usulan perubahan harga Prisma Oracle feed untuk stETH telah disetujui. Awalnya, Prisma menggunakan oracle Chainlink stETH/USD, dengan ambang batas deviasi sebesar 1% untuk TroveManager wstETH. Ditemukan bahwa penggunaan kombinasi oracle Chainlink stETH/ETH dan ETH/USD dapat menghasilkan peningkatan, dengan ambang batas deviasi sebesar 0.5% untuk masing-masing oracle.

Harap merujuk pada deviasi antara Oracle baru dan Oracle lama dengan resolusi 15 blok:

Sumber: Grafik oleh @wavey

Telah diamati bahwa ketika harga perdagangan mkUSD turun di bawah tingkat terpasangnya, terjadi penebusan berlebihan karena deviasi Oracle melebihi 1%. Dalam kasus-kasus ini, kami menemukan bahwa biaya dinamis tidak mencukupi untuk mencegah penebusan berlebihan yang disebabkan oleh deviasi harga. Silakan merujuk pada penyesuaian biaya penebusan untuk acara penebusan di bawah.

Sumber: Grafik oleh@wavey

Penebusan-penebusan ini mungkin menimbulkan biaya tidak langsung bagi pengguna Prisma, karena mereka mungkin menerima tarif yang tidak menguntungkan ketika gudang mereka ditebus. Analisis Wavey menunjukkan bahwa orakel stETH/USD lebih rentan terhadap deviasi dibandingkan dengan kombinasi orakel yang divalidasi dalam data di atas. Deviasi sementara yang melebihi 1,2% telah menciptakan peluang bagi bot MEV untuk dieksploitasi.

Usulan untuk mengubah Oracle (PIP-004) dieksekusi pada 17 November 2023, pukul 7:15:Pada pukul 35 PM +UTC, bersama dengan transaksi ini. Berdasarkan grafik harga mkUSD di bawah dan tanggal eksekusi proposal, dapat diamati bahwa setelah eksekusi proposal, harga yang terwujud dari mkUSD dalam USDC telah turun. Penurunan profitabilitas penebusan akibat perbaikan oracle dapat mengakibatkan penurunan kekuatan penambatan.

Sumber: Dune query_5685458

Faktor-faktor lain yang memengaruhi juga harus dipertimbangkan, termasuk keterbatasan model tingkat suku bunga protokol, kasus penggunaan untuk mkUSD, dan langkah insentif yang tidak sejalan. Usulan signifikan lain yang membatasi penarikan adalah PIP-019, yang dieksekusi pada 31 Januari. Usulan ini meningkatkan biaya penarikan dasar untuk semua TroveManagers menjadi 1%-1.5%, mengurangi elastisitas penyanggahan mkUSD namun dengan biaya mengurangi risiko penarikan untuk pemilik trove Prisma.

Bagian 2: Analisis Residual Oracle

2.1 Tujuan

Analisis bertujuan untuk menilai kinerja orakel Prisma yang diimplementasikan dan mengevaluasi kinerja hipotetis orakel Curve EMA on-chain alternatif dengan menggunakan data historis. Temuan dari studi ini akan memberikan wawasan awal tentang perilaku orakel off-chain dan on-chain, memungkinkan evaluasi yang lebih rinci dalam penelitian selanjutnya.

Tujuan analisis ini adalah untuk menentukan apakah oracle saat ini memberikan solusi kinerja yang paling optimal atau apakah perbaikan dapat dilakukan dengan menerapkan solusi on-chain atau hybrid menggunakan oracle Curve EMA pool.

2.2 Metodologi

Analisis akan difokuskan secara khusus pada stETH karena ini adalah LSD yang paling sering digunakan, dengan umpan harga Chainlink yang matang dan likuiditas yang dalam di kolam Curve. Analisis terhadap jaminan lain yang terdaftar di Prisma telah dilakukan, dan hasilnya disediakan di Lampiran B dari laporan untuk referensi.

Analisis komparatif melibatkan penilaian tingkat keselarasan antara data percobaan dan kumpulan data referensi. Dalam hal ini, dua set data dipertimbangkan: data percobaan yang diminati dan kumpulan data referensi. Meskipun diharapkan data percobaan harus closely track data referensi, deviasi mungkin terjadi.

Untuk mengkuantifikasi keselarasan, kami menguji sisa, yang pada dasarnya mewakili perbedaan antara data uji dan data referensi. Analisis sisa bertujuan untuk mengungkap pola atau tren dalam perbedaan tersebut.

Saat menganalisis sisa (deviasi dari nilai referensi), observasi dilakukan berdasarkan standar deviasi dari sisa. Standar deviasi (SD) adalah ukuran statistik yang digunakan untuk mengkuantifikasi variabilitas atau dispersi dari sebuah set nilai. Ini memberikan indikasi distribusi nilai di sekitar rata-rata. Standar deviasi rendah menunjukkan bahwa titik data cenderung dekat dengan rata-rata, sementara standar deviasi tinggi menunjukkan bahwa titik data tersebar dalam rentang yang lebih luas.

Dalam kasus kami, rata-rata mendekati 0 diinginkan karena menunjukkan bahwa harga yang disediakan tidak melebih atau mengurangi harga referensi. Namun, rata-rata mendekati atau sama dengan 0 dengan standar deviasi yang relatif tinggi menunjukkan fluktuasi yang signifikan, yang tidak diinginkan karena sesuai dengan kesalahan harga yang parah. Umpan oracle dengan rata-rata nol dan deviasi standar minimum adalah hasil yang ideal, menunjukkan bahwa umpan secara akurat melacak harga spot.

Untuk memantau dan mengevaluasi akurasi aktivitas harga orakel on-chain, kutipan yang diperoleh dari destinasi perdagangan paling likuid (tidak termasuk Curve) digunakan sebagai referensi untuk analisis sisa. Secara khusus, kutipan dari pasangan mata uang LSD/ETH di Uniswap menjadi titik referensi utama dalam skenario ini.

Analisis kami mencakup dua strategi untuk mendapatkan harga stETH Chainlink. Hal ini dilakukan karena ditemukan bahwa deviasi dari feed stETH/USD Chainlink asli lebih tinggi daripada deviasi menggunakan stETH/ETH + ETH/USD. Orakel diperbarui sesuai dengan proposal tata kelola. Selanjutnya, analisis yang melibatkan harga stETH/ETH Chainlink yang ditingkatkan dalam ETH disebut sebagai stETHv1, sementara feed kombinasi stETH/USD + ETH/USD (mereplikasi performa orakel stETH asli, distandarisasi ke ETH) disebut sebagai stETHv2.

2.3 Pengumpulan data

Untuk tujuan analisis, data untuk kuartal terakhir 2023 diperoleh dari semua aset yang sesuai (dari blok 18331000 hingga blok 18931000, dengan resolusi 250 blok untuk kumpulan data). Hal ini menciptakan kumpulan data yang berisi 2401 titik data untuk semua aset.

Aset utama yang sedang dipertimbangkan adalah stETH, karena saat ini merupakan jenis agunan yang diterima oleh Prisma, dengan feed Chainlink dan pool Curve StableSwap-ng tersedia untuk referensi (harap lihat Lampiran B untuk analisis tentang rETH dan cbETH, yang menggunakan implementasi pool CryptoSwap yang lebih lama). Semua data diperoleh dengan mengonfirmasi harga untuk rentang blok yang spesifik.

Harga Oracle dianalisis dari sumber-sumber berikut:

Kolam likuiditas kurva

Umpan Balik Harga Chainlink

Alamat kolam pertambangan Uniswap sebagai agen referensi harga spot adalah sebagai berikut:

Harga spot Uniswap

Untuk menstandarisasi LSD ke ETH yang mendasarinya, kami menggunakan nilai tukar internal LSD/ETH:

Tingkat Pertukaran Internal LSD/ETH

Analisis sisa dari mesin orakel stETH 2.4

2.4.1 Chainlink dan Curve

Dalam bagian ini, kami akan membandingkan akurasi umpan harga Chainlink stETH dengan Curve.

Feed Chainlink stETHv1 vs. Curve

Chainlink: feed stETH/ETH

Curve: kolam stETH/ETH

Di bawah ini adalah perbandingan langsung harga stETH dari Chainlink dan Curve. Karena siklus detak 24 jam dari Chainlink stETH/ETH, harga berfluktuasi setiap beberapa blok. Secara komparatif, fluktuasi lebih mudah diamati dalam feed Chainlink (divisualisasikan lebih baik dalam feed Chainlink stETH/USD) dibandingkan dengan Curve, karena Curve menggunakan waktu EMA 10 menit (ma_exp_time) untuk mendapatkan harganya.

Jika kita mengurangi harga dari Curve dari harga dari Chainlink, kita akan mendapatkan sisa, seperti yang ditunjukkan di bawah ini:

Nilai deviasi rata-rata adalah ~-0.000305.

Sebuah observasi penting yang dapat dibuat di sini adalah bahwa Curve Oracle sedikit melebih-lebihkan data harga dibandingkan Chainlink.

Chainlink stETHv2 dan Curve

Chainlink: feed stETH/USD / feed ETH/USD

Curve: kolam stETH/ETH

Berikut adalah perbandingan harga dari umpan Chainlink alternatif yang dinormalisasi ke ETH (stETH/USD dan ETH/USD) versus stETH Curve. Karena Chainlink stETH/USD memiliki ambang batas deviasi 1% (dibandingkan dengan 0.5% dalam umpan stETH/ETH), harga menunjukkan deviasi yang lebih besar di sekitar harga acuan.

Seperti yang diamati sebelumnya, fluktuasi harga stETH/USD Chainlink lebih mencolok dibandingkan dengan Curve.

Nilai deviasi rata-rata adalah ~-0.000171.

Bergantung pada skala, umpan ini memiliki sisa yang lebih besar, yaitu lebih volatil, daripada stETH/ETH.

2.4.2 Uniswap dan Chainlink

Dalam bagian ini, kami akan membandingkan akurasi historis umpan harga Chainlink stETH dengan harga referensi spot dari Uniswap.

Dengan asumsi data harga kolam UniswapV3 sebagai proksi yang dapat diandalkan untuk harga spot, kita dapat membandingkan data benchmark yang sebelumnya diperoleh untuk memeriksa kedekatan umpan Oracle Chainlink dengan nilai referensi.

Uniswap Spot vs. Chainlink stETHv1

Chainlink: feed stETH/ETH

Uniswap: kolam wstETH/ETH / nilai tukar internal wstETH/stETH

Berikut adalah deviasi aktual antara harga spot Uniswap dan Chainlink stETH/ETH:

Mean sisihan = 0.000415

Standar deviasi dari selisih harga = 0.000601

Uniswap Spot vs. Chainlink stETHv2

Chainlink: feed stETH/USD / feed ETH/USD

Uniswap: kolam wstETH/ETH / tingkat pertukaran internal wstETH/stETH

Berikut adalah deviasi aktual antara Uniswap stETH dan Chainlink stETH (stETH/USD):

Arti perbedaan harga = 0.000281

Standar deviasi selisih harga = 0.002747

Di sini, kami membandingkan Chainlink stETHv1 (yaitu, stETH/ETH) dan stETHv2 (yaitu, stETH/USD) dengan data Uniswap, dan hasilnya menunjukkan bahwa deviasi stETHv2 jauh lebih besar daripada stETHv1.

Observasi yang sama juga dilakukan dalam proposal tata kelola Prisma (PIP-004) ketika oracle beralih dari stETH/USD ke stETH/ETH + ETH/USD untuk mengurangi deviasi umpan harga.

2.4.3 Uniswap dan Curve

Dalam bagian ini, kami akan membandingkan akurasi historis Oracle stETH Curve dengan harga spot referensi dari Uniswap.

Dengan asumsi data harga pool UniswapV3 sebagai proksi yang dapat diandalkan untuk harga spot, kita dapat membandingkan data benchmark yang sebelumnya diperoleh untuk memeriksa kedekatan feed Oracle Curve dengan nilai referensi.

Spot Uniswap vs. Curve

Curve: kolam stETH/ETH

Uniswap: kolam wstETH/ETH / nilai tukar internal wstETH/stETH

Berdasarkan analisis residu serupa seperti di atas, kami mendapatkan metrik berikut untuk dibandingkan dengan benchmark yang sebelumnya ditetapkan:

Selisih harga rata-rata = 0.000110.

Standar deviasi dari perbedaan harga = 0.000141.

Seperti yang diamati, harga rata-rata yang dilaporkan oleh Curve sedikit lebih rendah daripada harga spot Uniswap, dengan standar deviasi yang jauh lebih rendah dibandingkan dengan kedua sumber dari Chainlink.

2.5 Hasil

Saat membandingkan metrik ini, kami menemukan bahwa deviasi data Chainlink jauh lebih besar daripada Curve ketika merujuk data Uniswap sebagai proksi harga spot.

Karena pengamatan di atas didasarkan pada penyimpangan dari setiap sumber harga, mungkin saja umpan Oracle Curve menunjukkan penyimpangan positif sementara umpan Chainlink menunjukkan penyimpangan negatif, dan sebaliknya. Skenario ini sepenuhnya ditiadakan karena rentang penyimpangan umpan Chainlink dan Curve Oracle lebih kecil dibandingkan dengan rentang penyimpangan Uniswap & Chainlink dan Uniswap & Curve.

Tabel di bawah ini menampilkan analisis sisa yang dilakukan pada data yang terkumpul. Rata-rata sisa, dikalikan dengan 100, menghasilkan persentase deviasi rata-rata dari aset target dari referensi (dalam satuan USD, dibandingkan dengan harga ETH yang dinyatakan dalam USD).

Tabel ini langsung membandingkan kinerja relatif Chainlink dan Curve dengan referensi Uniswap dalam hal rata-rata dan standar deviasi untuk setiap aset. Dalam semua kasus, Curve menunjukkan nilai rata-rata dan standar deviasi yang lebih rendah. Multiplikator akurasi menunjukkan akurasi relatif dari setiap nilai yang diamati.

Titik utama di sini adalah sebagai berikut:

  1. Berdasarkan standar deviasi sisa, Curve menampilkan volatilitas yang lebih rendah dibandingkan dengan Chainlink terkait harga spot referensi, dan ini tetap konsisten di seluruh aset yang diamati, meskipun deviasi standar antara cbETH untuk Chainlink dan Curve serupa.
  2. Menurut tabel di atas, melalui menganalisis cara tersebut, dapat diamati bahwa Chainlink meremehkan harga aset dibandingkan dengan harga spot Uniswap referensi. Curve lebih cocok dengan harga referensi, tetapi juga cenderung sedikit meremehkan harga dibandingkan dengan harga spot Uniswap referensi.
  3. Sebuah catatan untuk temuan ini adalah bahwa meskipun secara keseluruhan Superioritas Oracle Curve atas Chainlink yang diamati di sini, rETH dan cbETH mengalami deviasi tajam dan singkat, sebagaimana dirujuk dalam Lampiran B: Analisis Residu rETH/cbETH. Hal ini disebabkan oleh likuiditas relatif dari kolam renang, aktivitas rendah, dan ketidakcukupan implementasi kolam renang yang lebih tua untuk integrasi. Namun, penelitian lebih lanjut diperlukan untuk menentukan metrik benchmark yang diperlukan untuk Oracle kolam Curve yang dapat diandalkan secara tepat.

Bagian 3: Analisis Penebusan stETH MEV

3.1 Tujuan

Analisis bertujuan untuk membandingkan harga implementasi acara penebusan dalam wstETH TroveManager dengan harga hipotetis yang dikutip menggunakan data historis oleh orakel on-chain alternatif. Hasil studi akan memberikan wawasan awal tentang perilaku orakel off-chain dan on-chain, memungkinkan evaluasi yang lebih detail dalam penelitian selanjutnya.

Tujuan analisis ini adalah untuk menentukan apakah oracle saat ini memberikan solusi kinerja terbaik dalam skenario penebusan tertentu atau apakah perbaikan dapat dilakukan melalui implementasi solusi on-chain atau hybrid, dengan memanfaatkan oracle kolam Curve EMA.

3.2 Metodologi

Analisis ini akan difokuskan secara khusus pada stETH, karena ini adalah LSD yang paling sering digunakan dan memiliki umpan harga Chainlink yang matang dan likuiditas dalam kolam Curve yang dalam. Studi ini akan menggabungkan semua acara penebusan, membandingkan harga orakel stETH yang terealisasi dengan beberapa harga orakel alternatif, dihargai dalam USD, dan menggunakan harga orakel stETH/ETH Curve.

Untuk analisis ini, harga stETH yang terealisasi dihitung dengan membagi jumlah mkUSD yang ditebus dengan jumlah stETH yang hilang ke Manajer Trove dalam bentuk wstETH. Untuk menentukan jumlah stETH, kita perlu mempertimbangkan wstETH yang diterima dari penebusan ditambah wstETH yang dihabiskan sebagai biaya dan mengonversinya ke stETH. Jika sumber alternatif apa pun secara konsisten menawarkan keuntungan lebih rendah kepada penebus, kita dapat mengatakan bahwa kinerja MEV mereka lebih baik daripada harga aktual.

TroveManager wstETH digunakan untuk mengambil semua hash transaksi saat mendapatkan mkUSD dalam pertukaran. Transaksi di mana alamat yang menebus mkUSD menerima dan membakar mkUSD dianggap sebagai transaksi BOT. Permintaan detail untuk acara penebusan dapat ditemukan di sini: Dune query_3352919. Permintaan ini penting untuk mengambil semua data dari transaksi BOT.

3.3 Pengumpulan data

Dune query digunakan untuk mengidentifikasi transaksi BOT yang mendapatkan semua nilai hash transaksi, nilai tukar wstETH yang direalisasikan untuk penebusan mkUSD, dan nomor blok acara penebusan. Nomor blok yang diperoleh dari query digunakan sebagai input untuk mengambil data berikut, yang digunakan untuk membandingkan implementasi saat ini dengan perubahan harga feed Curve stETH saat ini:

Berdasarkan data di atas, kita dapat membuat tiga umpan harga menggunakan Oracle Curve harga stETH/ETH, dan menggabungkannya dengan ETH/USD untuk mendapatkan stETH/USD. Setelah operasi ini, kita mendapatkan data berikut untuk visualisasi:

Data di atas menyediakan harga stETH dalam USD, yang dapat dianalisis berdasarkan harga stETH yang diwujudkan dari semua transaksi BOT. Harga stETH yang diwujudkan (dalam USD) hanya digunakan untuk menghitung harga stETH untuk setiap mkUSD yang disediakan selama penebusan.

Analisis Penebusan MEV 3.4 stETH

Berikut adalah 4 sumber harga stETH untuk blok perdagangan BOT (1 referensi dan 3 alternatif yang dibahas di atas). Feed harga yang direalisasikan adalah harga dari orakel harga yang diimplementasikan (yaitu Chainlink). Ini dibandingkan dengan 3 feed menggunakan Curve stETH/ETH sebagai inti. Di sini, penawaran yang lebih tinggi akan mengakibatkan penurunan nilai stETH yang ditukar dengan mkUSD dan sebaliknya.

Berdasarkan informasi di atas, kita dapat memodelkan jumlah relatif stETH yang diterima dari penebusan mkUSD dan menormalkannya berdasarkan jumlah sebenarnya yang diterima dari oracle yang ada. Grafik berikut menampilkan stETH yang diperoleh dari mkUSD sebelum dikenakan biaya dan memproses data untuk menghapus nilai-nilai ekstrem guna visualisasi yang lebih baik:

3.5 Hasil

Analisis mengungkapkan tren yang jelas: ketika menggabungkan Curve stETH/ETH dengan Uniswap ETH/USDC dan Chainlink ETH/USD, jumlah stETH yang tersedia untuk penebusan mkUSD menurun. Akibatnya, penurunan jumlah unit stETH per penebusan mkUSD mengakibatkan penurunan keuntungan BOT. Visualisasi yang disediakan menggambarkan perbandingan antara keuntungan BOT di bawah berbagai harga feed yang diasumsikan dan harga feed aktual, tanpa biaya:

Tampak jelas bahwa kombinasi Curve stETH/ETH, Uniswap ETH/USDC, dan Chainlink ETH/USD mengurangi profitabilitas penebusan dibandingkan dengan harga feed yang direalisasikan.

Bagian 4: Penyempurnaan Oracle yang Diusulkan

4.1 solusi Hybrid Oracle

Mengakui risiko yang melekat dari hanya mengandalkan oracle Curve, terutama selama periode likuiditas rendah atau fluktuasi likuiditas, solusi yang diusulkan secara strategis mengintegrasikan oracle Chainlink sebagai langkah pengamanan (yaitu, rencana cadangan) jika terjadi penyimpangan. Mengingat kemungkinan kecil Chainlink memberikan data yang salah, itu dapat berfungsi sebagai opsi cadangan yang dapat diandalkan.

Solusi ini bertindak sebagai filter, mempertimbangkan harga Curve dan Chainlink. Kondisi-kondisi dibentuk dalam suatu fungsi, berfungsi sebagai saklar. Untuk merancang kondisi ini, konsep rentang yang dapat diterima diperkenalkan. Rentang ini mewakili perbedaan yang dapat diterima antara harga oracle Chainlink dan Curve. Ketika perbedaan yang diamati melebihi rentang ini, itu menunjukkan bias atau manipulasi potensial dalam data Oracle Curve. Dalam kasus seperti itu, fungsi tersebut mengurangi risiko potensial dengan memihak pada harga Chainlink yang lebih aman. Sebaliknya, ketika perbedaan berada dalam rentang yang dapat diterima, fungsi tersebut mengandalkan akurasi dan ketepatan Oracle Curve.

Perlu dicatat bahwa rentang yang dapat diterima dapat dikonfigurasi sebagai statis atau dinamis, tergantung pada volatilitas aset yang mendasarinya (misalnya, ETH dan LSD terkait). Sifat dinamis memungkinkan adaptasi terhadap kondisi pasar yang fluktuatif, memastikan elastisitas dan mekanisme respons dalam penentuan harga. Strategi dual ini meminimalkan ketergantungan pada satu sumber data, sehingga meningkatkan ketahanan dan kehandalan keseluruhan mekanisme penetapan harga.

4.2 Solusi verifikasi

4.2.1 Rentang penerimaan statis

Solusi ini memperkenalkan metode statis, acceptable_range, untuk mengatasi potensi kerentanan ketika hanya mengandalkan Oracle Curve. Meskipun harga yang dihasilkan oleh Oracle Curve mungkin lebih akurat daripada Chainlink, itu dapat rentan terhadap manipulasi. Sementara itu, Chainlink adalah kuat dan teruji, dianggap pilihan yang lebih aman dalam industri. Ketika perbedaan antara Oracle Curve dan Chainlink melebihi nilai tetap, acceptable_range berfungsi sebagai ambang batas untuk beralih ke feed Chainlink.

Secara strategis, acceptable_range menerima penawaran yang berada dalam ±1% dari kutipan Chainlink. Ini hampir tiga deviasi standar dari perbedaan rata-rata antara Curve dan Chainlink, mengingat feed stETH/ETH dan ETH/USD yang ditingkatkan dibandingkan dengan feed stETH/USD sebelumnya.

4.2.2 Output fungsi derived_price

Harga yang diturunkan adalah fungsi atau mekanisme yang dirancang untuk menentukan penawaran akhir untuk aset tertentu, terutama dalam skenario yang melibatkan Oracle Curve dan Oracle Chainlink.

Dalam solusi yang dijelaskan, fungsi ini mengevaluasi penawaran dari Oracle Curve dan Oracle Chainlink. Berdasarkan perbedaan yang diamati antara kedua harga ini dan apakah itu berada dalam atau melebihi accepted_range yang telah ditentukan sebelumnya, fungsi ini mengeluarkan harga turunan yang berbeda.

Berikut adalah perbandingan derived_price dengan sumber harga lain yang sebelumnya ditampilkan:

Keuntungan BOT dapat divisualisasikan oleh harga derivatif ini (karena tidak ada deviasi, harga ini akan sama persis dengan Curve stETH/ETH dan CL stETH/ETH) seperti yang ditunjukkan di bawah ini:

Menganalisis total keuntungan dapat mengungkap gambaran yang lebih besar. Enam outlier telah diidentifikasi dan total keuntungan untuk setiap kasus dihitung sebelum dan sesudah penyaringan outlier.

Curve stETH/ETH dan Uniswap ETH/USDC memberikan performa terbaik dalam mengurangi profit yang tersedia untuk BOTs. Harga yang diperoleh oleh keduanya memiliki potensi profit yang sama dengan implementasi Oracle stETH saat ini namun membatasi profit, dengan asumsi dapat menghemat sekitar 35,4 ETH bagi pengguna selama 189 transaksi yang dianalisis.

4.3 Kesimpulan

Karena ketergantungan yang sangat kuat pada kutipan dari pertukaran terdesentralisasi paling likuid untuk aktivitas on-chain dan kenyataan bahwa bot MEV juga mengikuti kutipan yang sama saat menukar mkUSD dengan LSD, akurasi kutipan (yang digunakan untuk penetapan harga redemptions oleh Oracle) sangat penting.

Data historis menunjukkan bahwa harga Oracle kolam Curve lebih dekat dengan referensi (data harga UniswapV3) dibandingkan dengan harga Chainlink. Data menunjukkan bahwa mengimplementasikan Oracle Curve akan mengurangi MEV untuk bot dan memberikan tarif pertukaran yang lebih baik bagi pengguna yang menebus harta karun mereka.

Meskipun menggunakan Curve Oracle sebagai Oracle mandiri mungkin menggoda, efektivitas umpan balik harga Curve bergantung pada kedalaman likuiditas aset tertentu dan interaksi dengan kolam. Solusi Oracle hibrida dengan Curve Oracle dan Chainlink Oracle dapat digunakan untuk mencocokkan harga on-chain sambil mempertahankan keandalan dan cakupan pasar yang luas yang diwarisi dari Chainlink Oracle.

Solusi Oracle hibrid yang kami usulkan mengevaluasi standar deviasi (SD) untuk menghasilkan derived_price. Jika SD mendekati 0, itu menunjukkan ketaatan terhadap nilai referensi derived_price, sehingga layak dipertimbangkan. Hal ini memastikan bahwa ketika Curve Oracle menyimpang dari ambang batas yang telah ditentukan, solusinya secara dinamis beralih ke sumber Chainlink yang lebih aman. Karena solusi ini hampir selalu menghasilkan kutipan Curve stETH, diasumsikan bahwa aktivitas MEV sama dengan menggunakan Curve stETH/ETH, tanpa cadangan.

Lampiran A: Skrip Pemrosesan Data

Skrip yang digunakan untuk menghasilkan analisis dalam laporan ini adalah sebagai berikut:

  1. OracleAnalysisV4: Notebook Colab untuk pengumpulan data
  2. OracleAnalysisPlayground: Notebook Colab untuk plotting grafik menggunakan file data pickle
  3. PrismaOracleModelingV1: Notebook Colab untuk membuat grafik aktivitas pertukaran MEV
  4. DerivedPriceModeling: Notebook Colab untuk pengujian dan pemodelan solusi Oracle alternatif

Lampiran B: Analisis residu rETH/cbETH

Grafik Lainnya rETH

Chainlink dan Curve

Uniswap dan Curve

Uniswap dan Chainlink

Periksa puncak rETH

Selama periode pengamatan, harga kurva rETH dari orakel mengalami beberapa puncak. Hal ini menyebabkan peningkatan tajam dalam selisih harga antara harga orakel dan referensi spot. Berikut adalah grafik yang lebih rinci yang menunjukkan perilaku proporsi kolam likuiditas/token dan harga orakel selama beberapa periode lonjakan harga.

start_block = 18824000

end_block = 18827000

interval_blocks = 100

Rasio kolam penambangan:

Harga Oracle:

start_block = 18850000

end_block = 18858000

interval_blocks = 100

Rasio kolam penambangan:

Harga Oracle:

start_block = 18880000

end_block = 18885000

interval_blocks = 100

Rasio kolam penambangan:

Harga Oracle:

Grafik Lainnya cbETH

Chainlink dan Curve

Uniswap dan Curve

Uniswap dan Chainlink

Periksa Puncak cbETH

Selama periode pengamatan, harga Oracle cbETH Curve mengalami beberapa puncak. Pada beberapa kesempatan, hal ini mengakibatkan lonjakan signifikan dalam deviasi harga antara harga Oracle dan referensi spot. Di bawah ini adalah grafik yang lebih detail menunjukkan perilaku rasio kolam likuiditas/likuiditas token selama periode lonjakan harga ini dan perilaku harga Oracle.

start_block = 18693500

end_block = 18696000

interval_blocks = 10

Rasio kolam pertambangan:

Harga Oracle:

start_block = 18814000

end_block = 18816500

interval_blocks = 10

Rasio kolam penambangan:

Harga Oracle:

start_block = 18800000

end_block = 18805000

interval_blocks = 10

Rasio kolam pertambangan:

Harga Oracle:

Pernyataan:

  1. Artikel ini direproduksi dari [marsbit]], judul asli “Analisis Komparatif Orakel Opsional Prisma”, hak cipta dimiliki oleh penulis asli [PrismaRisk], jika Anda memiliki keberatan terhadap penggandaan, harap hubungiTim Belajar GateTim akan menanganinya secepat mungkin sesuai dengan prosedur yang relevan.

  2. Penafian: Pandangan dan pendapat yang terdapat dalam artikel ini hanya mewakili pandangan pribadi penulis dan tidak merupakan nasihat investasi apa pun.

  3. Versi bahasa lain dari artikel ini diterjemahkan oleh tim Gate Learn, tidak disebutkan di Gate.io, artikel yang diterjemahkan tidak boleh direproduksi, didistribusikan, atau diplagiat.

Analisis Komparatif Opsional Oracle Prisma

Menengah4/7/2024, 12:46:07 PM
Artikel ini mengevaluasi kinerja historis integrasi Chainlink dan penggantian Oracle Pool EMA Curve. Ditemukan bahwa kurangnya sumber data Chainlink yang dapat diandalkan untuk aset jaminan telah memengaruhi integrasi dengan platform Prisma. Studi ini mengusulkan spesifikasi awal untuk meningkatkan Oracle guna meningkatkan akurasi dan keandalan harga. Selain itu, penelitian membahas pentingnya Oracle dalam proses likuidasi dan penebusan Prisma. Disarankan untuk menggunakan fungsi oracle harga Curve dengan hati-hati. Terakhir, solusi hibrida yang menggabungkan Curve dan Chainlink Oracle diusulkan untuk meningkatkan fleksibilitas dan keandalan mekanisme penetapan harga. Laporan ini hanya berlaku untuk protokol Prisma.

Pengenalan

Studi ini berasal dari tantangan untuk mendapatkan informasi harga on-chain yang dapat diandalkan yang memaksimalkan keamanan sambil mencerminkan harga spot saat ini dari aset target. Kami secara khusus berfokus pada aset jaminan Prisma Finance (wstETH, rETH, cbETH, dan sfrxETH) serta derivatif staking cair berbasis Ethereum (LSD). Beberapa aset ini kurang memiliki sumber data Chainlink (sering dianggap sebagai standar emas untuk data harga yang dapat diandalkan), yang telah memengaruhi integrasi mereka dengan platform Prisma.

Implementasi terbaru dari kolam stabil Curve Finance mencakup Oracle kolam internal, yang menghitung Exponential Moving Average (EMA) untuk mendapatkan data harga yang tahan terhadap perusakan. Sementara integrator telah mulai menjelajahi penggunaan Oracle dalam aplikasi DeFi lainnya, Oracle ini sebagian besar digunakan untuk memastikan keamanan jaminan dalam pasar crvUSD milik Curve sendiri.

Tujuan utama laporan ini adalah untuk menentukan apakah Oracle Curve Finance dapat berfungsi sebagai alternatif yang dapat diandalkan untuk token ETH LSD Chainlink. Studi ini melibatkan analisis statistik terhadap efektivitas oracle harga Curve, membandingkan volatilitas, akurasi, dan kinerja keseluruhan dengan harga spot referensi Uniswap (dianggap sebagai harga on-chain yang akurat).

Analisis dibagi menjadi dua studi terkait:

Analisis Residual Oracle stETH: Sebuah studi perbandingan antara Chainlink dan Curve, menggunakan data historis untuk menentukan deviasi Oracle relatif terhadap rerata dan deviasi standar harga spot referensi.

Analisis Penebusan stETH MEV: Studi perbandingan antara Chainlink dan Oracle on-chain, menggunakan data historis untuk memeriksa peristiwa penebusan di Prisma dan memperkirakan profitabilitas robot dan perilaku yang diharapkan menggunakan Oracle alternatif.

Setelah analisis, kami menyediakan spesifikasi awal untuk Oracle, dengan harapan perbaikan dalam deviasi harga Oracle sambil memastikan keandalan Oracle. Solusi yang diusulkan dapat berfungsi sebagai blueprint awal untuk studi lain yang bertujuan untuk mengoptimalkan Oracle.

Bagian 1: Latar belakang yang relevan

1.1 Fungsi Oracle dalam protokol Prisma

Efektivitas oracle dinilai dalam lingkungan khusus penggunaan Prisma: likuidasi dan penebusan. (Selain itu, perlu dicatat bahwa oracle yang sama juga digunakan untuk biaya penerbitan token dan penjualan token yang diperoleh ke 'kolam stabil token', yang kepentingannya akan meningkat setelah diluncurkan.)

Kinerja Oracle sangat penting bagi pengguna Prisma karena para arbitrageur mungkin memiliki kesempatan untuk mendapatkan keuntungan dari perbedaan harga antara harga Oracle dan harga spot. Memastikan penggunaan umpan balik harga yang paling akurat selama likuidasi dan penebusan, tanpa mengorbankan keamanan sumber harga, sejalan dengan kepentingan terbaik protokol Prisma dan deposito kasnya.

Dua fungsi Oracle dalam Prisma diuraikan sebagai berikut:

1.1.1 Likuidasi

Untuk melindungi Prisma dari kebangkrutan, di mana posisi utang melebihi nilai agunan mereka, kontrak LiquidationManager menjalankan logika likuidasi pada semua TroveManagers aktif (kumpulan kekayaan Prisma). Likuidasi dapat dipicu dengan salah satu dari tiga cara, tergantung pada rasio agunan rekening target dan rasio agunan sistem secara keseluruhan.

Rasio Jaminan Individu (ICR) <= 100%: Akun (kantor kas) memiliki jaminan yang tidak mencukupi. Semua utang dan jaminan didistribusikan ulang di antara kantor kas aktif yang tersisa, efektif menyebarluaskan kerugian.

100% < ICR < Rasio Jaminan Minimum (MCR): Kas negara jatuh di bawah ambang batas likuidasi tetapi dapat likuidasi dengan aman. Kolam stabil digunakan sebagai cadangan untuk menangani likuidasi (mendorong kolam likuidasi). Jaminan dialokasikan kepada penyimpan kolam stabil. Jika saldo kolam stabil tidak mencukupi untuk melunasi sepenuhnya kas negara, utang dan jaminan yang tersisa didistribusikan ulang di antara kas negara aktif yang tersisa.

MCR <= ICR < Global Total Collateral Ratio (GTCR) && GTCR < 150%: Sistem berada dalam mode pemulihan, artinya perbendaharaan dapat dilikuidasi ketika CR berada di bawah GTCR daripada MCR. Deposit kolam stabil digunakan terlebih dahulu untuk melikuidasi perbendaharaan. Agunan yang setara dengan nilai utang di MCR didistribusikan di antara penyimpan deposit kolam stabil. Sisa agunan dapat diklaim oleh pemilik perbendaharaan.

Kemungkinan likuidasi Prisma meningkat ketika ETH atau ETH LSD mengalami fluktuasi harga yang signifikan, terutama penurunan, dalam kondisi pasar yang sangat fluktuatif. Sementara kegagalan atau manipulasi Oracle dapat mempengaruhi protokol kapan saja, risiko kegagalan Oracle dapat meningkat pada saat-saat paling penting. Aset jaminan mungkin gagal memperbarui harga dengan tepat waktu karena lonjakan biaya gas, atau metodologi penetapan harga Oracle mungkin tidak dapat melacak volatilitas yang meningkat dengan memadai, yang mengakibatkan kesalahan penetapan harga. Kebangkrutan mungkin meningkat, memerlukan redistribusi di antara kas aktif, atau peminjam mungkin dilikuidasi secara tidak adil (dalam kasus di mana Oracle secara keliru melaporkan harga di bawah harga pasar yang adil).

1.1.2 Penebusan

Arbitrageurs selalu dapat memulai penebusan, memilih untuk menebus 1 mkUSD senilai agunan untuk 1 dolar AS (+ biaya penebusan dinamis), dimulai dari kas dengan rasio agunan terendah dalam sistem. Ini membantu memperkuat kaitannya ketika harga mkUSD turun di bawah 1 dolar AS. Proses penebusan mengurangi risiko agunan dari kas target dan meningkatkan rasio agunannya. Pihak yang melaksanakan penebusan membayar biaya yang disebut biaya penebusan. Rentang biaya penebusan ada di TroveManager dan merupakan jumlah lantai biaya penebusan + baseRate. Variabel yang disimpan di TroveManager meningkat secara proporsional dengan pasokan total mkUSD yang ditebus dan berkurang secara linier dari waktu ke waktu. Biaya dinamis ini, baseRate, menyesuaikan tingkat penebusan yang menguntungkan.

Sementara likuidasi di Prisma secara historis jarang terjadi, penebusan adalah hal yang umum dan layak mendapatkan perhatian khusus bagi Oracles. Bot MEV secara aktif mencari kesempatan tersebut untuk mendapatkan keuntungan dengan cepat melalui pinjaman kilat.

Selain ketidaknyamanan dari penebusan paksa dari kas mereka, pengguna mungkin mengalami ekstraksi nilai karena deviasi antara Oracle dan harga spot. Penilaian yang tidak tepat dapat menyebabkan pengguna kehilangan lebih banyak aset daripada yang diperlukan, terutama ketika Oracle melaporkan harga di bawah nilai pasar yang wajar. Di sisi lain, harga yang dilaporkan Oracle lebih tinggi dari harga pasar yang wajar dapat menghambat penebusan, membatalkan tujuan mekanisme penebusan yang menegakkan lantai peg mkUSD.

1.2 opsi Oracle

Berikut adalah pandangan singkat tentang kandidat utama untuk umpan harga Oracle di Prisma.

1.2.1 Chainlink (off-chain)

Chainlink adalah jaringan oracle terdesentralisasi yang menggabungkan data dari berbagai sumber pasar dan menghubungkan data ini ke kontrak pintar. Arsitekturnya bergantung pada operator node independen yang mengambil dan mentransmisikan data dari berbagai pertukaran dan API agregator data pasar, meminimalkan titik-titik kegagalan tunggal dan meningkatkan keamanan. Integritas data dijamin melalui metode kriptografi dan mekanisme konsensus yang memverifikasi keakuratan data sebelum transmisi. Pendekatannya melibatkan penetapan harga aset berbobot volume (VWAP) untuk mengagregasi nilai pasar yang adil yang paling mewakili harga spot aset.

Jaringan node secara teratur (detak jantung) atau berdasarkan ambang batas deviasi harga mendorong harga ke rantai. Keterbatasan ini, karena biaya gas tinggi di mainnet, dapat membuat pembaruan harga mahal dan dapat menyebabkan peningkatan laten, sehingga mengurangi kinerja Oracle. Biaya untuk menjaga Oracle semacam itu dapat tinggi, terutama selama periode volatilitas tinggi, membuat pembaruan tepat waktu ke Oracle sangat penting.

1.2.2 Oracle EMA Kolam Curve (on-chain)

Implementasi terbaru dari kolam Curve (kolam StableSwap dan CryptoSwap) termasuk perhitungan harga EMA yang terbuka oleh fungsi getter seperti price_oracle(). Kolam renang ini tidak bergantung pada orakel eksternal tetapi menghitung harga aset relatif terhadap token di indeks 0 dari kolam renang berdasarkan aktivitas perdagangan mereka sendiri secara internal. EMA meningkatkan biaya manipulasi melalui penyesuaian harga yang halus, menciptakan keseimbangan antara resistensi manipulasi dan deviasi harga dari spot. Setiap kolam renang memiliki ma_exp_timeyang dapat dikonfigurasi melalui pemungutan suara Curve DAO.

Seperti yang diungkapkan dalam dokumentasi Oracle Kurva, Oracle EMA telah aktif dalam pengembangan:

“Jika Anda ingin menggunakan fungsionalitas 'oracle harga' dari Curve atau oracle harga manapun untuk menyediakan data harga on-chain dalam aplikasi terdesentralisasi yang sedang Anda bangun, kami menyarankan Anda untuk berhati-hati ekstra.”

Implementasi kolam yang berbeda memodifikasi versi kode Oracle EMA, sehingga integrator harus memahami implementasi Oracle kolam sasaran.

Pada November 2023, kesalahan yang mempengaruhi Oracle pool ditemukan selama implementasi penyebaran stableswap-ng pool. Kesalahan ini ditemukan sesaat setelah implementasi pool oleh yAudit selama audit sekunder. Hal ini mendorong proposal untuk meningkatkan implementasi dan menghapus beberapa pool yang terpengaruh. Tidak ada dana yang berisiko, namun peristiwa ini menyoroti pengembangan aktif Oracle pool Curve dan potensi inkonsistensi antara pool, meskipun telah dilakukan audit ekstensif, serta potensi kesalahan yang masih ada yang dapat membuat oracles rentan terhadap manipulasi atau ketidaktepatan.

1.3 Sejarah Penebusan MEV

Bagian ketiga dari laporan ini adalah analisis tentang penebusan wstETH TroveManager. Mengingat dampak signifikan dari penebusan terhadap pengguna Prisma, bagian ini menyajikan observasi tentang penebusan historis, yang akan dievaluasi dalam perbandingan dengan Oracle EMA Curve alternatif dalam analisis komparatif.

1.3.1 perilaku BOT

Mengajukan peristiwa penebusan pada TroveManager wstETH mengungkapkan lebih dari 200 transaksi penebusan secara total, dengan 190 transaksi diidentifikasi sebagai transaksi BOT (metode yang digunakan untuk mengidentifikasi transaksi yang dieksekusi oleh BOT akan dijelaskan nanti di bagian yang sama). Di bawah ini adalah visualisasi yang menunjukkan frekuensi transaksi ini dari waktu ke waktu.

Sumber: Dune query_3402461

Hanya ada 3 BOT yang sering bertukar mkUSD:

Sumber: Dune query_3402461

Setiap BOT mengikuti proses umum yang mirip dalam memperoleh mkUSD dan menebusnya. Berikut adalah salah satu transaksi BOT, yang mengungkap beberapa wawasan yang berguna:

Sumber: Penjelajah Tx Phalcon

Pola transaksi BOT dapat dibagi lebih lanjut sebagai berikut:

Dapatkan pinjaman kilat dari Uniswap V3: USDC.

Konversikan USDC ke mkUSD menggunakan Curve.fi Factory USD Metapool: Prisma mkUSD.

Tukar mkUSD menjadi wstETH di TroveManager wstETH.

Buka wstETH menjadi stETH di wstETH.

Tukar stETH dengan ETH di kolam stETH/ETH Curve.

Wrap ETH, melunasi pinjaman, dan mendistribusikan keuntungan dan komisi.

Profitabilitas MEV bergantung pada perbedaan harga di langkah 2, 3, dan 5:

2: Saat harga mkUSD turun, profitabilitas penarikan meningkat.

3: Saat biaya penebusan dinamis berkurang sebagai fungsi dari jumlah penebusan terbaru dan waktu sejak penebusan, profitabilitas penebusan meningkat.

-5: Saat terjadi selisih harga dalam pertukaran aset (misalnya, stETH), profitabilitas pengembalian menurun. LSD seperti stETH dapat langsung ditukar dengan ETH yang mendasarinya, namun proses ini memerlukan periode penantian, sehingga likuiditas di pasar sekunder menjadi sangat penting.

Prisma menggunakan mekanisme untuk membatasi peluang keuntungan dari penebusan mkUSD ke wstETH melalui biaya dinamis. Langkah 3 melibatkan biaya dinamis untuk mencegah penebusan yang sering dan berlebihan. Meskipun mekanisme ini, penebusan masih dapat terjadi akibat kesalahan harga Oracle untuk mengekstrak MEV. Penawaran Oracle untuk penebusan mkUSD mungkin menawarkan tingkat jaminan yang kurang optimal kepada pemilik kas, menyebabkan pengalaman pengguna yang negatif.

1.3.2 Validitas perubahan oracle wstETH

Usulan perubahan harga Prisma Oracle feed untuk stETH telah disetujui. Awalnya, Prisma menggunakan oracle Chainlink stETH/USD, dengan ambang batas deviasi sebesar 1% untuk TroveManager wstETH. Ditemukan bahwa penggunaan kombinasi oracle Chainlink stETH/ETH dan ETH/USD dapat menghasilkan peningkatan, dengan ambang batas deviasi sebesar 0.5% untuk masing-masing oracle.

Harap merujuk pada deviasi antara Oracle baru dan Oracle lama dengan resolusi 15 blok:

Sumber: Grafik oleh @wavey

Telah diamati bahwa ketika harga perdagangan mkUSD turun di bawah tingkat terpasangnya, terjadi penebusan berlebihan karena deviasi Oracle melebihi 1%. Dalam kasus-kasus ini, kami menemukan bahwa biaya dinamis tidak mencukupi untuk mencegah penebusan berlebihan yang disebabkan oleh deviasi harga. Silakan merujuk pada penyesuaian biaya penebusan untuk acara penebusan di bawah.

Sumber: Grafik oleh@wavey

Penebusan-penebusan ini mungkin menimbulkan biaya tidak langsung bagi pengguna Prisma, karena mereka mungkin menerima tarif yang tidak menguntungkan ketika gudang mereka ditebus. Analisis Wavey menunjukkan bahwa orakel stETH/USD lebih rentan terhadap deviasi dibandingkan dengan kombinasi orakel yang divalidasi dalam data di atas. Deviasi sementara yang melebihi 1,2% telah menciptakan peluang bagi bot MEV untuk dieksploitasi.

Usulan untuk mengubah Oracle (PIP-004) dieksekusi pada 17 November 2023, pukul 7:15:Pada pukul 35 PM +UTC, bersama dengan transaksi ini. Berdasarkan grafik harga mkUSD di bawah dan tanggal eksekusi proposal, dapat diamati bahwa setelah eksekusi proposal, harga yang terwujud dari mkUSD dalam USDC telah turun. Penurunan profitabilitas penebusan akibat perbaikan oracle dapat mengakibatkan penurunan kekuatan penambatan.

Sumber: Dune query_5685458

Faktor-faktor lain yang memengaruhi juga harus dipertimbangkan, termasuk keterbatasan model tingkat suku bunga protokol, kasus penggunaan untuk mkUSD, dan langkah insentif yang tidak sejalan. Usulan signifikan lain yang membatasi penarikan adalah PIP-019, yang dieksekusi pada 31 Januari. Usulan ini meningkatkan biaya penarikan dasar untuk semua TroveManagers menjadi 1%-1.5%, mengurangi elastisitas penyanggahan mkUSD namun dengan biaya mengurangi risiko penarikan untuk pemilik trove Prisma.

Bagian 2: Analisis Residual Oracle

2.1 Tujuan

Analisis bertujuan untuk menilai kinerja orakel Prisma yang diimplementasikan dan mengevaluasi kinerja hipotetis orakel Curve EMA on-chain alternatif dengan menggunakan data historis. Temuan dari studi ini akan memberikan wawasan awal tentang perilaku orakel off-chain dan on-chain, memungkinkan evaluasi yang lebih rinci dalam penelitian selanjutnya.

Tujuan analisis ini adalah untuk menentukan apakah oracle saat ini memberikan solusi kinerja yang paling optimal atau apakah perbaikan dapat dilakukan dengan menerapkan solusi on-chain atau hybrid menggunakan oracle Curve EMA pool.

2.2 Metodologi

Analisis akan difokuskan secara khusus pada stETH karena ini adalah LSD yang paling sering digunakan, dengan umpan harga Chainlink yang matang dan likuiditas yang dalam di kolam Curve. Analisis terhadap jaminan lain yang terdaftar di Prisma telah dilakukan, dan hasilnya disediakan di Lampiran B dari laporan untuk referensi.

Analisis komparatif melibatkan penilaian tingkat keselarasan antara data percobaan dan kumpulan data referensi. Dalam hal ini, dua set data dipertimbangkan: data percobaan yang diminati dan kumpulan data referensi. Meskipun diharapkan data percobaan harus closely track data referensi, deviasi mungkin terjadi.

Untuk mengkuantifikasi keselarasan, kami menguji sisa, yang pada dasarnya mewakili perbedaan antara data uji dan data referensi. Analisis sisa bertujuan untuk mengungkap pola atau tren dalam perbedaan tersebut.

Saat menganalisis sisa (deviasi dari nilai referensi), observasi dilakukan berdasarkan standar deviasi dari sisa. Standar deviasi (SD) adalah ukuran statistik yang digunakan untuk mengkuantifikasi variabilitas atau dispersi dari sebuah set nilai. Ini memberikan indikasi distribusi nilai di sekitar rata-rata. Standar deviasi rendah menunjukkan bahwa titik data cenderung dekat dengan rata-rata, sementara standar deviasi tinggi menunjukkan bahwa titik data tersebar dalam rentang yang lebih luas.

Dalam kasus kami, rata-rata mendekati 0 diinginkan karena menunjukkan bahwa harga yang disediakan tidak melebih atau mengurangi harga referensi. Namun, rata-rata mendekati atau sama dengan 0 dengan standar deviasi yang relatif tinggi menunjukkan fluktuasi yang signifikan, yang tidak diinginkan karena sesuai dengan kesalahan harga yang parah. Umpan oracle dengan rata-rata nol dan deviasi standar minimum adalah hasil yang ideal, menunjukkan bahwa umpan secara akurat melacak harga spot.

Untuk memantau dan mengevaluasi akurasi aktivitas harga orakel on-chain, kutipan yang diperoleh dari destinasi perdagangan paling likuid (tidak termasuk Curve) digunakan sebagai referensi untuk analisis sisa. Secara khusus, kutipan dari pasangan mata uang LSD/ETH di Uniswap menjadi titik referensi utama dalam skenario ini.

Analisis kami mencakup dua strategi untuk mendapatkan harga stETH Chainlink. Hal ini dilakukan karena ditemukan bahwa deviasi dari feed stETH/USD Chainlink asli lebih tinggi daripada deviasi menggunakan stETH/ETH + ETH/USD. Orakel diperbarui sesuai dengan proposal tata kelola. Selanjutnya, analisis yang melibatkan harga stETH/ETH Chainlink yang ditingkatkan dalam ETH disebut sebagai stETHv1, sementara feed kombinasi stETH/USD + ETH/USD (mereplikasi performa orakel stETH asli, distandarisasi ke ETH) disebut sebagai stETHv2.

2.3 Pengumpulan data

Untuk tujuan analisis, data untuk kuartal terakhir 2023 diperoleh dari semua aset yang sesuai (dari blok 18331000 hingga blok 18931000, dengan resolusi 250 blok untuk kumpulan data). Hal ini menciptakan kumpulan data yang berisi 2401 titik data untuk semua aset.

Aset utama yang sedang dipertimbangkan adalah stETH, karena saat ini merupakan jenis agunan yang diterima oleh Prisma, dengan feed Chainlink dan pool Curve StableSwap-ng tersedia untuk referensi (harap lihat Lampiran B untuk analisis tentang rETH dan cbETH, yang menggunakan implementasi pool CryptoSwap yang lebih lama). Semua data diperoleh dengan mengonfirmasi harga untuk rentang blok yang spesifik.

Harga Oracle dianalisis dari sumber-sumber berikut:

Kolam likuiditas kurva

Umpan Balik Harga Chainlink

Alamat kolam pertambangan Uniswap sebagai agen referensi harga spot adalah sebagai berikut:

Harga spot Uniswap

Untuk menstandarisasi LSD ke ETH yang mendasarinya, kami menggunakan nilai tukar internal LSD/ETH:

Tingkat Pertukaran Internal LSD/ETH

Analisis sisa dari mesin orakel stETH 2.4

2.4.1 Chainlink dan Curve

Dalam bagian ini, kami akan membandingkan akurasi umpan harga Chainlink stETH dengan Curve.

Feed Chainlink stETHv1 vs. Curve

Chainlink: feed stETH/ETH

Curve: kolam stETH/ETH

Di bawah ini adalah perbandingan langsung harga stETH dari Chainlink dan Curve. Karena siklus detak 24 jam dari Chainlink stETH/ETH, harga berfluktuasi setiap beberapa blok. Secara komparatif, fluktuasi lebih mudah diamati dalam feed Chainlink (divisualisasikan lebih baik dalam feed Chainlink stETH/USD) dibandingkan dengan Curve, karena Curve menggunakan waktu EMA 10 menit (ma_exp_time) untuk mendapatkan harganya.

Jika kita mengurangi harga dari Curve dari harga dari Chainlink, kita akan mendapatkan sisa, seperti yang ditunjukkan di bawah ini:

Nilai deviasi rata-rata adalah ~-0.000305.

Sebuah observasi penting yang dapat dibuat di sini adalah bahwa Curve Oracle sedikit melebih-lebihkan data harga dibandingkan Chainlink.

Chainlink stETHv2 dan Curve

Chainlink: feed stETH/USD / feed ETH/USD

Curve: kolam stETH/ETH

Berikut adalah perbandingan harga dari umpan Chainlink alternatif yang dinormalisasi ke ETH (stETH/USD dan ETH/USD) versus stETH Curve. Karena Chainlink stETH/USD memiliki ambang batas deviasi 1% (dibandingkan dengan 0.5% dalam umpan stETH/ETH), harga menunjukkan deviasi yang lebih besar di sekitar harga acuan.

Seperti yang diamati sebelumnya, fluktuasi harga stETH/USD Chainlink lebih mencolok dibandingkan dengan Curve.

Nilai deviasi rata-rata adalah ~-0.000171.

Bergantung pada skala, umpan ini memiliki sisa yang lebih besar, yaitu lebih volatil, daripada stETH/ETH.

2.4.2 Uniswap dan Chainlink

Dalam bagian ini, kami akan membandingkan akurasi historis umpan harga Chainlink stETH dengan harga referensi spot dari Uniswap.

Dengan asumsi data harga kolam UniswapV3 sebagai proksi yang dapat diandalkan untuk harga spot, kita dapat membandingkan data benchmark yang sebelumnya diperoleh untuk memeriksa kedekatan umpan Oracle Chainlink dengan nilai referensi.

Uniswap Spot vs. Chainlink stETHv1

Chainlink: feed stETH/ETH

Uniswap: kolam wstETH/ETH / nilai tukar internal wstETH/stETH

Berikut adalah deviasi aktual antara harga spot Uniswap dan Chainlink stETH/ETH:

Mean sisihan = 0.000415

Standar deviasi dari selisih harga = 0.000601

Uniswap Spot vs. Chainlink stETHv2

Chainlink: feed stETH/USD / feed ETH/USD

Uniswap: kolam wstETH/ETH / tingkat pertukaran internal wstETH/stETH

Berikut adalah deviasi aktual antara Uniswap stETH dan Chainlink stETH (stETH/USD):

Arti perbedaan harga = 0.000281

Standar deviasi selisih harga = 0.002747

Di sini, kami membandingkan Chainlink stETHv1 (yaitu, stETH/ETH) dan stETHv2 (yaitu, stETH/USD) dengan data Uniswap, dan hasilnya menunjukkan bahwa deviasi stETHv2 jauh lebih besar daripada stETHv1.

Observasi yang sama juga dilakukan dalam proposal tata kelola Prisma (PIP-004) ketika oracle beralih dari stETH/USD ke stETH/ETH + ETH/USD untuk mengurangi deviasi umpan harga.

2.4.3 Uniswap dan Curve

Dalam bagian ini, kami akan membandingkan akurasi historis Oracle stETH Curve dengan harga spot referensi dari Uniswap.

Dengan asumsi data harga pool UniswapV3 sebagai proksi yang dapat diandalkan untuk harga spot, kita dapat membandingkan data benchmark yang sebelumnya diperoleh untuk memeriksa kedekatan feed Oracle Curve dengan nilai referensi.

Spot Uniswap vs. Curve

Curve: kolam stETH/ETH

Uniswap: kolam wstETH/ETH / nilai tukar internal wstETH/stETH

Berdasarkan analisis residu serupa seperti di atas, kami mendapatkan metrik berikut untuk dibandingkan dengan benchmark yang sebelumnya ditetapkan:

Selisih harga rata-rata = 0.000110.

Standar deviasi dari perbedaan harga = 0.000141.

Seperti yang diamati, harga rata-rata yang dilaporkan oleh Curve sedikit lebih rendah daripada harga spot Uniswap, dengan standar deviasi yang jauh lebih rendah dibandingkan dengan kedua sumber dari Chainlink.

2.5 Hasil

Saat membandingkan metrik ini, kami menemukan bahwa deviasi data Chainlink jauh lebih besar daripada Curve ketika merujuk data Uniswap sebagai proksi harga spot.

Karena pengamatan di atas didasarkan pada penyimpangan dari setiap sumber harga, mungkin saja umpan Oracle Curve menunjukkan penyimpangan positif sementara umpan Chainlink menunjukkan penyimpangan negatif, dan sebaliknya. Skenario ini sepenuhnya ditiadakan karena rentang penyimpangan umpan Chainlink dan Curve Oracle lebih kecil dibandingkan dengan rentang penyimpangan Uniswap & Chainlink dan Uniswap & Curve.

Tabel di bawah ini menampilkan analisis sisa yang dilakukan pada data yang terkumpul. Rata-rata sisa, dikalikan dengan 100, menghasilkan persentase deviasi rata-rata dari aset target dari referensi (dalam satuan USD, dibandingkan dengan harga ETH yang dinyatakan dalam USD).

Tabel ini langsung membandingkan kinerja relatif Chainlink dan Curve dengan referensi Uniswap dalam hal rata-rata dan standar deviasi untuk setiap aset. Dalam semua kasus, Curve menunjukkan nilai rata-rata dan standar deviasi yang lebih rendah. Multiplikator akurasi menunjukkan akurasi relatif dari setiap nilai yang diamati.

Titik utama di sini adalah sebagai berikut:

  1. Berdasarkan standar deviasi sisa, Curve menampilkan volatilitas yang lebih rendah dibandingkan dengan Chainlink terkait harga spot referensi, dan ini tetap konsisten di seluruh aset yang diamati, meskipun deviasi standar antara cbETH untuk Chainlink dan Curve serupa.
  2. Menurut tabel di atas, melalui menganalisis cara tersebut, dapat diamati bahwa Chainlink meremehkan harga aset dibandingkan dengan harga spot Uniswap referensi. Curve lebih cocok dengan harga referensi, tetapi juga cenderung sedikit meremehkan harga dibandingkan dengan harga spot Uniswap referensi.
  3. Sebuah catatan untuk temuan ini adalah bahwa meskipun secara keseluruhan Superioritas Oracle Curve atas Chainlink yang diamati di sini, rETH dan cbETH mengalami deviasi tajam dan singkat, sebagaimana dirujuk dalam Lampiran B: Analisis Residu rETH/cbETH. Hal ini disebabkan oleh likuiditas relatif dari kolam renang, aktivitas rendah, dan ketidakcukupan implementasi kolam renang yang lebih tua untuk integrasi. Namun, penelitian lebih lanjut diperlukan untuk menentukan metrik benchmark yang diperlukan untuk Oracle kolam Curve yang dapat diandalkan secara tepat.

Bagian 3: Analisis Penebusan stETH MEV

3.1 Tujuan

Analisis bertujuan untuk membandingkan harga implementasi acara penebusan dalam wstETH TroveManager dengan harga hipotetis yang dikutip menggunakan data historis oleh orakel on-chain alternatif. Hasil studi akan memberikan wawasan awal tentang perilaku orakel off-chain dan on-chain, memungkinkan evaluasi yang lebih detail dalam penelitian selanjutnya.

Tujuan analisis ini adalah untuk menentukan apakah oracle saat ini memberikan solusi kinerja terbaik dalam skenario penebusan tertentu atau apakah perbaikan dapat dilakukan melalui implementasi solusi on-chain atau hybrid, dengan memanfaatkan oracle kolam Curve EMA.

3.2 Metodologi

Analisis ini akan difokuskan secara khusus pada stETH, karena ini adalah LSD yang paling sering digunakan dan memiliki umpan harga Chainlink yang matang dan likuiditas dalam kolam Curve yang dalam. Studi ini akan menggabungkan semua acara penebusan, membandingkan harga orakel stETH yang terealisasi dengan beberapa harga orakel alternatif, dihargai dalam USD, dan menggunakan harga orakel stETH/ETH Curve.

Untuk analisis ini, harga stETH yang terealisasi dihitung dengan membagi jumlah mkUSD yang ditebus dengan jumlah stETH yang hilang ke Manajer Trove dalam bentuk wstETH. Untuk menentukan jumlah stETH, kita perlu mempertimbangkan wstETH yang diterima dari penebusan ditambah wstETH yang dihabiskan sebagai biaya dan mengonversinya ke stETH. Jika sumber alternatif apa pun secara konsisten menawarkan keuntungan lebih rendah kepada penebus, kita dapat mengatakan bahwa kinerja MEV mereka lebih baik daripada harga aktual.

TroveManager wstETH digunakan untuk mengambil semua hash transaksi saat mendapatkan mkUSD dalam pertukaran. Transaksi di mana alamat yang menebus mkUSD menerima dan membakar mkUSD dianggap sebagai transaksi BOT. Permintaan detail untuk acara penebusan dapat ditemukan di sini: Dune query_3352919. Permintaan ini penting untuk mengambil semua data dari transaksi BOT.

3.3 Pengumpulan data

Dune query digunakan untuk mengidentifikasi transaksi BOT yang mendapatkan semua nilai hash transaksi, nilai tukar wstETH yang direalisasikan untuk penebusan mkUSD, dan nomor blok acara penebusan. Nomor blok yang diperoleh dari query digunakan sebagai input untuk mengambil data berikut, yang digunakan untuk membandingkan implementasi saat ini dengan perubahan harga feed Curve stETH saat ini:

Berdasarkan data di atas, kita dapat membuat tiga umpan harga menggunakan Oracle Curve harga stETH/ETH, dan menggabungkannya dengan ETH/USD untuk mendapatkan stETH/USD. Setelah operasi ini, kita mendapatkan data berikut untuk visualisasi:

Data di atas menyediakan harga stETH dalam USD, yang dapat dianalisis berdasarkan harga stETH yang diwujudkan dari semua transaksi BOT. Harga stETH yang diwujudkan (dalam USD) hanya digunakan untuk menghitung harga stETH untuk setiap mkUSD yang disediakan selama penebusan.

Analisis Penebusan MEV 3.4 stETH

Berikut adalah 4 sumber harga stETH untuk blok perdagangan BOT (1 referensi dan 3 alternatif yang dibahas di atas). Feed harga yang direalisasikan adalah harga dari orakel harga yang diimplementasikan (yaitu Chainlink). Ini dibandingkan dengan 3 feed menggunakan Curve stETH/ETH sebagai inti. Di sini, penawaran yang lebih tinggi akan mengakibatkan penurunan nilai stETH yang ditukar dengan mkUSD dan sebaliknya.

Berdasarkan informasi di atas, kita dapat memodelkan jumlah relatif stETH yang diterima dari penebusan mkUSD dan menormalkannya berdasarkan jumlah sebenarnya yang diterima dari oracle yang ada. Grafik berikut menampilkan stETH yang diperoleh dari mkUSD sebelum dikenakan biaya dan memproses data untuk menghapus nilai-nilai ekstrem guna visualisasi yang lebih baik:

3.5 Hasil

Analisis mengungkapkan tren yang jelas: ketika menggabungkan Curve stETH/ETH dengan Uniswap ETH/USDC dan Chainlink ETH/USD, jumlah stETH yang tersedia untuk penebusan mkUSD menurun. Akibatnya, penurunan jumlah unit stETH per penebusan mkUSD mengakibatkan penurunan keuntungan BOT. Visualisasi yang disediakan menggambarkan perbandingan antara keuntungan BOT di bawah berbagai harga feed yang diasumsikan dan harga feed aktual, tanpa biaya:

Tampak jelas bahwa kombinasi Curve stETH/ETH, Uniswap ETH/USDC, dan Chainlink ETH/USD mengurangi profitabilitas penebusan dibandingkan dengan harga feed yang direalisasikan.

Bagian 4: Penyempurnaan Oracle yang Diusulkan

4.1 solusi Hybrid Oracle

Mengakui risiko yang melekat dari hanya mengandalkan oracle Curve, terutama selama periode likuiditas rendah atau fluktuasi likuiditas, solusi yang diusulkan secara strategis mengintegrasikan oracle Chainlink sebagai langkah pengamanan (yaitu, rencana cadangan) jika terjadi penyimpangan. Mengingat kemungkinan kecil Chainlink memberikan data yang salah, itu dapat berfungsi sebagai opsi cadangan yang dapat diandalkan.

Solusi ini bertindak sebagai filter, mempertimbangkan harga Curve dan Chainlink. Kondisi-kondisi dibentuk dalam suatu fungsi, berfungsi sebagai saklar. Untuk merancang kondisi ini, konsep rentang yang dapat diterima diperkenalkan. Rentang ini mewakili perbedaan yang dapat diterima antara harga oracle Chainlink dan Curve. Ketika perbedaan yang diamati melebihi rentang ini, itu menunjukkan bias atau manipulasi potensial dalam data Oracle Curve. Dalam kasus seperti itu, fungsi tersebut mengurangi risiko potensial dengan memihak pada harga Chainlink yang lebih aman. Sebaliknya, ketika perbedaan berada dalam rentang yang dapat diterima, fungsi tersebut mengandalkan akurasi dan ketepatan Oracle Curve.

Perlu dicatat bahwa rentang yang dapat diterima dapat dikonfigurasi sebagai statis atau dinamis, tergantung pada volatilitas aset yang mendasarinya (misalnya, ETH dan LSD terkait). Sifat dinamis memungkinkan adaptasi terhadap kondisi pasar yang fluktuatif, memastikan elastisitas dan mekanisme respons dalam penentuan harga. Strategi dual ini meminimalkan ketergantungan pada satu sumber data, sehingga meningkatkan ketahanan dan kehandalan keseluruhan mekanisme penetapan harga.

4.2 Solusi verifikasi

4.2.1 Rentang penerimaan statis

Solusi ini memperkenalkan metode statis, acceptable_range, untuk mengatasi potensi kerentanan ketika hanya mengandalkan Oracle Curve. Meskipun harga yang dihasilkan oleh Oracle Curve mungkin lebih akurat daripada Chainlink, itu dapat rentan terhadap manipulasi. Sementara itu, Chainlink adalah kuat dan teruji, dianggap pilihan yang lebih aman dalam industri. Ketika perbedaan antara Oracle Curve dan Chainlink melebihi nilai tetap, acceptable_range berfungsi sebagai ambang batas untuk beralih ke feed Chainlink.

Secara strategis, acceptable_range menerima penawaran yang berada dalam ±1% dari kutipan Chainlink. Ini hampir tiga deviasi standar dari perbedaan rata-rata antara Curve dan Chainlink, mengingat feed stETH/ETH dan ETH/USD yang ditingkatkan dibandingkan dengan feed stETH/USD sebelumnya.

4.2.2 Output fungsi derived_price

Harga yang diturunkan adalah fungsi atau mekanisme yang dirancang untuk menentukan penawaran akhir untuk aset tertentu, terutama dalam skenario yang melibatkan Oracle Curve dan Oracle Chainlink.

Dalam solusi yang dijelaskan, fungsi ini mengevaluasi penawaran dari Oracle Curve dan Oracle Chainlink. Berdasarkan perbedaan yang diamati antara kedua harga ini dan apakah itu berada dalam atau melebihi accepted_range yang telah ditentukan sebelumnya, fungsi ini mengeluarkan harga turunan yang berbeda.

Berikut adalah perbandingan derived_price dengan sumber harga lain yang sebelumnya ditampilkan:

Keuntungan BOT dapat divisualisasikan oleh harga derivatif ini (karena tidak ada deviasi, harga ini akan sama persis dengan Curve stETH/ETH dan CL stETH/ETH) seperti yang ditunjukkan di bawah ini:

Menganalisis total keuntungan dapat mengungkap gambaran yang lebih besar. Enam outlier telah diidentifikasi dan total keuntungan untuk setiap kasus dihitung sebelum dan sesudah penyaringan outlier.

Curve stETH/ETH dan Uniswap ETH/USDC memberikan performa terbaik dalam mengurangi profit yang tersedia untuk BOTs. Harga yang diperoleh oleh keduanya memiliki potensi profit yang sama dengan implementasi Oracle stETH saat ini namun membatasi profit, dengan asumsi dapat menghemat sekitar 35,4 ETH bagi pengguna selama 189 transaksi yang dianalisis.

4.3 Kesimpulan

Karena ketergantungan yang sangat kuat pada kutipan dari pertukaran terdesentralisasi paling likuid untuk aktivitas on-chain dan kenyataan bahwa bot MEV juga mengikuti kutipan yang sama saat menukar mkUSD dengan LSD, akurasi kutipan (yang digunakan untuk penetapan harga redemptions oleh Oracle) sangat penting.

Data historis menunjukkan bahwa harga Oracle kolam Curve lebih dekat dengan referensi (data harga UniswapV3) dibandingkan dengan harga Chainlink. Data menunjukkan bahwa mengimplementasikan Oracle Curve akan mengurangi MEV untuk bot dan memberikan tarif pertukaran yang lebih baik bagi pengguna yang menebus harta karun mereka.

Meskipun menggunakan Curve Oracle sebagai Oracle mandiri mungkin menggoda, efektivitas umpan balik harga Curve bergantung pada kedalaman likuiditas aset tertentu dan interaksi dengan kolam. Solusi Oracle hibrida dengan Curve Oracle dan Chainlink Oracle dapat digunakan untuk mencocokkan harga on-chain sambil mempertahankan keandalan dan cakupan pasar yang luas yang diwarisi dari Chainlink Oracle.

Solusi Oracle hibrid yang kami usulkan mengevaluasi standar deviasi (SD) untuk menghasilkan derived_price. Jika SD mendekati 0, itu menunjukkan ketaatan terhadap nilai referensi derived_price, sehingga layak dipertimbangkan. Hal ini memastikan bahwa ketika Curve Oracle menyimpang dari ambang batas yang telah ditentukan, solusinya secara dinamis beralih ke sumber Chainlink yang lebih aman. Karena solusi ini hampir selalu menghasilkan kutipan Curve stETH, diasumsikan bahwa aktivitas MEV sama dengan menggunakan Curve stETH/ETH, tanpa cadangan.

Lampiran A: Skrip Pemrosesan Data

Skrip yang digunakan untuk menghasilkan analisis dalam laporan ini adalah sebagai berikut:

  1. OracleAnalysisV4: Notebook Colab untuk pengumpulan data
  2. OracleAnalysisPlayground: Notebook Colab untuk plotting grafik menggunakan file data pickle
  3. PrismaOracleModelingV1: Notebook Colab untuk membuat grafik aktivitas pertukaran MEV
  4. DerivedPriceModeling: Notebook Colab untuk pengujian dan pemodelan solusi Oracle alternatif

Lampiran B: Analisis residu rETH/cbETH

Grafik Lainnya rETH

Chainlink dan Curve

Uniswap dan Curve

Uniswap dan Chainlink

Periksa puncak rETH

Selama periode pengamatan, harga kurva rETH dari orakel mengalami beberapa puncak. Hal ini menyebabkan peningkatan tajam dalam selisih harga antara harga orakel dan referensi spot. Berikut adalah grafik yang lebih rinci yang menunjukkan perilaku proporsi kolam likuiditas/token dan harga orakel selama beberapa periode lonjakan harga.

start_block = 18824000

end_block = 18827000

interval_blocks = 100

Rasio kolam penambangan:

Harga Oracle:

start_block = 18850000

end_block = 18858000

interval_blocks = 100

Rasio kolam penambangan:

Harga Oracle:

start_block = 18880000

end_block = 18885000

interval_blocks = 100

Rasio kolam penambangan:

Harga Oracle:

Grafik Lainnya cbETH

Chainlink dan Curve

Uniswap dan Curve

Uniswap dan Chainlink

Periksa Puncak cbETH

Selama periode pengamatan, harga Oracle cbETH Curve mengalami beberapa puncak. Pada beberapa kesempatan, hal ini mengakibatkan lonjakan signifikan dalam deviasi harga antara harga Oracle dan referensi spot. Di bawah ini adalah grafik yang lebih detail menunjukkan perilaku rasio kolam likuiditas/likuiditas token selama periode lonjakan harga ini dan perilaku harga Oracle.

start_block = 18693500

end_block = 18696000

interval_blocks = 10

Rasio kolam pertambangan:

Harga Oracle:

start_block = 18814000

end_block = 18816500

interval_blocks = 10

Rasio kolam penambangan:

Harga Oracle:

start_block = 18800000

end_block = 18805000

interval_blocks = 10

Rasio kolam pertambangan:

Harga Oracle:

Pernyataan:

  1. Artikel ini direproduksi dari [marsbit]], judul asli “Analisis Komparatif Orakel Opsional Prisma”, hak cipta dimiliki oleh penulis asli [PrismaRisk], jika Anda memiliki keberatan terhadap penggandaan, harap hubungiTim Belajar GateTim akan menanganinya secepat mungkin sesuai dengan prosedur yang relevan.

  2. Penafian: Pandangan dan pendapat yang terdapat dalam artikel ini hanya mewakili pandangan pribadi penulis dan tidak merupakan nasihat investasi apa pun.

  3. Versi bahasa lain dari artikel ini diterjemahkan oleh tim Gate Learn, tidak disebutkan di Gate.io, artikel yang diterjemahkan tidak boleh direproduksi, didistribusikan, atau diplagiat.

ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!