Mesin Oracle adalah infrastruktur dasar yang penting di bidang blockchain, yang dapat menyediakan informasi data dari luar blockchain untuk kontrak pintar. Sebagai middleware yang menghubungkan kontrak pintar dan dunia luar, fungsi utama mesin oracle adalah menyediakan data eksternal yang diperlukan untuk kontrak pintar di blockchain.
Sebagai contoh, misalkan kita membuat kontrak pintar di jaringan Ethereum yang memerlukan data volume perdagangan minyak mentah pada suatu hari. Karena kontrak pintar itu sendiri tidak dapat langsung mengakses data dunia nyata yang berada di luar rantai, pada saat itu dibutuhkan Mesin Oracle untuk mewujudkannya. Proses spesifiknya adalah: kontrak pintar terlebih dahulu menulis volume perdagangan minyak mentah untuk tanggal yang diperlukan ke dalam log acara, kemudian di luar rantai akan memulai sebuah proses untuk memantau dan berlangganan log acara ini. Ketika mendeteksi permintaan dalam perdagangan, proses ini akan mengunggah informasi volume perdagangan minyak mentah untuk tanggal yang ditentukan ke dalam kontrak pintar dengan mengajukan transaksi di rantai, memanggil metode terkait dari kontrak.
Di antara banyak proyek Mesin Oracle, Chainlink menonjol dengan pangsa pasar terbesar. Chainlink adalah proyek Mesin Oracle terdesentralisasi yang bertujuan untuk memberikan data yang dihasilkan di dunia nyata ke blockchain dengan cara yang paling aman. Proyek ini dibangun di atas prinsip dasar Mesin Oracle, mengelilingi token LINK untuk membentuk ekosistem yang menghasilkan siklus positif melalui insentif ekonomi. Mesin Oracle Chainlink perlu dipicu melalui transfer token LINK, dan LINK adalah kontrak ERC677 di jaringan Ethereum. Fungsionalitas Mesin Oracle yang berdasarkan token LINK ERC677 berada dalam pola 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 melakukan transfer transferAndCall, selain transfer ERC20, juga akan memeriksa apakah alamat penerima adalah alamat kontrak; jika iya, maka akan memanggil metode onTokenTransfer dari alamat tersebut.
Sebelum meminta layanan Mesin Oracle, pengguna perlu memastikan terlebih dahulu apakah Mesin Oracle tersebut dapat dipercaya, karena Mesin Oracle memerlukan pembayaran sebelum memberikan layanan kepada konsumen. Tingkat kepercayaan Mesin Oracle dapat dibagi berdasarkan beberapa faktor, seperti keandalan sumber data, reputasi node, dan lain-lain.
Ketika konsumen Mesin Oracle menggunakan metode transferAndCall untuk membayar biaya dan meminta layanan, metode onTokenTransfer dari kontrak oracle akan melakukan serangkaian pemeriksaan keamanan. Setelah pemeriksaan berhasil, akan dipanggil metode oracleRequest dari kontrak oracle saat ini melalui deleGatecall. Metode ini akan menghasilkan requestId yang unik, mengatur waktu kedaluwarsa, dan memancarkan peristiwa OracleRequest yang berisi data permintaan.
Node off-chain akan mendengarkan peristiwa ini, menganalisis informasi spesifik dari permintaan, dan menggunakan API jaringan untuk mendapatkan data yang diperlukan. Kemudian, dengan cara mengajukan transaksi, memanggil metode fulfillOracleRequest dari kontrak Oracle, data akan diserahkan ke blockchain. Metode ini setelah melakukan serangkaian verifikasi, akan mengembalikan hasil kepada kontrak konsumen melalui alamat dan fungsi callback yang telah dicatat sebelumnya.
Bagi pengembang, jika hanya ingin menggunakan harga pasangan koin yang sudah ada, tanpa perlu menentukan URL API sendiri, Chainlink juga menyediakan cara yang lebih sederhana. Setiap pasangan perdagangan memiliki Price Feed yang terpisah (Aggregator ), yang sebenarnya adalah AggregatorProxy. Pengembang dapat langsung memanggil metode kontrak Proxy ini untuk mendapatkan data harga, tanpa perlu mengurus proses permintaan dan respons API sendiri.
Secara keseluruhan, Chainlink melalui desain yang cerdas, menyediakan jembatan data yang aman dan dapat diandalkan untuk dunia blockchain, yang sangat memperluas skenario aplikasi kontrak pintar. Seiring dengan perkembangan teknologi blockchain yang terus berlanjut, teknologi Mesin Oracle juga akan terus berevolusi, memberikan dukungan yang kuat untuk lebih banyak aplikasi inovatif.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
18 Suka
Hadiah
18
5
Bagikan
Komentar
0/400
ContractSurrender
· 07-10 14:06
Mesin Oracle sudah dibeli sejak lama dan sudah rugi banyak.
Mengungkap Chainlink: Bagaimana teknologi Mesin Oracle menghubungkan Blockchain dengan dunia nyata
Analisis Teknologi Mesin Oracle: Contoh Chainlink
Mesin Oracle adalah infrastruktur dasar yang penting di bidang blockchain, yang dapat menyediakan informasi data dari luar blockchain untuk kontrak pintar. Sebagai middleware yang menghubungkan kontrak pintar dan dunia luar, fungsi utama mesin oracle adalah menyediakan data eksternal yang diperlukan untuk kontrak pintar di blockchain.
Sebagai contoh, misalkan kita membuat kontrak pintar di jaringan Ethereum yang memerlukan data volume perdagangan minyak mentah pada suatu hari. Karena kontrak pintar itu sendiri tidak dapat langsung mengakses data dunia nyata yang berada di luar rantai, pada saat itu dibutuhkan Mesin Oracle untuk mewujudkannya. Proses spesifiknya adalah: kontrak pintar terlebih dahulu menulis volume perdagangan minyak mentah untuk tanggal yang diperlukan ke dalam log acara, kemudian di luar rantai akan memulai sebuah proses untuk memantau dan berlangganan log acara ini. Ketika mendeteksi permintaan dalam perdagangan, proses ini akan mengunggah informasi volume perdagangan minyak mentah untuk tanggal yang ditentukan ke dalam kontrak pintar dengan mengajukan transaksi di rantai, memanggil metode terkait dari kontrak.
Di antara banyak proyek Mesin Oracle, Chainlink menonjol dengan pangsa pasar terbesar. Chainlink adalah proyek Mesin Oracle terdesentralisasi yang bertujuan untuk memberikan data yang dihasilkan di dunia nyata ke blockchain dengan cara yang paling aman. Proyek ini dibangun di atas prinsip dasar Mesin Oracle, mengelilingi token LINK untuk membentuk ekosistem yang menghasilkan siklus positif melalui insentif ekonomi. Mesin Oracle Chainlink perlu dipicu melalui transfer token LINK, dan LINK adalah kontrak ERC677 di jaringan Ethereum. Fungsionalitas Mesin Oracle yang berdasarkan token LINK ERC677 berada dalam pola 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 melakukan transfer transferAndCall, selain transfer ERC20, juga akan memeriksa apakah alamat penerima adalah alamat kontrak; jika iya, maka akan memanggil metode onTokenTransfer dari alamat tersebut.
Sebelum meminta layanan Mesin Oracle, pengguna perlu memastikan terlebih dahulu apakah Mesin Oracle tersebut dapat dipercaya, karena Mesin Oracle memerlukan pembayaran sebelum memberikan layanan kepada konsumen. Tingkat kepercayaan Mesin Oracle dapat dibagi berdasarkan beberapa faktor, seperti keandalan sumber data, reputasi node, dan lain-lain.
Ketika konsumen Mesin Oracle menggunakan metode transferAndCall untuk membayar biaya dan meminta layanan, metode onTokenTransfer dari kontrak oracle akan melakukan serangkaian pemeriksaan keamanan. Setelah pemeriksaan berhasil, akan dipanggil metode oracleRequest dari kontrak oracle saat ini melalui deleGatecall. Metode ini akan menghasilkan requestId yang unik, mengatur waktu kedaluwarsa, dan memancarkan peristiwa OracleRequest yang berisi data permintaan.
Node off-chain akan mendengarkan peristiwa ini, menganalisis informasi spesifik dari permintaan, dan menggunakan API jaringan untuk mendapatkan data yang diperlukan. Kemudian, dengan cara mengajukan transaksi, memanggil metode fulfillOracleRequest dari kontrak Oracle, data akan diserahkan ke blockchain. Metode ini setelah melakukan serangkaian verifikasi, akan mengembalikan hasil kepada kontrak konsumen melalui alamat dan fungsi callback yang telah dicatat sebelumnya.
Bagi pengembang, jika hanya ingin menggunakan harga pasangan koin yang sudah ada, tanpa perlu menentukan URL API sendiri, Chainlink juga menyediakan cara yang lebih sederhana. Setiap pasangan perdagangan memiliki Price Feed yang terpisah (Aggregator ), yang sebenarnya adalah AggregatorProxy. Pengembang dapat langsung memanggil metode kontrak Proxy ini untuk mendapatkan data harga, tanpa perlu mengurus proses permintaan dan respons API sendiri.
Secara keseluruhan, Chainlink melalui desain yang cerdas, menyediakan jembatan data yang aman dan dapat diandalkan untuk dunia blockchain, yang sangat memperluas skenario aplikasi kontrak pintar. Seiring dengan perkembangan teknologi blockchain yang terus berlanjut, teknologi Mesin Oracle juga akan terus berevolusi, memberikan dukungan yang kuat untuk lebih banyak aplikasi inovatif.