Layanan Mesin Oracle mungkin tidak dapat merespons permintaan pengguna tepat waktu karena berbagai alasan, yang menyebabkan kegagalan titik tunggal. Untuk mengatasi masalah ini, desain Mesin Oracle harga terdistribusi telah menjadi solusi yang efektif. Sebagai contoh, untuk menyediakan layanan harga BTC terhadap dolar, dengan mengagregasi 31 Mesin Oracle harga untuk memberikan data yang lebih dapat diandalkan kepada pengguna.
Desain agregator ini memungkinkan beberapa mesin oracle off-chain untuk memberikan data harga dengan memanggil metode transmit, sebagai respons terhadap permintaan pengguna di dalam agregator. Mesin oracle off-chain ini biasanya adalah akun EOA, yang tidak hanya dapat menyediakan data untuk agregator BTC/USD, tetapi juga dapat melayani agregator pasangan harga lainnya, seperti ETH/USD.
Kontrak on-chain akan melalui serangkaian langkah verifikasi yang ketat saat memproses data ini:
Membaca status kontrak saat ini dan melakukan pemeriksaan awal.
Selesaikan persiapan yang diperlukan.
Gunakan ecrecover() untuk memverifikasi setiap data tanda tangan, pastikan nilai hash sesuai dengan _report, dan periksa peran penandatangan serta keunikan tanda tangan.
Periksa urutan nilai pengamatan, pilih median sebagai hasil akhir, dan pastikan tidak melebihi batas yang telah ditetapkan.
Catat jawaban mesin Oracle kali ini di s_transmissions, dan lakukan verifikasi lebih lanjut.
Langkah verifikasi terakhir melibatkan perbandingan dengan sumber harga lainnya untuk memastikan akurasi dan keandalan data. Misalnya, beberapa aplikasi mungkin membandingkan harga yang diberikan oleh Chainlink dengan harga dari bursa terdesentralisasi seperti Uniswap, untuk memastikan deviasi berada dalam batas yang dapat diterima.
Untuk menyederhanakan proses pengambilan harga berbagai token, Feed Registry diperkenalkan sebagai agregator PriceFeeds. Ini secara signifikan mengurangi biaya pemerintahan dan meningkatkan fleksibilitas sistem, pengguna dapat langsung membaca data harga berbagai token melalui Feed Registry.
Data harga Chainlink melalui pengolahan agregasi berlapis, termasuk agregasi sumber data, agregasi operator node, dan agregasi jaringan Mesin Oracle. Mekanisme agregasi berlapis ini memastikan kelengkapan dan akurasi data, serta secara efektif mencegah manipulasi manusia dan deviasi harga.
Namun, Mesin Oracle harga Chainlink juga memiliki batasan tertentu. Karena mekanisme pembaruannya memiliki ambang deviasi, frekuensi pembaruan harga dapat bervariasi dari beberapa menit hingga 24 jam, yang membuatnya lebih cocok untuk skenario aplikasi yang kurang sensitif terhadap pembaruan harga. Untuk aplikasi yang memerlukan data harga waktu nyata, mungkin perlu mempertimbangkan solusi lain.
Secara keseluruhan, Chainlink menyediakan solusi mesin oracle harga yang aman dan dapat diandalkan, yang dirancang dengan mempertimbangkan akurasi data dan stabilitas sistem. Meskipun mungkin ada keterbatasan dalam beberapa skenario tertentu, bagi sebagian besar aplikasi terdesentralisasi yang tidak memerlukan pembaruan harga frekuensi tinggi, itu masih merupakan alat yang kuat dan efektif.
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.
Mesin Oracle harga terdistribusi Chainlink: prinsip, keunggulan, dan keterbatasan
Cara Kerja Mesin Oracle Harga Terdistribusi
Layanan Mesin Oracle mungkin tidak dapat merespons permintaan pengguna tepat waktu karena berbagai alasan, yang menyebabkan kegagalan titik tunggal. Untuk mengatasi masalah ini, desain Mesin Oracle harga terdistribusi telah menjadi solusi yang efektif. Sebagai contoh, untuk menyediakan layanan harga BTC terhadap dolar, dengan mengagregasi 31 Mesin Oracle harga untuk memberikan data yang lebih dapat diandalkan kepada pengguna.
Desain agregator ini memungkinkan beberapa mesin oracle off-chain untuk memberikan data harga dengan memanggil metode transmit, sebagai respons terhadap permintaan pengguna di dalam agregator. Mesin oracle off-chain ini biasanya adalah akun EOA, yang tidak hanya dapat menyediakan data untuk agregator BTC/USD, tetapi juga dapat melayani agregator pasangan harga lainnya, seperti ETH/USD.
Kontrak on-chain akan melalui serangkaian langkah verifikasi yang ketat saat memproses data ini:
Langkah verifikasi terakhir melibatkan perbandingan dengan sumber harga lainnya untuk memastikan akurasi dan keandalan data. Misalnya, beberapa aplikasi mungkin membandingkan harga yang diberikan oleh Chainlink dengan harga dari bursa terdesentralisasi seperti Uniswap, untuk memastikan deviasi berada dalam batas yang dapat diterima.
Untuk menyederhanakan proses pengambilan harga berbagai token, Feed Registry diperkenalkan sebagai agregator PriceFeeds. Ini secara signifikan mengurangi biaya pemerintahan dan meningkatkan fleksibilitas sistem, pengguna dapat langsung membaca data harga berbagai token melalui Feed Registry.
Data harga Chainlink melalui pengolahan agregasi berlapis, termasuk agregasi sumber data, agregasi operator node, dan agregasi jaringan Mesin Oracle. Mekanisme agregasi berlapis ini memastikan kelengkapan dan akurasi data, serta secara efektif mencegah manipulasi manusia dan deviasi harga.
Namun, Mesin Oracle harga Chainlink juga memiliki batasan tertentu. Karena mekanisme pembaruannya memiliki ambang deviasi, frekuensi pembaruan harga dapat bervariasi dari beberapa menit hingga 24 jam, yang membuatnya lebih cocok untuk skenario aplikasi yang kurang sensitif terhadap pembaruan harga. Untuk aplikasi yang memerlukan data harga waktu nyata, mungkin perlu mempertimbangkan solusi lain.
Secara keseluruhan, Chainlink menyediakan solusi mesin oracle harga yang aman dan dapat diandalkan, yang dirancang dengan mempertimbangkan akurasi data dan stabilitas sistem. Meskipun mungkin ada keterbatasan dalam beberapa skenario tertentu, bagi sebagian besar aplikasi terdesentralisasi yang tidak memerlukan pembaruan harga frekuensi tinggi, itu masih merupakan alat yang kuat dan efektif.