Dalam dunia blockchain, untuk smart contract mengakses data nyata, mesin oracle sangat penting. Sebenarnya, ini adalah bagian yang banyak orang anggap remeh.



Smart contract sangat kuat dalam data di dalam blockchain, tetapi sama sekali tidak bisa mengakses informasi dari dunia luar. Misalnya, jika ingin mencerminkan volume perdagangan minyak mentah hari ini ke dalam kontrak, informasinya berada di luar chain, jadi diperlukan semacam perantara. Itulah peran mesin oracle.

Sistem kerja mesin oracle sebenarnya sederhana, yaitu metode permintaan-respons. Smart contract mengirim permintaan "Tolong berikan data ini" ke luar, dan oracle menangkapnya, mengambil data dunia nyata, lalu mengembalikannya ke chain. Rangkaian proses ini adalah operasi dasar dari mesin oracle.

Di industri blockchain, proyek yang memiliki pangsa pasar terbesar adalah Chainlink. Chainlink adalah mesin oracle terdesentralisasi yang mengkhususkan diri dalam menyediakan data dunia nyata ke blockchain dengan cara paling aman. Dengan token LINK dan desain insentif, mereka membangun ekosistemnya.

Untuk menjalankan mesin oracle Chainlink, diperlukan transfer token LINK. Token LINK ini diimplementasikan dengan standar ERC677 di jaringan Ethereum. Ini poin penting. Pada standar ERC20, pembayaran dan permintaan layanan tidak bisa dilakukan sekaligus. Oleh karena itu, Chainlink mengusulkan standar ERC677 secara mandiri.

Metode utama dari ERC677 adalah "transferAndCall". Dengan ini, transfer token dan permintaan layanan dapat diselesaikan dalam satu transaksi. Ketika pengguna menjalankan transferAndCall, selain transfer ERC20, metode onTokenTransfer di alamat penerima akan otomatis dipanggil.

Ketika mesin oracle menerima permintaan, pertama-tama dilakukan beberapa pemeriksaan keamanan. Apakah pengirim benar-benar kontrak LINK, ukuran data sesuai, dan selector fungsi benar. Jika lolos, sebuah ID unik bernama requestId akan dibuat dan dicatat di log event.

Event ini dipantau oleh node di luar chain. Node membaca informasi dari event, lalu melalui API jaringan, mengambil data dunia nyata. Setelah itu, mereka memanggil metode fulfillOracleRequest untuk mengembalikan data ke chain. Inilah siklus lengkap dari mesin oracle.

Secara implementasi, Chainlink menyediakan price feed untuk pasangan perdagangan yang sudah ada, yaitu Aggregator. Dengan ini, pengembang tidak perlu menentukan API sendiri. Pasangan utama seperti ETH/USD sudah tersedia, dan cukup panggil metode latestRoundData() untuk mendapatkan harga terbaru.

Kebanyakan aplikasi cukup membaca data harga terbaru saja. Terutama jika berurusan dengan harga dalam USD, karena presisinya diatur secara seragam di 8 digit, sehingga tidak perlu proses rumit. Singkatnya, implementasi price feed menggunakan mesin oracle sebenarnya lebih mudah dari yang dibayangkan.

Dengan sistem seperti ini, protokol DeFi dan produk keuangan kompleks dapat terwujud. Tanpa mesin oracle, jembatan antara blockchain dan dunia nyata tidak mungkin. Di Gate.io, Anda juga bisa melihat berbagai proyek yang memanfaatkan oracle, jadi jika tertarik, silakan cek sendiri.
ETH-1,9%
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
  • Komentar
  • Posting ulang
  • Bagikan
Komentar
Tambahkan komentar
Tambahkan komentar
Tidak ada komentar
  • Sematkan