Analisis Mendalam Chainlink: Bagaimana Mesin Oracle Menghubungkan Blockchain dengan Dunia Nyata

robot
Pembuatan abstrak sedang berlangsung

Mesin Oracle Sistem: Jembatan antara smart contract dan dunia nyata

Dalam ekosistem blockchain, Mesin Oracle memainkan peran yang sangat penting. Ini berfungsi sebagai sistem middleware yang dapat menyediakan informasi eksternal untuk smart contract di dalam blockchain, sehingga menghubungkan dunia blockchain dengan dunia nyata. Fungsi inti Mesin Oracle adalah menyediakan data eksternal yang diperlukan untuk smart contract.

Misalnya, anggaplah kita membuat sebuah smart contract di jaringan Ethereum yang memerlukan data volume transaksi minyak mentah pada hari tertentu. Karena smart contract itu sendiri tidak dapat secara langsung mengakses data dunia nyata yang berada di luar rantai, maka diperlukan Mesin Oracle untuk mewujudkannya. Dalam hal ini, smart contract akan menulis volume transaksi minyak mentah untuk tanggal yang diperlukan ke dalam log acara. Selanjutnya, proses di luar rantai akan memulai untuk memantau dan berlangganan log acara ini. Ketika mendeteksi permintaan dalam transaksi, proses tersebut akan mengajukan transaksi di dalam rantai, memanggil metode terkait dari kontrak, dan mengunggah informasi volume transaksi minyak mentah untuk tanggal yang ditentukan ke dalam smart contract.

Mesin Oracle详解系列之 Chainlink(上)

Chainlink: Solusi Mesin Oracle Utama

Dalam pasar blockchain saat ini, Chainlink adalah proyek mesin oracle dengan pangsa pasar tertinggi. Sebagai sistem mesin oracle terdesentralisasi, Chainlink bertujuan untuk menyediakan data yang dihasilkan di dunia nyata ke blockchain dengan cara yang paling aman. Di atas prinsip dasar mesin oracle, Chainlink membangun ekosistem yang didorong oleh insentif ekonomi di sekitar token LINK.

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

Mesin Oracle

mekanisme transferAndCall dari token ERC677

Chainlink dalam merancang kerangka Mesin Oracle, pertama-tama mempertimbangkan bagaimana pengguna membayar biaya layanan kepada Mesin Oracle. Karena token ERC20 standar tidak dapat memenuhi kebutuhan "menyediakan layanan setelah pembayaran", Chainlink mengusulkan standar ERC677 yang sesuai untuk skenario layanan Mesin Oracle.

ERC677 menambahkan metode transferAndCall di atas standar ERC20. Metode ini menggabungkan pembayaran dan permintaan layanan, memenuhi kebutuhan skenario bisnis Mesin Oracle. Ketika pengguna melakukan transferAndCall, selain transfer ERC20, juga akan memeriksa apakah alamat penerima adalah alamat kontrak; jika ya, maka akan memanggil metode onTokenTransfer di alamat tersebut.

Perlu dicatat bahwa sebelum meminta layanan Mesin Oracle, pengguna perlu memastikan terlebih dahulu apakah Mesin Oracle tersebut dapat dipercaya, karena Mesin Oracle perlu memungut biaya sebelum memberikan layanan.

Mesin Oracle

proses permintaan mesin oracle di blockchain

Ketika konsumen Mesin Oracle menggunakan metode transferAndCall untuk membayar biaya dan meminta layanan, metode onTokenTransfer dalam kontrak Mesin Oracle akan melakukan serangkaian pemeriksaan keamanan. Ini termasuk memverifikasi apakah transfer adalah token LINK, memeriksa apakah panjang data melebihi batas, memverifikasi apakah data mengandung pemilih fungsi yang benar, dan sebagainya.

