Daftar isi
- Apa yang dimaksud dengan oracle blockchain?
- Contoh oracle blockchain
- Apa saja jenis-jenis oracle blockchain?
- Permasalahan Oracle
- Penutup
Apa yang dimaksud dengan oracle blockchain?
Di sinilah oracle blockchain berperan, karena mereka menyediakan tautan antara data off-chain dan on-chain. Oracle sangat penting di dalam ekosistem blockchain karena dapat memperluas cakupan operasi smart contract. Tanpa oracle blockchain, smart contract hanya akan memiliki manfaat yang terbatas, hanya dapat mengakses data dari dalam jaringannya sendiri.
Perlu dicatat bahwa oracle blockchain bukanlah sumber data, melainkan lapisan yang menanyakan, memverifikasi, dan mengautentikasi sumber data eksternal dan meneruskan informasi tersebut. Data yang ditransmisikan oleh oracle datang dalam wujud yang berbeda-beda – informasi harga, penyelesaian pembayaran yang berhasil, atau temperatur yang diukur dengan sensor.
Untuk memanggil data dari dunia luar, smart contract harus digunakan, sumber daya jaringan diperlukan. Beberapa oracle juga memiliki kemampuan tidak hanya untuk meneruskan informasi ke smart contract, tetapi juga mengirimkannya kembali ke sumber eksternal.
Ada beberapa jenis oracle yang tersedia – bagaimana cara kerja oracle blockchain bergantung sepenuhnya pada bagaimana mereka didesain. artikel ini akan membahas beberapa dari desain-desain tersebut.
Contoh oracle blockchain
Misalkan Alice dan Bob bertaruh atas siapa yang akan memenangkan pemilihan presiden Amerika Serikat. Alice yakin bahwa kandidat dari Partai Republik akan menang, sementara Bob yakin pemenang adalah dari Partai Demokrat. Mereka menyetujui perjanjian taruhan dan mengunci dana mereka di dalam smart contract, yang akan akan mengeluarkan semua dana ke pemenang berdasaran hasil pemilihan umum.
Jika oracle tidak ada, tidak akan ada cara untuk menyelesaikan taruhan ini tanpa peluang kecurangan dari salah satu partisipan.
Apa saja jenis-jenis oracle blockchain?
Oracle blockchain dapat diklasifikasikan tergantung bada perbedaan kualitas:
- Sumber – Apakah data berasal dari perangkat lunak atau perangkat keras?
- Arah informasi – apakah masuk atau keluar?
- Trust – apakah tersentralisasi atau terdesentralisasi?
Satu oracle dapat dimasukkan ke dalam beberapa kategori. Sebagai contoh, satu oracle yang informasinya bersumber dari website perusahaan adalah oracle perangkat lunak masuk tersentralisasi.
Oracle perangkat lunak
Oracle perangkat lunak berinteraksi dengan sumber informasi online dan mentransmisikannya ke blockchain. Informasi ini dapat berasal dari database online, server, website – intinya sumber data apa saja di web.
Fakta bahwa oracle perangkat lunak dihubungkan ke Internet tidak hanya memungkinkannya untuk menyuplai informasi ke smart contract, tetapi juga mentransmisikan informasi tersebut secara langsung/real-time. Ini adalah jenis yang paling umum dari oracle blockchain.
Oracle perangkat keras
Beberapa smart contract harus berhadapan dengan dunia nyata. Oracle perangkat keras didesain untuk mendapatkan informasi dari dunia fisik dan membawanya ke smart contract. Informasi seperti ini dapat diteruskan dari sensor elektronik, pemindai barcode, dan perangkat pembaca informasi lainnya.
Pada intinya, oracle perangkat keras “menerjemahkan” peristiwa-peristiwa di dunia nyata ke dalam nilai digital yang dapat dimengerti oleh smart contract.
Contohnya adalah sensor yang dapat memeriksa apakah sebuah truk yang membawa barang-barang telah tiba di dermaga bongkar-muat. Jika iya, maka sensor akan meneruskan informasi ke smart contract yang akan dapat mengeksekusi keputusan berdasarkan informasi tersebut.
Oracle masuk dan keluar
Oacle masuk mentransmisikan informasi dari sumber eksternal ke smart contract, sedangkan oracle keluar mengirimkan informasi dari smart contract ke dunia luar.
Oracle tersentralisasi dan terdesentralisasi
Oracle tersentralisasi dikendalikan oleh entitas tunggal dan satu-satunya sumber informasi ke smart contract. Menggunakan hanya satu sumber informasi dapat berisiko – keefektifan kontrak sepenuhnya bergantung pada entitas yang mengendalikan oracle. Juga, gangguan mencurigakan dari pihak jahat akan memberikan dampak langsung ke smart contract. Masalah utama oracle tersentralisasi adalah adanya single point of failure, yang membuat kontrak kurang tangguh terhadap serangan dan kerentanan.
Oracle terdesentralisasi memiliki tugas yang sama seperti blockchain publik – menghindari risiko dari pihak lawan. Oracle ini meningkatkan keandalan informasi yang diberikan ke smart contract dengan tidak bergantung pada satu sumber kebenaran. Smart contract membutuhkan banyak oracle untuk menentukan kevalidan dan akurasi data – inilah mengapa oracle terdesentralisasi dapat juga disebut sebagai oracle konsensus.
Beberapa proyek blockchain memberikan layanan oracle terdesentralisasi ke blockchain lainnya. Oracle terdesentralisai dapat juga berguna dalam memprediksikan pasar, di mana kevalidan data dapat diverifikasi oleh konsensus sosial.
Oracle yang dikhususkan untuk kontrak
Oracle yang dikhususkan untuk kontrak didesain agar digunakan oleh satu smart contract. Ini berarti bahwa jika ada yang ingin membuat beberapa smart contract, oracle jenis ini harus dikembangkan dalam jumlah yang sama.
Jenis oracle ini dianggap menghabiskan banyak waktu dan mahal untuk dipelihara. Perusahaan-perusahaan yang ingin mengekstrak data dari berbagai sumber mungkin akan menemukan kesulitan dan menganggap pendekatan ini tidak praktis. Di sisi lain, karena oracle yang dikhususkan untuk kontrak dapat didesain dari nol untuk melayani manfaat tertentu, pengembang memiliki fleksibilitas tinggi untuk menyesuaikannya.
Oracle manusia
Permasalahan Oracle
Karena smart contract mengeksekusi keputusan berdasarkan data yang diberikan oleh oracle, maka smart contract adalah kunci untuk ekosistem blockchain yang sehat. Tantangan utama dalam mendesain oracle adalah jika oracle diganggu, smart contract yang mengandalkannya juga akan ikut terganggu. Ini sering disebut sebagai masalah oracle.
Karena oracle bukan bagian dari konsensus blockchain utama, maka sayangnya oracle juga bukan bagian dari mekanisme keamanan yang dapat disediakan oleh blockchain publik. Konflik kepercayaan di antara oracle pihak ketiga dan eksekusi smart contract yang tidak membutuhkan kepercayaan masih menjadi permasalahan yang belum terpecahkan.
Serangan pihak penengah juga dapat menjadi ancaman, di mana pihak jahat dapat mengakses aliran data di antara oracle dengan kontrak dan kemudian memodifikasi atau memalsukan data tersebut.
Penutup
Mekanisme yang dapat diandalkan untuk memudahkan komunikasi antara smart contract dan dunia luar sangat penting terhadap adopsi global blockchain. Tanpa oracle blockchain, smart contract harus bergantung hanya pada informasi yang telah ada di dalam jaringan, yang akan sangat membatasi kemampuannya.