Apa itu ramalan?
Apa yang kurang konsisten dengan nama yang agak "tidak disadari" ini adalah bahwa oracle blockchain adalah sumber informasi pihak ketiga yang fungsinya hanya menyediakan data ke blockchain, sehingga memungkinkan pembuatan kontrak pintar.
Pada dasarnya, kontrak pintar hanyalah kode yang dijalankan sendiri. Kontrak pintar mengevaluasi data yang masuk dari oracle dan memulai eksekusi berdasarkan informasi yang diterima.
Mari kita ambil contoh. Katakanlah John dan John memasang taruhan pada harga Bitcoin pada hari Sabtu ini. Zhang San yakin bahwa harga Bitcoin akan berada pada US$8.500 atau lebih tinggi. Sebaliknya, Xiao Hei yakin bahwa harga Bitcoin akan berada pada US$8.000 atau lebih rendah. Jadi, mereka merancang kontrak pintar (di mana kedua belah pihak akan mengirimkan dana), dan siapa pun yang memperkirakan harga mendekati harga sebenarnya akan memenangkan dana tersebut.
Agar kontrak pintar dapat menentukan harga Bitcoin dan membayar pemenangnya, ia harus menanyakan harga Bitcoin pada hari Sabtu ini melalui oracle. Ketika data harga Bitcoin ditanyakan, misalnya, nilai yang dikembalikan adalah harga Bitcoin pada hari Sabtu adalah $8.600, maka kontrak pintar akan dieksekusi sesuai dengan ketentuannya dan mengirimkan semua dana ke Zhang San.
02 Jenis Oracle
Oracles menyediakan fungsionalitas tambahan pada kontrak pintar dengan menyediakan cara berkomunikasi di luar jaringan blockchain yang terdesentralisasi.
Oracle Blockchain dapat memiliki banyak bentuk, termasuk namun tidak terbatas pada:
1. Peramal perangkat lunak
Bentuk oracle ini biasanya mencakup sumber informasi online yang mudah diakses, seperti situs web dan database publik. Mereka biasanya memberikan informasi seperti: pembacaan suhu, informasi transportasi umum, dan harga berbagai aset keuangan saat ini.
Oracle perangkat lunak mungkin merupakan jenis oracle paling kuat yang tersedia karena interkonektivitas bawaannya dengan Internet. Koneksi ini memungkinkan perangkat lunak oracle untuk memberikan informasi terkini ke kontrak pintar.
2. Perangkat Keras Oracle
Bentuk oracle ini biasanya bertanggung jawab atas peristiwa yang terjadi di dunia fisik dan mengirimkan data ke kontrak pintar. Misalnya, dalam manajemen rantai pasokan, jika objek dengan tag RFID tiba di gudang tertentu, data tersebut dapat dikirim ke kontrak pintar dan sistem oracle perangkat keras dapat melacak barang di seluruh rantai pasokan.
3. Masukkan orakel
Bentuk prediktor ini memiliki fungsi untuk sekadar menyediakan data ke kontrak pintar. Data yang diberikan berada di luar kontrak pintar dan eksekusi dimulai setelah menerima informasi. Situs web berita yang menyediakan harga Bitcoin pada contoh di atas dapat diklasifikasikan sebagai input oracle.
4. Keluaran oracle
Oracle ini mengirimkan data kontrak pintar ke sumber eksternal. Dalam contoh di atas, setelah John ditentukan menjadi pemenang, kontrak pintar dapat mengkomunikasikan informasi ini kepada penyedia dompet sehingga saldonya diperbarui secara otomatis untuk mencerminkan peningkatan dana.
Dalam hal ini, kontrak pintar itu sendiri dapat beroperasi sebagai keluaran oracle.
5. Oracle berdasarkan konsensus
Fungsi oracle semacam itu adalah untuk menanyakan berbagai sumber informasi dan mencapai hasil berdasarkan konsensus mereka. Misalnya, contoh di atas juga bisa menggunakan 4 situs web untuk mencari harga Bitcoin. Jika semua sumber Oracle (situs web) mengembalikan nilai yang sama, kontrak pintar dapat dijalankan dengan sukses.
03 Oracle membutuhkan kepercayaan
Meskipun kelebihan oracle sangat jelas, ada kelemahannya: oracle membutuhkan kepercayaan.
Sumber data yang digunakan oleh oracle untuk memperoleh informasi dan mengirimkannya ke kontrak pintar harus dianggap dapat dipercaya. Melanjutkan contoh di atas, jika Zhang San entah bagaimana bisa mengendalikan situs web harga Bitcoin tersebut, dia dapat dengan mudah membuat harga Bitcoin yang dikembalikan menjadi $8.600, sehingga memenangkan permainan.
Jadi, jika data yang diberikan oracle ke kontrak pintar ternyata salah, ada masalah keamanan. Salah satu solusi yang mungkin untuk masalah ini adalah dengan meminta data dari beberapa database Oracle, bukan dari database Oracle tunggal.
Misalnya, jika satu oracle mengembalikan harga Bitcoin sebesar $8.600 dan 4 oracle lainnya mengembalikan harga $8.000, ketentuan tambahan dapat diprogram ke dalam kontrak pintar untuk menyelesaikan konflik. Kontrak pintar dapat memilih untuk hanya menerima nilai mayoritas, dalam hal ini John Doe menjadi pemenangnya.