Untuk mengatasi masalah kegagalan titik tunggal, suatu jaringan mesin oracle terkenal telah mengadopsi desain terdistribusi. Sebagai contoh layanan harga BTC terhadap dolar AS, jaringan ini menggabungkan 31 mesin oracle harga independen untuk bersama-sama memberikan layanan kepada pengguna.
Desain agregator ini membuat sistem lebih stabil dan dapat diandalkan. Setiap mesin oracle off-chain dapat menyediakan data harga dengan memanggil metode tertentu sebagai respons terhadap permintaan pengguna. Mesin oracle ini biasanya adalah beberapa akun eksternal yang memiliki (EOA), yang tidak hanya menyediakan data untuk BTC/USD tetapi juga mungkin memberikan informasi harga untuk pasangan mata uang lainnya seperti ETH/USD.
Pada tingkat kontrak di blockchain, sistem akan melakukan serangkaian verifikasi terhadap data yang diterima:
Pertama, bacalah status kontrak saat ini dan lakukan pemeriksaan dasar.
Kemudian lakukan beberapa persiapan.
Selanjutnya, lakukan verifikasi tanda tangan untuk setiap data tanda tangan, pastikan sumber data dapat dipercaya.
Terakhir, periksa apakah nilai pengamatan diurutkan dengan benar, dan pilih median dari nilai tersebut sebagai harga akhir. Pada saat yang sama, juga akan memastikan bahwa harga tersebut tidak melebihi ambang batas yang telah ditentukan.
Setelah semua pemeriksaan selesai, sistem akan mencatat hasil Mesin Oracle dalam kontrak. Selain itu, akan dilakukan verifikasi tambahan, seperti perbandingan dengan sumber harga lain, untuk memastikan deviasi berada dalam batas yang dapat diterima.
Kenyamanan Feed Registry
Untuk lebih menyederhanakan proses penggunaan, jaringan Mesin Oracle ini juga menyediakan fungsi Feed Registry. Ini dapat dipahami sebagai pengumpul dari beberapa sumber harga, pengguna tidak perlu mengatur sumber harga untuk setiap token secara manual, dan dapat langsung membaca data harga yang diperlukan melalui Feed Registry, sehingga meningkatkan fleksibilitas dan kenyamanan secara signifikan.
Mekanisme agregasi harga multi-level
Pembentukan harga jaringan Mesin Oracle ini melalui tiga tingkat agregasi data:
Penggabungan Sumber Data: Mengumpulkan data harga asli dari berbagai platform perdagangan, dan diproses awal oleh penyedia layanan data profesional.
Pengoperasian node agregasi: Setiap node mendapatkan informasi dari beberapa sumber data independen, dan mengambil nilai tengah untuk menghilangkan nilai yang tidak normal.
Penggabungan Jaringan Mesin Oracle: Ketika jumlah node respons mencapai nilai yang ditentukan, ambil nilai median dari data node tersebut sebagai harga akhir.
Perlu dicatat bahwa tidak setiap hasil putaran akan diperbarui ke dalam blockchain. Pembaruan hanya akan dipicu ketika perubahan harga melebihi ambang deviasi yang ditetapkan, atau mencapai waktu ambang detak jantung.
Secara keseluruhan, desain ini memiliki keamanan dan kenyamanan yang tinggi, tetapi karena karakteristik mekanisme pembaruannya, frekuensi pembaruan harga mungkin rendah, berkisar dari beberapa menit hingga beberapa jam. Oleh karena itu, ini lebih cocok untuk skenario aplikasi yang tidak memiliki tuntutan waktu nyata untuk harga.
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.
Mengungkap Mesin Oracle Harga Terdistribusi: Bagaimana Agregasi Multi-Lapis dan Feed Registry Meningkatkan Keandalan Keuangan Desentralisasi
Cara Kerja Mesin Oracle Harga Terdistribusi
Untuk mengatasi masalah kegagalan titik tunggal, suatu jaringan mesin oracle terkenal telah mengadopsi desain terdistribusi. Sebagai contoh layanan harga BTC terhadap dolar AS, jaringan ini menggabungkan 31 mesin oracle harga independen untuk bersama-sama memberikan layanan kepada pengguna.
Desain agregator ini membuat sistem lebih stabil dan dapat diandalkan. Setiap mesin oracle off-chain dapat menyediakan data harga dengan memanggil metode tertentu sebagai respons terhadap permintaan pengguna. Mesin oracle ini biasanya adalah beberapa akun eksternal yang memiliki (EOA), yang tidak hanya menyediakan data untuk BTC/USD tetapi juga mungkin memberikan informasi harga untuk pasangan mata uang lainnya seperti ETH/USD.
Pada tingkat kontrak di blockchain, sistem akan melakukan serangkaian verifikasi terhadap data yang diterima:
Pertama, bacalah status kontrak saat ini dan lakukan pemeriksaan dasar.
Kemudian lakukan beberapa persiapan.
Selanjutnya, lakukan verifikasi tanda tangan untuk setiap data tanda tangan, pastikan sumber data dapat dipercaya.
Terakhir, periksa apakah nilai pengamatan diurutkan dengan benar, dan pilih median dari nilai tersebut sebagai harga akhir. Pada saat yang sama, juga akan memastikan bahwa harga tersebut tidak melebihi ambang batas yang telah ditentukan.
Setelah semua pemeriksaan selesai, sistem akan mencatat hasil Mesin Oracle dalam kontrak. Selain itu, akan dilakukan verifikasi tambahan, seperti perbandingan dengan sumber harga lain, untuk memastikan deviasi berada dalam batas yang dapat diterima.
Kenyamanan Feed Registry
Untuk lebih menyederhanakan proses penggunaan, jaringan Mesin Oracle ini juga menyediakan fungsi Feed Registry. Ini dapat dipahami sebagai pengumpul dari beberapa sumber harga, pengguna tidak perlu mengatur sumber harga untuk setiap token secara manual, dan dapat langsung membaca data harga yang diperlukan melalui Feed Registry, sehingga meningkatkan fleksibilitas dan kenyamanan secara signifikan.
Mekanisme agregasi harga multi-level
Pembentukan harga jaringan Mesin Oracle ini melalui tiga tingkat agregasi data:
Penggabungan Sumber Data: Mengumpulkan data harga asli dari berbagai platform perdagangan, dan diproses awal oleh penyedia layanan data profesional.
Pengoperasian node agregasi: Setiap node mendapatkan informasi dari beberapa sumber data independen, dan mengambil nilai tengah untuk menghilangkan nilai yang tidak normal.
Penggabungan Jaringan Mesin Oracle: Ketika jumlah node respons mencapai nilai yang ditentukan, ambil nilai median dari data node tersebut sebagai harga akhir.
Perlu dicatat bahwa tidak setiap hasil putaran akan diperbarui ke dalam blockchain. Pembaruan hanya akan dipicu ketika perubahan harga melebihi ambang deviasi yang ditetapkan, atau mencapai waktu ambang detak jantung.
Secara keseluruhan, desain ini memiliki keamanan dan kenyamanan yang tinggi, tetapi karena karakteristik mekanisme pembaruannya, frekuensi pembaruan harga mungkin rendah, berkisar dari beberapa menit hingga beberapa jam. Oleh karena itu, ini lebih cocok untuk skenario aplikasi yang tidak memiliki tuntutan waktu nyata untuk harga.