Oracle datang untuk menyelamatkan

Oracle datang untuk menyelamatkan

Peramal rantaian blok menyelesaikan masalah penyampaian maklumat dari dunia luar ke rantaian blok. Tetapi penting untuk kita mengetahui mana yang boleh kita percayai.

Π’ artikel mengenai pelancaran katalog Waves Oracles kami menulis tentang kepentingan oracles untuk blockchain.

Aplikasi terdesentralisasi tidak mempunyai akses kepada data di luar rantaian blok. Oleh itu, program kecil dicipta - oracle - yang mendapat akses kepada data yang diperlukan dari dunia luar dan merekodkannya pada blockchain.

Berdasarkan jenis sumber data, oracle boleh dibahagikan kepada tiga kategori: perisian, perkakasan dan manusia.

Oracle perisian menerima dan memproses data daripada Internet - seperti suhu udara, harga komoditi, kelewatan kereta api dan kapal terbang. Maklumat datang daripada sumber dalam talian seperti API, dan oracle mengekstraknya dan meletakkannya pada blockchain. Baca tentang cara membuat oracle perisian mudah di sini.

Oracle perkakasan mengesan objek di dunia nyata menggunakan peranti dan penderia. Contohnya, kamera video yang ditentukur untuk melintasi garisan merekodkan kereta yang memasuki kawasan tertentu. Oracle merekodkan fakta menyeberangi garisan dalam rantaian blok, dan berdasarkan data ini, skrip aplikasi terdesentralisasi boleh, sebagai contoh, memulakan pengeluaran denda dan pendebitan token daripada akaun pemilik kereta.

Oracle Manusia menggunakan data yang dimasukkan oleh manusia. Mereka dianggap paling progresif kerana pandangan bebas mereka tentang hasil acara itu.

Kami baru-baru ini menyediakan alat yang membolehkan data oracle ditulis ke blockchain mengikut spesifikasi yang diberikan. Ia berfungsi dengan sangat mudah: anda hanya perlu mendaftar kad oracledengan mengisi spesifikasi. Transaksi data kemudiannya boleh diterbitkan mengikut spesifikasi ini melalui antara muka Waves Oracles. Baca lebih lanjut mengenai alat di dokumentasi kami.

Oracle datang untuk menyelamatkan

Alat dan antara muka piawai sedemikian menjadikan kehidupan lebih mudah untuk kedua-dua pembangun dan pengguna perkhidmatan blockchain. Alat kami berguna khusus untuk peramal manusia dan boleh digunakan, sebagai contoh, untuk merekodkan sijil atau hak cipta untuk sebarang objek.

Tetapi apabila menggunakan oracle, persoalan kepercayaan terhadap maklumat yang diterima daripada mereka timbul. Adakah sumbernya boleh dipercayai? Adakah data akan diterima tepat pada masanya? Di samping itu, terdapat risiko bahawa oracle akan menipu pengguna dengan sengaja memberikan maklumat yang tidak betul untuk faedahnya sendiri.

Sebagai contoh, pertimbangkan oracle yang menyediakan maklumat tentang acara sukan untuk pertukaran pertaruhan terdesentralisasi.

Acara tersebut merupakan pertarungan utama kejohanan UFC 242, Khabib Nurmagomedov lwn Dustin Poirier. Menurut pembuat taruhan, Nurmagomedov adalah kegemaran yang jelas dalam pertarungan itu. Anda boleh bertaruh pada kemenangannya dengan kemungkinan 1,24, yang sepadan dengan kebarangkalian 76%. Peluang untuk kemenangan Poirier ialah 4,26 (22%), dan kemungkinan seri dianggarkan oleh pembuat taruhan pada 51,0 (2%).

Oracle datang untuk menyelamatkan

Skrip menerima pertaruhan pengguna pada ketiga-tiga kemungkinan hasil sehingga ia menerima maklumat daripada oracle tentang keputusan sebenar pertempuran. Ini adalah satu-satunya kriteria untuk pengagihan kemenangan.

