Apa Itu Masalah Oracle Blockchain?

Chainlink_ID
Chainlink Community
9 min readApr 27, 2021

Masalah oracle blockchain adalah salah satu hambatan terpenting yang harus diatasi untuk memungkinkan smart contract di jaringan seperti Ethereum bisa mencapai adopsi massal di berbagai pasar dan penggunaan.

Seperti yang telah dibahas sebelumnya dalam Seri Edukasi Blockchain kami, smart contract yang berjalan di blockchain menawarkan potensi besar untuk mendefinisikan ulang cara-cara berbagai pihak bisa berpartisipasi bersama dalam perjanjian kontrak dan pertukaran nilai. Beroperasi terpisah dari ekonomi smart contract adalah ekonomi digital non-blockchain yang jauh lebih besar terdiri dari semua perangkat yang terhubung ke Internet yang sekarang online. Salah satu hasil dari infrastruktur digital ini adalah waduk data dan API yang terus berkembang yang memberikan wawasan tentang hal-hal di sekeliling kita; misalnya hasil pencarian dari internet menunjukkan topik diskusi yang populer di masyarakat, atau sensor IoT yang menunjukan pola lalu lintas umum.

Smart contract berbasis blockchain dan ekonomi dari data tradisional serta API memiliki potensi besar untuk menjadi blok bangunan otomatisasi berbasis data untuk masa depan, tetapi pertanyaannya adalah bagaimana kedua dunia ini bisa dihubungkan? Pertanyaan ini mencakup inti dari “masalah oracle” dan akan menjadi fokus artikel ini.

Artikel ini akan dipecah menjadi lima bagian utama yang:

  • Medefinisikan masalah oracle
  • Menjajarkan tugas oracle
  • Mengdiskusikan mengapa blockchain seperti Ethereum tidak menawarkan solusi oracle secara langsung
  • Mengidentifikasikan risiko keamanan dari oracle terpusat
  • Memperkenalkan Chainlink, standar untuk oracle terdesentralisasi yang aman dan reliabel

Masalah Oracle

Masalah oracle berkisar pada batasan yang sangat sederhana — blockchain tidak dapat menarik data dari atau mendorong data keluar ke sistem eksternal mana pun sebagai fungsionalitasnya langsung. Dengan demikian, blockchain adalah jaringan terisolasi yang sangat mirip dengan komputer tanpa koneksi internet. Terisolasinya blockchain adalah properti yang membuatnya sangat aman dan reliabel, karena jaringan tersebut hanya perlu membentuk konsensus untuk menjawab pertanyaan benar / salah yang sangat mendasar menggunakan data yang sudah disimpan di dalam buku besarnya — mis. apakah pemegang kunci publik menteken transaksi dengan kunci privat yang sesuai, apakah alamat publik memiliki cukup dana untuk menutupi transaksi, dan apakah jenis transaksi valid dalam smart contract tertentu? Fokus yang sangat persis dari konsensus blockchain adalah alasan mengapa smart contract bisa disebut deterministik; mereka mengeksekusi persis seperti yang telah tertulis dengan tingkat kepastian yang jauh lebih tinggi daripada sistem tradisional.

Namun, agar smart contract dapat mewujudkan lebih dari 90% potensi penggunaan, mereka harus terhubung dengan dunia di luar blockchain. Misalnya, smart contract keuangan membutuhkan informasi market untuk menentukan penyelesaian transaksi, smart contract asuransi membutuhkan IoT dan data dari web untuk membuat keputusan atas pembayaran dari kebijakan, kontrak keuangan perdagangan membutuhkan dokumen perdagangan dan tanda tangan digital untuk mengetahui kapan harus melepaskan pembayaran, dan banyak smart contract ingin menyelesaikan transaksi dalam mata uang fiat di jaringan pembayaran tradisional. Tidak satu pun dari informasi ini bisa dihasilkan di dalam blockchain, juga tidak ada layanan tradisional tersebut yang dapat diakses secara inheren.

Menjembatani koneksi antara blockchain (on-chain) dan dunia luar (off-chain) membutuhkan infrastruktur tambahan dan terpisah yang dikenal sebagai ‘oracle’.

Apa Tugasnya Oracle Blockchain?

