October 2, 2020

Smart Contracts dan Oracles

Keisha Dwyer

ergo_emurgo_oracles-1.png

Sebelumnya, kami telah membahas bahwa penggunaan smart contracts memiliki beberapa batasan (untuk membaca blog post sebelumnya, silakan kunjungi tautan ini). Salah satu batasan dalam penggunaan smart contracts adalah smart contracts tidak dapat terhubung dengan dunia nyata. Maka dari itu, diperlukan sesuatu yang bernama Oracle.

Namun, apa sih yang dinamakan Oracle itu? How does it work? What problems come with its usage? Well, let’s find out together!

What is an Oracle?

Salah satu definisi oracle adalah “A person or thing regarded as an infallible authority or guide on something.”

Just a morning stroll

Bayangkan, di sebuah kota, seorang pria bernama Jonas mengajak anjingnya jalan-jalan pada pukul 08.00 setiap pagi. Selalu jam 08.00 pagi, setiap hari. Saking konsistennya jadwal orang tersebut untuk mengajak anjingnya jalan-jalan, sampa-sampai penduduk kota mengandalkannya untuk mengetahui jam berapa sekarang di pagi hari.

“Jika pria itu sedang berjalan-jalan dengan anjingnya, itu pasti jam 8 pagi!” — begitu kata orang-orang.

Jonas, disadari atau tidak, adalah seorang Oracle.

Namun, seberapa andal pria ini sebagai oracle? Bagaimana jika dia sakit, anjingnya kabur, atau hujan? Ini semua bisa mengganggu jadwalnya dan tidak lagi menjadikannya sumber kebenaran saat jam 8 pagi.

Bagaimana? Kebayang ‘kan arti dari Oracle itu sendiri?

Kalau gitu, apa sih pengertian dari Oracle dalam konteks Blockchain?

A simple diagram to show what Oracle does

Blockchain memiliki kemampuan yang luar biasa untuk melacak semua yang terjadi di dalam jaringannya. Meskipun demikian, blockchain memerlukan metode verifikasi data yang tidak berasal dari dirinya sendiri.

Bagaimana blockchain mengetahui bagaimana jadwal penerbangan di hari ini? Bagaimana blockchain mengetahui besaran temperatur di hari ini? Bagaimana blockchain mengetahui hasil pertandingan bola basket NBA di hari ini? Bagaimana blockchain mengetahui warna langit di hari ini?

The Blockchain Needs a Source of Truth — an Oracle.

Mengapa blockchain perlu untuk mengetahui jawaban atas pertanyaan-pertanyaan ini?

Smart contracts perlu mengetahui jawaban atas pertanyaan-pertanyaan di atas agar tahu apa yang harus dilakukan selanjutnya.

“Leaving on a jet plane…”

Smart contracts asuransi penerbangan perlu mengetahui jadwal penerbangan di hari ini untuk memutuskan apabila ada penerbangan yang dibatalkan, maka orang yang membeli asuransi penerbangan itu akan mendapat kompensasi.

Smart contracts agrikultur perlu mengetahui besaran temperatur di hari ini untuk memutuskan apakah tanaman yang ditanam hari ini kualitasnya bagus atau tidak.

Oracle hanyalah penyedia data.

Oracle memberikan jawaban bagi smart contracts untuk pertanyaan tentang dunia yang ada di luar jaringan blockchain.

Dalam kebanyakan kasus, tanpa oracle yang memberikan informasi, smart contract tidak dapat mengetahui hal-hal yang perlu diketahui untuk melakukan tugasnya.

Apa sih pentingnya Oracle?

Dikarenakan oracle menentukan apa yang dilihat smart contract (mengontrol input ke smart contract), oracle juga memegang kekuasaan untuk mengontrol apa yang smart contract lakukan dalam menanggapi input ini. Ini berarti, oracle memiliki kekuatan yang sangat besar dalam penggunaan smart contracts.