Setelah pemeriksaan berhasil, kontrak Mesin Oracle akan menghasilkan sebuah requestId yang unik, dan menyimpan informasi terkait permintaan ke dalam peta commitments. Terakhir, kontrak akan memicu sebuah peristiwa OracleRequest, yang berisi data rinci permintaan tersebut.

Mesin Oracle详解系列之 Chainlink(上)

mekanisme respons node off-chain

Setelah node off-chain mendengarkan peristiwa OracleRequest, node tersebut akan menganalisis informasi spesifik dari permintaan, dan mendapatkan data yang diperlukan melalui pemanggilan API. Selanjutnya, node tersebut akan memanggil metode fulfillOracleRequest dalam kontrak Oracle dengan cara mengajukan transaksi, untuk mengirimkan data ke on-chain.

Metode ini akan melakukan serangkaian verifikasi, termasuk memeriksa apakah pemanggil adalah node yang diotorisasi, memverifikasi keabsahan ID permintaan, dan lain-lain. Setelah verifikasi berhasil, kontrak akan mencatat jumlah token yang dapat diambil, dan menghapus ID permintaan tersebut dari peta komitmen.

Akhirnya, kontrak akan memanggil fungsi callback dari kontrak peminta, untuk mengembalikan data kepada kontrak konsumen. Untuk Mesin Oracle harga, ini biasanya melibatkan pembaruan data harga saat ini.

Mesin Oracle详解系列之 Chainlink(上)

Penggunaan Sederhana Mesin Oracle Harga

Bagi pengembang, jika hanya perlu menggunakan data harga pasangan koin yang sudah ada, tanpa perlu menentukan URL API sendiri, dapat langsung menggunakan Price Feed yang disediakan oleh Chainlink. Setiap pasangan perdagangan memiliki Price Feed yang independen ( juga disebut sebagai Aggregator ), yang sebenarnya adalah kontrak AggregatorProxy.

Kontrak-kontrak ini biasanya menyediakan beberapa metode query utama berikut:

  • decimals(): Mengembalikan jumlah desimal dari data harga
  • description(): Kembalikan nama pasangan perdagangan
  • version(): Menunjukkan jenis Aggregator yang ditunjuk oleh Proxy
  • getRoundData(_roundId): Mengambil data harga historis berdasarkan ID putaran
  • latestRoundData(): Mendapatkan data harga terbaru

Dalam sebagian besar skenario aplikasi, kontrak mungkin hanya perlu membaca harga terbaru, yaitu memanggil metode latestRoundData(). Parameter answer yang dikembalikan oleh metode tersebut adalah harga terbaru.

Perlu dicatat bahwa sebagian besar aplikasi membaca harga token dalam satuan USD. Dalam kasus ini, akurasi data harga biasanya disatukan menjadi 8 desimal, yang menyederhanakan masalah pengolahan akurasi antara token yang berbeda.

Mesin Oracle详解系列之 Chainlink(上)

LINK3.64%
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
  • Bagikan
Komentar
0/400
Anon32942vip
· 07-15 12:05
Mesin Oracle ini saya mengerti! Saya menyimpan sedikit link
Lihat AsliBalas0
CrossChainBreathervip
· 07-15 11:26
Mesin Oracle menyelamatkan dompet kecil saya
Lihat AsliBalas0
rugdoc.ethvip
· 07-12 12:36
Mesin Oracle juga tidak mengerti.
Lihat AsliBalas0
HackerWhoCaresvip
· 07-12 12:32
link adalah masa depan ya
Lihat AsliBalas0
MetaverseHermitvip
· 07-12 12:23
linkbull wah bull wah
Lihat AsliBalas0
SchrodingerWalletvip
· 07-12 12:17
Mesin Oracle benar-benar bagus... Token stabil
Lihat AsliBalas0
GasWastervip
· 07-12 12:14
Ibu, Mesin Oracle malam ini benar-benar wangi.
Lihat AsliBalas0
bridge_anxietyvip
· 07-12 12:07
Dapatkan hasilnya, sangat wangi
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)