Oracle blockchain adalah middleware aman yang memfasilitasi komunikasi antara blockchain dan sistem off-chain apa pun, termasuk penyedia data, API web, backend perusahaan, penyedia cloud, perangkat IoT, tanda tangan elektronik, sistem pembayaran, blockchain lain, dan banyak lagi. Oracles mencakup beberapa fungsi utama:

  • Mendengar— memantau jaringan blockchain untuk memeriksa setiap pengguna yang masuk atau permintaan smart contract untuk data off-chain
  • Mengekstrak —mengambil data dari satu atau beberapa sistem eksternal seperti API off-chain yang dihosting di server web pihak ketiga
  • Memformat — memungkinkan dua sistem untuk saling berkomunikasi dengan memformat data yang diambil dari API ke dalam format yang dapat dibaca blockchain (input) dan / atau membuat data blockchain kompatibel dengan API eksternal (output)
  • Memvalidasi — membuat bukti kriptografi untuk membuktikan kinerja layanan oracle menggunakan kombinasi apa pun dari penandatanganan data, penandatanganan transaksi blockchain, tanda tangan TLS, pengesahan Trusted Execution Environment (TEE), bukti tanpa pengetahuan (zero knowledge proof), dan banyak lagi
  • Menghitung — melakukan beberapa jenis perhitungan pada data, seperti menghitung median data dari beberapa pengiriman oracle atau menjalankan tugas yang lebih kompleks seperti membuat premi asuransi dari beberapa jenis data (profil risiko perorangan, harga pasar, biaya modal, dll)
  • Menyiarkan— mentandatangani dan menyiarkan transaksi di blockchain sebagai sarana untuk mengirim data dan bukti on-chain yang sesuai untuk penggunaan smart contract
  • Output (opsional) — mengirim data ke sistem eksternal setelah pelaksanaan smart contract seperti menyampaikan instruksi pembayaran ke jaringan pembayaran tradisional atau mempengaruhi sistem komputer lainnya

Untuk menawarkan fungsi di atas, sistem oracle harus beroperasi di dalam dan di luar blockchain secara bersamaan. Fungsi dari komponen on-chain adalah untuk membuat koneksi blockchain (untuk mendengarkan permintaan), menyiarkan data, mengirim bukti, mengekstrak data blockchain, dan terkadang melakukan komputasi di dalam blockchain. Fungsi dari komponen off-chain adalah untuk memproses permintaan, mengambil dan memformat data eksternal, mengirim data blockchain ke sistem eksternal, dan berpotensi untuk melakukan komputasi di jaringan oracle yang lebih maju.

Smart contract yang diberdayakan oleh oracle Chainlink untuk asuransi tanaman pertanian yang mengambil data cuaca dari berbagai sumber, menggunakan titik data yang diagregat untuk memicu eksekusi kontrak asuransi di blockchain, dan membayar dalam metode pembayaran tradisional apa pun.

Mengapa Blockchain Tidak Bisa Memecahkan Masalah Oracle

Blockchain itu sangat aman dan reliabel karena beberapa prinsip desain spesifik. Seperti yang dijelaskan di atas, mereka hanya perlu membuat keputusan tentang pertanyaan yang sangat mendasar menggunakan data yang dihasilkan dalam lingkungannya sendiri yang dapat dibuktikan benar atau salah. Selain itu, mereka menggunakan desentralisasi untuk memvalidasi data yang sama secara berlebihan oleh semua node dalam jaringan dan memastikan bahwa satu node atau sekelompok kecil node tidak dapat mengubah aturan algoritme konsensus (PoW, PoS, dll.) dan melakukan serangan Sybil pada jaringan, misalnya mendapatkan 51% kontrol atas daya hash. Properti ini memberikan jaminan kuat seputar determinisme, terutama dalam jaringan yang sangat terdesentralisasi dan tahan serangan Sybil.

Namun, blockchain tidak cocok untuk menjawab pertanyaan yang mulai menyelami ranah subjektivitas atau membutuhkan data eksternal yang tidak dapat diakses oleh setiap node dalam jaringan. Misalnya, pertanyaan sederhana seperti ‘Berapa harga pasar Bitcoin?’ atau ‘Bagaimana cuaca di New York?’ dapat memperoleh berbagai jawaban berbeda yang dapat bervariasi tergantung pada sumber data apa yang mereka gunakan dan kapan mereka meminta data dari suatu sumber. Pertanyaannya kemudian menjadi, apa jawaban yang benar?

Memperkenalkan subjektivitas di lapisan dasar blockchain mengangkat topik yang menyekitari seluruh masalah keamanan, reliabilitas, dan tata kelola, yang membahayakan proposisi nilai yang disediakan blockchain — determinisme yang tidak bias untuk menghitung transaksi.