Kini diketahui bahawa Nurmagomedov menang. Walau bagaimanapun, mari kita bayangkan bahawa pemilik oracle yang tidak bertanggungjawab, merancang penipuan terlebih dahulu, meletakkan taruhan pada keputusan dengan kemungkinan yang paling menguntungkan - seri. Apabila bank pertaruhan telah mencapai jumlah yang besar, pemilik oracle memulakan merekod maklumat palsu dalam rantaian blok tentang keputusan cabutan yang sepatutnya dalam pertempuran. Skrip pertukaran terdesentralisasi tidak mempunyai keupayaan untuk menyemak semula ketepatan data yang diterima dan hanya mengedarkan kemenangan mengikut data ini.

Jika potensi keuntungan daripada penipuan jenis ini lebih tinggi daripada hasil yang diunjurkan oleh oracle yang jujur, dan risiko untuk pergi ke mahkamah adalah rendah, kemungkinan tindakan tidak jujur ​​oleh pemilik oracle meningkat dengan ketara.

Satu penyelesaian yang mungkin untuk masalah ini ialah meminta data daripada beberapa oracle dan membawa nilai yang terhasil kepada konsensus. Terdapat beberapa jenis konsensus:

  • semua oracle memberikan maklumat yang sama
  • kebanyakan oracle memberikan maklumat yang sama (2 daripada 3, 3 daripada 4, dsb.)
  • membawa data oracle kepada nilai purata (pilihan mungkin di mana nilai maksimum dan minimum pertama kali dibuang)
  • semua oracle memberikan maklumat seragam dengan toleransi yang telah dipersetujui sebelumnya (contohnya, petikan kewangan daripada sumber yang berbeza mungkin berbeza sebanyak 0,00001, dan mendapatkan padanan tepat adalah tugas yang mustahil)
  • pilih hanya nilai unik daripada data yang diterima

Mari kembali ke pertukaran pertaruhan terdesentralisasi kami. Apabila menggunakan konsensus "3 daripada 4", satu oracle melaporkan cabutan tidak akan dapat mempengaruhi pelaksanaan skrip, dengan syarat tiga oracle yang lain memberikan maklumat yang boleh dipercayai.
Tetapi pengguna yang tidak bertanggungjawab boleh memiliki tiga daripada empat oracle, dan kemudian dia akan dapat memberikan majoriti yang menentukan.

Memperjuangkan integriti oracle, anda boleh memperkenalkan penilaian untuk mereka atau sistem denda untuk data yang tidak boleh dipercayai. Anda juga boleh mengambil laluan "lobak merah" dan menawarkan ganjaran untuk keaslian. Tetapi tiada langkah yang akan mengelak sepenuhnya, contohnya, menilai inflasi atau majoriti yang tidak adil.

Jadi adakah ia bernilai mencipta perkhidmatan yang kompleks, atau adakah cukup untuk mempunyai alat konsensus yang membolehkan anda, seperti di rak pasar raya, untuk memilih, sebagai contoh, lima oracle yang menyediakan data yang diperlukan, menetapkan jenis konsensus dan mendapatkan keputusan?

Contohnya, aplikasi terdesentralisasi memerlukan data suhu dalam darjah Celsius. Dalam katalog oracle, kami menemui empat oracle yang menyediakan data sedemikian, menetapkan jenis konsensus kepada "purata" dan membuat permintaan.

Katakan oracle memberikan nilai berikut: 18, 17, 19 dan 21 darjah. Perbezaan tiga darjah boleh menjadi agak kritikal untuk pelaksanaan skrip. Perkhidmatan memproses hasilnya dan menerima nilai suhu purata 18.75 darjah. Skrip aplikasi terdesentralisasi akan menerima nombor ini dan berfungsi dengannya.

Oracle datang untuk menyelamatkan

Akhirnya, keputusan terletak pada pengguna: sama ada untuk mempercayai satu oracle dan menggunakan datanya, atau membina konsensus beberapa oracle yang dipilih mengikut budi bicara mereka.

Walau apa pun, oracle data adalah medan yang agak baharu. Ia berada di peringkat di mana pengguna sendiri boleh menentukan ke arah mana ia harus berkembang. Itulah sebabnya kami ingin mendengar pendapat anda. Adakah alat di atas diperlukan untuk oracle? Bagaimanakah anda melihat masa depan oracle data secara umum? Kongsi pendapat anda dalam komen dan dalam kumpulan rasmi kami di Telegram.

Sumber: www.habr.com

Tambah komen