Jika oracle bermasalah, so does the smart contract

Kalau begitu, bagaimana cara untuk menentukan apakah Oracle itu dapat dipercaya atau tidak?

Pertanyaan bagus.

Most of the people will just say that,

“Ok, gua percaya sama oracle yang dibuat oleh Perusahaan A karena lo perusahaan besar, lo punya banyak uang, dll.”

Namun, pernyataan tersebut akan membuat oracle menjadi terpusat (centralized).

As soon as you make a smart contract rely on a single centralized oracle, you have totally sacrificed any decentralization-related benefits that come with it.

Well, why don’t we just decentralize oracles?

Salah satu cara untuk desentralisasi oracle adalah dengan menggunakan metode Oracle Pools.

Pools of Oracles

Singkatnya, Oracle Pools berarti kumpulan oracle; terdiri dari sekelompok oracle yang memutuskan untuk mendapatkan sumber data yang sama, hence the name “Pools”.

Oracle Pools adalah model penggunaan oracle baru yang mencoba untuk mengatasi beberapa permasalahan penggunaan oracle saat ini.

Beberapa masalah yang dihadapi oleh skema oracles saat ini adalah:

  • Kurangnya transparansi
  • Kurangnya akuntabilitas terhadap data, dan
  • Kurangnya ketahanan operasional (operational robustness).

Oracle pools menawarkan kekuatan dan fleksibilitas yang besar melalui skema insentif dasar yang menghargai oracle karena telah menyediakan datapoint yang valid. Selain itu, yang tidak kalah pentingnya pula, ada skema disinsentif yang bernama “stake slashing” untuk mencegah oracle memberikan datapoint yang tidak benar.

Salah satu solusi decentralized oracles adalah Ergo.

Ergo merupakan platform blockchain proof-of-work berbasis UTXO. Ergo, bekerja sama dengan Emurgo, telah mengimplementasikan oracle pools sebagai solusi untuk desentralisasi oracle. Kerjasama antara Emurgo dan Ergo akan menjadi pionir dalam riset di bidang DeFi untuk semua blockchain berbasis UTXO (Cardano, Ergo, dll). Untuk mengetahui info lebih lanjut tentang kerjasama Ergo dan Emurgo, silakan kunjungi tautan ini.

Jaringan oracle ini memungkinkan smart contracts untuk mengakses data feeds yang off-chain. Data feeds ini dapat berupa blockchain terpisah atau data feeds standar seperti API web. Contohnya adalah jika pasar saham memiliki blockchain sendiri — blockchain lain akan mengakses datanya melalui Chainlink dan menggunakannya sebagai oracle.

Kesimpulannya,

Penggunaan oracle sangat-lah penting dalam fungsionalitas smart contracts. Dikarenakan masih ada permasalahan sentralisasi oracle, maka diperlukan solusi baru. Solusi baru ini bernama Oracle Pools, yang tujuannya adalah untuk mengatasi beberapa permasalahan yang timbul dari penggunaan oracle yang terpusat (sentralisasi).

Tentang EMURGO

EMURGO adalah perusahaan blockchain global yang menghadirkan solusi untuk developers, startups, enterprise, dan pemerintah. EMURGO mengembangkan aplikasi dengan standard enterprise, tools untuk developer, berinvestasi di startup, dan memberikan edukasi tentang teknologi blockchain. EMURGO memiliki kantor dan menangani proyek di Singapura, Jepang, Amerika Serikat, India, dan Indonesia. EMURGO juga adalah salah satu pendiri dari Cardano protocol.

Pelajari lebih lanjut tentang EMURGO dengan mengunjungi website resmi kami di sini

Follow akun media sosial EMURGO Indonesia:

Twitter : http://bit.ly/EmurgotwitterId

Facebook :bit.ly/Emurgo_id

Instagram : http://bit.ly/EmurgoInstaId

Linkedin: http://bit.ly/emurgoidLinkedin

Related articles