Salah satu masalah utama adalah bagaimana cara memastikan data berkualitas tinggi jika tidak setiap node memiliki akses yang sama ke data. Bahkan permintaan data mendasar untuk harga Bitcoin sangat menantang karena hanya dengan melihat situs web atau satu bursa tidak akan seakurat atau sereliabel seperti membayar langganan API ke agregator data profesional yang mempunyai insentif keuangan untuk mempertahankan layanan berkualitas tinggi dan puluhan tahun pengalaman memfilter data dan bisa menciptakan cakupan pasar yang merangkum semua lingkungan trading. Mengelola dan mendukung pengontrolan kualitas untuk data off-chain yang dikirimkan oleh node blockchain itu sangat sulit karena siapa pun bisa menjalankan node pseudo-anonim dan mereka semua memiliki kesempatan yang sama untuk mengirimkan jawaban, namun mereka mungkin tidak semua bersedia untuk membeli langganan ke API off-chain berkualitas tinggi atau juga hal ini tidak mudah diterapkan.

Masalah besar lainnya adalah skalabilitas. Setiap kali sumber data baru perlu ditambahkan ke jaringan atau metode agregasi data yang ada harus disesuaikan, diperlukan koordinasi tata kelola sosial yang masif agar setiap node di jaringan menyetujui dan mengupgrade perangkat lunak mereka. Overhead tata kelola ini menambah friksi, memperlambat pengembangan fitur inti lainnya dari blockchain (seperti PoS dan sharding), dan membatasi kecepatan inovasi oracle. Pada akhirnya, semakin banyak kompleksitas yang ada di lapisan dasar blockchain, semakin banyak permukaan serangan dan risiko untuk semua aplikasi yang berjalan di dalamnya. Bahkan aplikasi yang tidak menggunakan oracle atau tidak terlibat dengan permintaan data yang konfrontatif akan terjebak dan berpotensi terganggu jika seluruh chain terhenti karena masalah oracle.

Karena alasan inilah dan banyak lagi, oracle tidak diintegrasikan ke dalam lapisan dasar dari blockchain utama mana pun, tetapi beroperasi sebagai jaringan terpisah. Hal ini memastikan bahwa blockchain memiliki permukaan serangan yang lebih rendah dan mempertahankan determinismenya dengan memiliki fokus tunggal pada konsensus blockchain, sedangkan oracle memiliki fleksibilitas yang diperlukan untuk menghasilkan determinisme dari dunia off-chain yang kompleks dan subjektif tanpa menciptakan ketergantungan dan keterbatasan yang menaruh risiko ke seluruh chain.

Oracle Terpusat Mempunyai Risiko Besar

Inti dari smart contract adalah untuk mencapai determinisme melalui penegakan teknologi lewat persyaratan kontrak dibandingkan dengan eksekusi probabilistik yang dilakukan oleh penegakan manusia. Untuk mencapai tujuan ini, blockchain tidak boleh memiliki satu titik kegagalan pun, yang harus juga diterapkan ke oracle untuk mempertahankan properti ini sepanjang siklus hidup ujung ke ujung kontrak. Apa gunanya menerapkan kontrak bernilai jutaan dolar berfungsi sebagai smart contract di dalam blockchain yang sepenuhnya terdesentralisasi jika satu oracle terpusat bisa mengontrol input yang menentukan hasil kontrak tersebut?

Oracle terpusat adalah titik sentral kegagalan dalam smart contract.

Baik itu tim pengembangan aplikasi smart contract yang menjalankan oracle sendiri atau mengandalkan layanan oracle pihak ketiga, kedua skenario memberikan kekuasaan yang berlebihan kepada satu entitas untuk memengaruhi kontrak melalui pengontrolan oracle. Meskipun operator oracle terpusat yang beroperasi mempunyai niat yang paling baik, mereka masih terkait dengan semua masalah terpusat yang umum saat ini seperti downtime, serangan DDOS, peretasan, dan ketidakmampuan yang tidak disengaja, yang semuanya menempatkan dana pengguna pada risiko besar.

Bahkan entitas terpusat yang paling mulia pun bisa mendapat desakan setelah nilai kontrak berskala, yang membuka kemungkinan untuk penyogokan, intimidasi, dan paksaan dari regulasi, yang pada akhirnya hanya membutuhkan satu orang yang terlibat dalam operasi oracle terpusat untuk menjadi jahat. Model ini tidak dapat diskalakan, dan tidak sesuai dengan gagasan tentang infrastruktur yang terdesentralisasi sebagai pendorong utama otomatisasi yang aman dan reliabel.

