Orakel datang untuk menyelamatkan

gambar

Blockchain mengatakan menyelesaikan masalah pengiriman informasi dari dunia luar ke blockchain. Tetapi penting bagi kita untuk mengetahui mana yang bisa kita percayai.

Dalam artikel tentang meluncurkan katalog Waves Oracles , kami menulis tentang pentingnya oracle untuk blockchain.

Aplikasi terdesentralisasi tidak memiliki akses ke data di luar blockchain. Oleh karena itu, program kecil dibuat - oracle - yang mendapatkan akses ke data yang diperlukan dari dunia luar dan menulisnya ke blockchain.

Berdasarkan jenis sumber data, nubuat dapat dibagi menjadi tiga kategori: perangkat lunak, perangkat keras, dan manusia.

Peramal peranti lunak menerima dan memproses data dari Internet - seperti suhu udara, harga komoditas, keterlambatan kereta dan pesawat. Informasi berasal dari sumber online, seperti API, dan oracle mengekstraknya dan meletakkannya di blockchain. Baca di sini cara membuat oracle perangkat lunak sederhana.

Nubuat perangkat keras melacak objek dunia nyata dengan perangkat dan sensor. Misalnya, camcorder yang dikalibrasi di persimpangan garis menangkap mobil yang memasuki area tertentu. Peramal mencatat fakta garis yang melintasi di blockchain, dan berdasarkan data ini, skrip aplikasi terdesentralisasi dapat, misalnya, memulai denda dan menghapus token dari akun pemilik mobil.

Nubuat manusia menggunakan data yang dimasukkan oleh manusia. Mereka dianggap yang paling progresif karena pandangan independen tentang hasil dari acara tersebut.

Baru-baru ini, kami telah menyediakan alat yang memungkinkan Anda untuk menulis data oracle ke blockchain sesuai dengan spesifikasi yang diberikan. Ini berfungsi sangat sederhana: Anda hanya perlu mendaftarkan kartu oracle dengan mengisi spesifikasinya. Setelah itu, Anda dapat mempublikasikan transaksi data sesuai dengan spesifikasi ini melalui antarmuka Waves Oracles. Baca lebih lanjut tentang alat ini di dokumentasi kami .

gambar

Alat dan antarmuka terstandarisasi seperti itu menyederhanakan kehidupan pengembang dan pengguna layanan di blockchain. Alat kami berguna secara khusus untuk ramalan manusia dan dapat digunakan, misalnya, untuk merekam sertifikat atau hak cipta ke objek apa pun.

Tetapi ketika menggunakan nubuat, muncul pertanyaan kepercayaan pada informasi yang diterima dari mereka. Apakah sumbernya dapat dipercaya? Apakah data akan diterima tepat waktu? Selain itu, ada risiko bahwa oracle akan menipu pengguna dengan sengaja memberikan informasi yang salah untuk mendapatkan manfaatnya sendiri.

Sebagai contoh, pertimbangkan oracle yang menyediakan informasi tentang acara olahraga untuk pertukaran taruhan yang didesentralisasi.

Acara ini adalah pertempuran utama turnamen UFC 242, Khabib Nurmagomedov melawan Dustin Porrier. Menurut bandar taruhan, Nurmagomedov adalah favorit jelas pertandingan. Dimungkinkan untuk bertaruh pada kemenangannya dengan koefisien 1,24, yang sesuai dengan probabilitas 76%. Peluang untuk kemenangan Porrier adalah 4,26 (22%), dan probabilitas hasil seri diperkirakan oleh bandar dengan koefisien 51,0 (2%).

gambar

Script menerima taruhan pengguna pada ketiga hasil yang mungkin sampai menerima informasi dari oracle tentang hasil aktual dari pertempuran. Ini adalah satu-satunya kriteria untuk distribusi kemenangan.

