Peran Kunci Sistem Mesin Oracle dalam Teknologi Blockchain
Mesin Oracle adalah infrastruktur penting dalam bidang Blockchain, yang dapat menyediakan informasi eksternal untuk kontrak pintar di dalam jaringan. Sebagai perantara yang menghubungkan kontrak pintar dan dunia luar, Mesin Oracle memainkan peran yang tidak tergantikan dalam ekosistem Blockchain, dengan fungsi inti untuk menyediakan data eksternal yang dibutuhkan oleh kontrak pintar.
Sebagai contoh, jika kita mengimplementasikan kontrak pintar di Ethereum yang memerlukan data volume perdagangan minyak mentah untuk hari tertentu. Karena kontrak pintar itu sendiri tidak dapat mengakses data dunia nyata di luar rantai secara langsung, kita perlu menggunakan Mesin Oracle untuk mencapai fungsi ini. Proses spesifiknya adalah: kontrak pintar akan mencatat volume perdagangan minyak mentah untuk tanggal yang diperlukan ke dalam log peristiwa, kemudian di luar rantai, sebuah proses akan dimulai untuk memantau log peristiwa ini. Ketika permintaan terkait terdeteksi, proses tersebut akan memanggil metode terkait dari kontrak melalui pengajuan transaksi di dalam rantai, dan mentransfer informasi volume perdagangan minyak mentah untuk tanggal yang ditentukan ke dalam kontrak pintar.
Di antara banyak proyek Mesin Oracle, Chainlink menduduki pangsa pasar terbesar. Chainlink adalah jaringan Mesin Oracle terdesentralisasi yang dirancang untuk menyediakan data dunia nyata ke Blockchain dengan cara yang paling aman dan dapat diandalkan. Selain mewujudkan fungsi Mesin Oracle dasar, Chainlink juga membangun ekosistem yang menciptakan siklus positif melalui insentif ekonomi di sekitar token LINK. Dalam jaringan Chainlink, layanan Mesin Oracle perlu diaktifkan dengan mentransfer token LINK, yang merupakan token ERC677 di Ethereum. Fungsi Mesin Oracle yang didasarkan pada token LINK mengikuti model permintaan/respons.
Standar ERC677 menambahkan metode transferAndCall di atas dasar ERC20, menggabungkan pembayaran dan permintaan layanan menjadi satu, sehingga lebih baik memenuhi kebutuhan skenario bisnis Mesin Oracle. Ketika pengguna memanggil transferAndCall untuk melakukan transfer, selain transfer ERC20 biasa, jika penerima adalah alamat kontrak, metode onTokenTransfer dari alamat tersebut juga akan dipanggil.
Dalam proses permintaan oracle di blockchain, ketika konsumen oracle menggunakan metode transferAndCall untuk membayar biaya dan meminta layanan, metode onTokenTransfer dari kontrak oracle akan terlebih dahulu melakukan serangkaian pemeriksaan keamanan, termasuk memverifikasi apakah transfer tersebut adalah token LINK, memeriksa apakah panjang data permintaan sesuai, dan memverifikasi pemilih fungsi, dan sebagainya. Setelah pemeriksaan ini, baru akan memanggil metode oracleRequest dari kontrak oracle melalui deleGatecall.
Metode oracleRequest akan menghasilkan requestId yang unik, mengatur waktu kedaluwarsa permintaan, dan mencatat informasi terkait ke dalam peta commitments. Yang paling penting, ini akan memancarkan sebuah peristiwa OracleRequest yang berisi data permintaan. Data dalam peristiwa ini biasanya menggunakan representasi objek biner ringkas CBOR( yang dikodekan dalam format ), agar mudah dipahami dan diproses oleh node di luar blockchain.
Node off-chain saat merespons permintaan, akan memanggil metode fulfillOracleRequest. Metode ini pertama-tama akan melakukan serangkaian verifikasi, termasuk memeriksa izin pemanggil, memvalidasi keabsahan permintaan, dan lain-lain. Setelah verifikasi berhasil, jumlah token yang dapat ditarik akan diperbarui, catatan commitment yang sesuai akan dihapus, dan akhirnya akan memanggil fungsi callback dari kontrak pemohon.
Bagi pengembang, jika hanya perlu menggunakan data harga pasangan mata uang yang ada, Anda dapat langsung memanggil antarmuka Price Feed yang disediakan oleh Chainlink. Setiap pasangan perdagangan memiliki Price Feed ( yang independen yang juga dikenal sebagai Aggregator ), yang sebenarnya adalah kontrak AggregatorProxy. Antarmuka ini menyediakan fungsi untuk mendapatkan akurasi harga, deskripsi, nomor versi, dan data harga terbaru. Dalam sebagian besar skenario aplikasi, kontrak mungkin hanya perlu membaca harga terbaru, dan dapat diperoleh dengan memanggil metode latestRoundData (). Perlu dicatat bahwa pasangan perdagangan yang dihargai dalam dolar biasanya menggunakan akurasi 8 digit yang seragam, ini menyederhanakan masalah penanganan akurasi antar token.
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.
9 Suka
Hadiah
9
5
Bagikan
Komentar
0/400
0xSherlock
· 07-18 14:15
link harus terus dikembangkan ya
Lihat AsliBalas0
LightningPacketLoss
· 07-16 16:18
apakah harga link bisa lebih baik?
Lihat AsliBalas0
PumpingCroissant
· 07-16 03:42
link sedikit menghabiskan gas
Lihat AsliBalas0
GweiWatcher
· 07-16 03:30
Apa hubungan link dengan lonjakan harga ini?
Lihat AsliBalas0
WhaleSurfer
· 07-16 03:24
LINK bull ya, harga gratis bisa tetap menghasilkan
Mesin Oracle sistem: Blockchain dan jembatan kunci dengan dunia nyata
Peran Kunci Sistem Mesin Oracle dalam Teknologi Blockchain
Mesin Oracle adalah infrastruktur penting dalam bidang Blockchain, yang dapat menyediakan informasi eksternal untuk kontrak pintar di dalam jaringan. Sebagai perantara yang menghubungkan kontrak pintar dan dunia luar, Mesin Oracle memainkan peran yang tidak tergantikan dalam ekosistem Blockchain, dengan fungsi inti untuk menyediakan data eksternal yang dibutuhkan oleh kontrak pintar.
Sebagai contoh, jika kita mengimplementasikan kontrak pintar di Ethereum yang memerlukan data volume perdagangan minyak mentah untuk hari tertentu. Karena kontrak pintar itu sendiri tidak dapat mengakses data dunia nyata di luar rantai secara langsung, kita perlu menggunakan Mesin Oracle untuk mencapai fungsi ini. Proses spesifiknya adalah: kontrak pintar akan mencatat volume perdagangan minyak mentah untuk tanggal yang diperlukan ke dalam log peristiwa, kemudian di luar rantai, sebuah proses akan dimulai untuk memantau log peristiwa ini. Ketika permintaan terkait terdeteksi, proses tersebut akan memanggil metode terkait dari kontrak melalui pengajuan transaksi di dalam rantai, dan mentransfer informasi volume perdagangan minyak mentah untuk tanggal yang ditentukan ke dalam kontrak pintar.
Di antara banyak proyek Mesin Oracle, Chainlink menduduki pangsa pasar terbesar. Chainlink adalah jaringan Mesin Oracle terdesentralisasi yang dirancang untuk menyediakan data dunia nyata ke Blockchain dengan cara yang paling aman dan dapat diandalkan. Selain mewujudkan fungsi Mesin Oracle dasar, Chainlink juga membangun ekosistem yang menciptakan siklus positif melalui insentif ekonomi di sekitar token LINK. Dalam jaringan Chainlink, layanan Mesin Oracle perlu diaktifkan dengan mentransfer token LINK, yang merupakan token ERC677 di Ethereum. Fungsi Mesin Oracle yang didasarkan pada token LINK mengikuti model permintaan/respons.
Standar ERC677 menambahkan metode transferAndCall di atas dasar ERC20, menggabungkan pembayaran dan permintaan layanan menjadi satu, sehingga lebih baik memenuhi kebutuhan skenario bisnis Mesin Oracle. Ketika pengguna memanggil transferAndCall untuk melakukan transfer, selain transfer ERC20 biasa, jika penerima adalah alamat kontrak, metode onTokenTransfer dari alamat tersebut juga akan dipanggil.
Dalam proses permintaan oracle di blockchain, ketika konsumen oracle menggunakan metode transferAndCall untuk membayar biaya dan meminta layanan, metode onTokenTransfer dari kontrak oracle akan terlebih dahulu melakukan serangkaian pemeriksaan keamanan, termasuk memverifikasi apakah transfer tersebut adalah token LINK, memeriksa apakah panjang data permintaan sesuai, dan memverifikasi pemilih fungsi, dan sebagainya. Setelah pemeriksaan ini, baru akan memanggil metode oracleRequest dari kontrak oracle melalui deleGatecall.
Metode oracleRequest akan menghasilkan requestId yang unik, mengatur waktu kedaluwarsa permintaan, dan mencatat informasi terkait ke dalam peta commitments. Yang paling penting, ini akan memancarkan sebuah peristiwa OracleRequest yang berisi data permintaan. Data dalam peristiwa ini biasanya menggunakan representasi objek biner ringkas CBOR( yang dikodekan dalam format ), agar mudah dipahami dan diproses oleh node di luar blockchain.
Node off-chain saat merespons permintaan, akan memanggil metode fulfillOracleRequest. Metode ini pertama-tama akan melakukan serangkaian verifikasi, termasuk memeriksa izin pemanggil, memvalidasi keabsahan permintaan, dan lain-lain. Setelah verifikasi berhasil, jumlah token yang dapat ditarik akan diperbarui, catatan commitment yang sesuai akan dihapus, dan akhirnya akan memanggil fungsi callback dari kontrak pemohon.
Bagi pengembang, jika hanya perlu menggunakan data harga pasangan mata uang yang ada, Anda dapat langsung memanggil antarmuka Price Feed yang disediakan oleh Chainlink. Setiap pasangan perdagangan memiliki Price Feed ( yang independen yang juga dikenal sebagai Aggregator ), yang sebenarnya adalah kontrak AggregatorProxy. Antarmuka ini menyediakan fungsi untuk mendapatkan akurasi harga, deskripsi, nomor versi, dan data harga terbaru. Dalam sebagian besar skenario aplikasi, kontrak mungkin hanya perlu membaca harga terbaru, dan dapat diperoleh dengan memanggil metode latestRoundData (). Perlu dicatat bahwa pasangan perdagangan yang dihargai dalam dolar biasanya menggunakan akurasi 8 digit yang seragam, ini menyederhanakan masalah penanganan akurasi antar token.