Untuk mengatasi kekurangan ini, oracle harus membuat jaminan keamanan dan reliabilitas yang sama dari sebuah blockchain, meskipun dengan cara yang berbeda mengingat banyaknya perbedaan dalam cara menyelesaikan masalah oracle dibandingkan dengan mencapai konsensus blockchain.

Chainlink: Standar untuk Oracle yang Aman dan Reliabel

Untuk membawa determinisme ke lapisan oracle, Chainlink telah mengembangkan jaringan oracle terdesentralisasi yang dapat memberikan banyak jaminan berbeda yang dapat digunakan dalam kombinasi apa pun untuk memberikan solusi oracle yang disesuaikan untuk setiap aplikasi penggunaan.

  • Open-source— menjadi teknologi open-source memungkinkan komunitas blockchain yang lebih luas untuk secara independen memverifikasi keamanan dan reliabilitas kode sumber dan fungsi Chainlink, serta berkontribusi pada kemajuannya
  • Adaptor Eksternal — memungkinkan node untuk dengan aman menyimpan kunci API dan mengelola login akun memungkinkan smart contract untuk mengambil data dari sistem eksternal dan API apa pun, termasuk yang dilindungi dengan kata sandi / kredensial
  • Desentralisasi — menerapkan desentralisasi pada node dan pada level sumber data memastikan tidak ada satu node atau sumber data yang menjadi satu titik kegagalan, memberikan jaminan yang kuat kepada pengguna bahwa data akan dikirimkan tepat waktu dan tetap tahan terhadap manipulasi
  • Penandatanganan Data — memiliki node secara kriptografis menandatangani data yang mereka berikan ke smart contract memungkinkan pengguna untuk mengidentifikasi node mana yang mengirim data dan melihat riwayat masa lalu mereka untuk menentukan kualitas kinerja mereka
  • Perjanjian Layanan — menggunakan perjanjian on-chain yang mengikat antara smart contract yang memberi permintaan dan penyedia oracle yang menguraikan persyaratan layanan oracle dan penalti / upah untuk kinerja memberi pengguna jaminan yang dapat diberlakukan atas permintaan data off-chain mereka
  • Sistem Reputasi — memasukkan data on-chain yang ditandatangani ke dalam sistem reputasi memungkinkan pengguna untuk membuat keputusan yang tepat mengenai node mana yang baik dan node mana yang tidak berdasarkan berbagai metrik seperti pekerjaan yang berhasil, klien yang dilayani, waktu respons rata-rata, dll.
  • Layanan Sertifikasi — memungkinkan node untuk meningkatkan keamanan dan reliabilitasnya untuk pengguna dengan memperoleh sejumlah sertifikasi dapat memberikan jaminan pokok tertentu seperti KYC, lokasi geografis node, tinjauan keamanan infrastruktur mereka, dan banyak lagi

Kriptografi dan Perangkat Keras Termaju — memberikan fleksibilitas untuk kriptografi yang lebih maju (seperti bukti tanpa pengetahuan / zero knowledge proofs) dan perangkat keras (seperti lingkungan eksekusi tepercaya / trusted execution environments) memungkinkan oracle untuk melakukan fungsi tambahan seperti membuktikan asal data ke smart contract (mis. data spesifik yang berasal dari server tertentu), menjaga data confidensial dari oracle itu sendiri, melakukan komputasi off-chain, dan banyak lagi.

Ini hanyalah beberapa dari banyak fitur yang ditawarkan oleh Chainlink yang memberi pengguna sekumpulan jaminan untuk memastikan mekanisme oracle yang sangat aman dan reliabel. Di artikel Edukasi yang akan datang, kami akan lebih mendalami masing-masing fitur untuk mendapatkan pemahaman yang lebih lengkap tentang Jaringan Chainlink.

Dengan membangun fitur-fitur utama ini di Chainlink, smart contract di semua blockchain sekarang bisa mengakses data off-chain tanpa mengorbankan nilai inti determinisme, memberikan dasar yang kokoh untuk membangun masa depan otomatisasi berbasis data.

Ikuti kami di Twitter untuk mendapatkan pengumuman tentang rilis artikel yang akan datang, bergabunglah dengan Telegram atau Reddit kami untuk berita umum tentang Chainlink, atau berpartisipasi dalam diskusi teknis di Discord kami.

Chainlink Indonesia

Telegram ID| Facebook ID | Medium ID| Facebook Asia Tenggara

--

--

Chainlink_ID
Chainlink Community

Managed by: Juan Karamoy, Manajer Komunitas Indonesia