Mesin Oracle Chainlink: Jembatan antara dunia Blockchain dan dunia nyata

robot
Pembuatan abstrak sedang berlangsung

Mesin Oracle teknologi Kedalaman analisis

Mesin Oracle adalah infrastruktur dasar yang penting dalam ekosistem blockchain, dengan fungsi inti untuk menyediakan data eksternal bagi kontrak pintar. Sebagai perantara yang menghubungkan kontrak pintar di dalam rantai dan dunia nyata di luar rantai, mesin oracle memainkan peran yang sangat penting.

Sebuah kontrak pintar di jaringan Ethereum yang perlu mendapatkan data volume perdagangan minyak mentah pada hari tertentu tidak dapat mengakses informasi dunia nyata yang berada di luar rantai secara langsung. Pada saat ini, diperlukan Mesin Oracle untuk mewujudkan transmisi data. Proses konkret adalah: kontrak pintar terlebih dahulu mencatat volume perdagangan minyak mentah untuk tanggal yang diperlukan ke dalam log peristiwa, kemudian di luar rantai akan memulai proses untuk memantau log peristiwa tersebut. Ketika permintaan terdeteksi, proses tersebut akan mengajukan transaksi di dalam rantai, memanggil metode terkait kontrak, dan mengunggah data volume perdagangan minyak mentah untuk tanggal yang ditentukan ke dalam kontrak pintar.

Mesin Oracle

Di antara banyak proyek mesin oracle, Chainlink menguasai pangsa pasar terbesar. Sebagai jaringan mesin oracle terdesentralisasi, Chainlink berkomitmen untuk menyediakan data dunia nyata ke blockchain dengan cara yang paling aman. Ia membangun ekosistem yang didorong oleh insentif ekonomi di sekitar token LINK, berdasarkan prinsip dasar mesin oracle.

Mesin Oracle

Pemicu mesin Oracle Chainlink perlu dilakukan melalui transfer token LINK. LINK adalah token kontrak ERC677 di jaringan Ethereum, dan fungsi mesin Oracle yang berbasis LINK ini termasuk dalam mode permintaan/respons.

Standar ERC677 menambahkan metode transferAndCall di atas dasar ERC20, menggabungkan pembayaran dan permintaan layanan menjadi satu, lebih baik memenuhi kebutuhan skenario bisnis Mesin Oracle. Ketika pengguna memanggil transferAndCall untuk melakukan transfer, selain transfer ERC20 standar, juga akan memeriksa apakah alamat penerima adalah alamat kontrak, jika ya, maka akan memanggil metode onTokenTransfer dari alamat tersebut.

Mesin Oracle

Sebelum meminta layanan Mesin Oracle, pengguna perlu memastikan kredibilitas Mesin Oracle tersebut, karena pembayaran diperlukan sebelum Mesin Oracle memberikan layanan. Kredibilitas Mesin Oracle dapat dibagi berdasarkan beberapa dimensi.

Mesin Oracle

Ketika konsumen Mesin Oracle menggunakan metode transferAndCall untuk membayar biaya dan meminta layanan, metode onTokenTransfer dalam kontrak Mesin Oracle akan melakukan serangkaian pemeriksaan keamanan, termasuk memverifikasi apakah token yang ditransfer adalah LINK, apakah panjang data melebihi batas, dan apakah pemilih fungsi benar, dan sebagainya. Setelah pemeriksaan berhasil, akan memanggil metode oracleRequest dari kontrak oracle saat ini melalui deleGatecall.

Mesin Oracle详解系列之 Chainlink(上)

Metode oracleRequest akan menghasilkan requestId yang unik, mengatur waktu kedaluwarsa, dan menambahkan informasi terkait ke dalam peta commitments. Yang paling penting, ia akan mengeluarkan sebuah peristiwa OracleRequest yang berisi data permintaan. Data ini menggunakan format pengkodean CBOR, yang dapat mencakup berbagai bentuk informasi.

Mesin Oracle

Node off-chain akan mendengarkan peristiwa OracleRequest. Ketika mendeteksi permintaan baru, node akan menguraikan informasi spesifik, mengambil data yang diperlukan melalui panggilan API, kemudian mengajukan transaksi untuk memanggil metode fulfillOracleRequest dari kontrak Oracle, dan mengunggah data ke blockchain.

Mesin Oracle

Metode fulfillOracleRequest akan melakukan serangkaian pemeriksaan, termasuk otorisasi pemanggil, validitas requestId, dan lain-lain. Setelah pemeriksaan berhasil, biaya permintaan akan ditambahkan ke jumlah yang dapat ditarik, requestId akan dihapus dari pemetaan commitments, dan fungsi callback dari kontrak pemohon akan dipanggil.

Mesin Oracle

Fungsi callback akan melakukan verifikasi lebih lanjut, kemudian memproses data yang dikembalikan. Untuk mesin oracle harga, biasanya adalah memperbarui harga saat ini.

Selain alur mesin oracle umum ini, Chainlink juga menyediakan antarmuka mesin oracle harga yang lebih sederhana. Setiap pasangan perdagangan memiliki Price Feed(Aggregator) yang terpisah, pengembang dapat langsung memanggil metode latestRoundData() untuk mendapatkan harga terbaru, tanpa perlu menentukan alamat API dan informasi lainnya.

Mesin Oracle

Secara keseluruhan, Mesin Oracle berperan penting sebagai jembatan antara dunia blockchain dan dunia nyata dalam aplikasi terdesentralisasi. Chainlink telah menjadi solusi Mesin Oracle yang paling banyak digunakan saat ini melalui mekanisme insentif dan keamanan yang dirancang dengan cermat.

Mesin Oracle

LINK10.36%
Lihat Asli
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.
  • Hadiah
  • 8
  • Posting ulang
  • Bagikan
Komentar
0/400
DataBartendervip
· 07-08 06:34
link hardcore fan datang untuk Margin Replenishment ya
Lihat AsliBalas0
TokenStormvip
· 07-07 23:25
Tuan LINK yang membeli lebih awal pasti untung.
Lihat AsliBalas0
CommunitySlackervip
· 07-06 05:58
link seumur hidup
Lihat AsliBalas0
SatoshiChallengervip
· 07-06 05:45
Data menunjukkan 95% Mesin Oracle mati di tengah jalan.
Lihat AsliBalas0
airdrop_whisperervip
· 07-06 05:41
Tautan万物!
Lihat AsliBalas0
InscriptionGrillervip
· 07-06 05:35
Data eksternal yang diberi harga juga merupakan jebakan baru untuk Dianggap Bodoh!
Lihat AsliBalas0
BitcoinDaddyvip
· 07-06 05:29
Menyuntikkan data dengan stabil
Lihat AsliBalas0
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)