Sekarang diketahui bahwa Nurmagomedov menang. Namun, bayangkan bahwa pemilik oracle yang tidak bermoral, merencanakan penipuan sebelumnya, bertaruh pada hasilnya dengan peluang paling menguntungkan - seri. Ketika bank taruhan telah mencapai volume yang besar, pemilik oracle memulai rekaman di blockchain informasi palsu tentang hasil undian yang diduga diambil dari pertempuran. Skrip pertukaran desentralisasi tidak memiliki kemampuan untuk memeriksa ulang keakuratan data yang diterima dan hanya mendistribusikan kemenangan sesuai dengan data ini.

Jika potensi keuntungan dari penipuan semacam ini lebih tinggi dari perkiraan pendapatan oracle yang jujur, sementara risiko pergi ke pengadilan rendah, kemungkinan tindakan tidak jujur ​​oleh pemilik oracle meningkat secara signifikan.

Salah satu solusi yang mungkin untuk masalah ini adalah meminta data dari beberapa nubuat dan membawa nilai yang diperoleh ke konsensus. Beberapa jenis konsensus dapat dibedakan:

  • semua nubuat memberikan informasi yang seragam
  • sebagian besar oracle memberikan informasi terpadu (2 dari 3, 3 dari 4, dll.)
  • reduksi data oracle ke nilai rata-rata (opsi dimungkinkan di mana nilai maksimum dan minimum sebelumnya dibuang)
  • semua ramalan memberikan informasi terpadu dengan deviasi yang diizinkan yang telah ditentukan sebelumnya (misalnya, nilai-nilai kutipan keuangan dari sumber yang berbeda mungkin berbeda 0,00001, dan mendapatkan kecocokan yang tepat adalah tugas yang mustahil)
  • pilih hanya nilai unik dari data yang diterima

Kembali ke pertukaran taruhan kami yang terdesentralisasi. Dengan menggunakan konsensus "3 dari 4", satu oracle yang melaporkan pengundian tidak dapat memengaruhi eksekusi skrip, asalkan ketiga oracle lainnya akan memberikan informasi yang dapat diandalkan.
Tetapi pengguna yang tidak bermoral dapat memiliki tiga dari empat nubuat, dan kemudian ia dapat memberikan mayoritas yang menentukan.

Berjuang untuk kejujuran oracle, Anda dapat memasukkan peringkat untuk mereka atau sistem denda untuk ketidakakuratan data. Anda dapat mengikuti jalur "wortel" dan menawarkan hadiah untuk keandalan. Tetapi tidak ada langkah-langkah yang sepenuhnya akan menghindari, misalnya, kenaikan peringkat atau mayoritas yang tidak adil.

Jadi, apakah layak menciptakan layanan yang kompleks, atau apakah cukup untuk memiliki alat konsensus yang memungkinkan, seperti di rak supermarket, untuk memilih, misalnya, lima nubuat yang menyediakan data yang diperlukan, menetapkan jenis konsensus dan mendapatkan hasilnya?

Misalnya, aplikasi desentralisasi membutuhkan data suhu dalam derajat Celcius. Dalam katalog oracle kami menemukan empat nubuat yang menyediakan data seperti itu, setel jenis konsensus menjadi "nilai rata-rata" dan buat permintaan.

Misalkan nubuat memberi nilai: 18, 17, 19 dan 21 derajat. Perbedaan tiga derajat bisa sangat penting untuk skrip. Layanan memproses hasilnya dan menerima nilai suhu rata-rata 18,75 derajat. Skrip aplikasi yang didesentralisasi akan menerima nomor ini dan akan bekerja dengannya.

gambar

Pada akhirnya, keputusan tetap ada pada konsumen: apakah akan mempercayai satu ramalan dan menggunakan datanya, atau untuk membangun konsensus beberapa ramalan yang dipilih atas kebijakan mereka.

Bagaimanapun, nubuat data adalah bidang yang cukup baru. Itu adalah pada tahap di mana pengguna sendiri dapat menentukan ke arah mana ia harus dikembangkan. Karena itu, kami ingin mendengar pendapat Anda. Apakah alat di atas perlu untuk ramalan? Bagaimana Anda melihat masa depan data oracle pada prinsipnya? Bagikan pendapat Anda dalam komentar dan di grup Telegram resmi kami.

Source: https://habr.com/ru/post/id471964/


All Articles