Kontrak Pintar Rantaian Blok dengan Solidity · Pelajaran

Penjelasan Masalah Oracle

Fahami cabaran membawa data luaran ke blockchain dan peranan oracle dalam menyelesaikan masalah ini.

Pelajaran 1 daripada 412 langkah

Penjelasan Masalah Oracle ialah pelajaran Kontrak Pintar Rantaian Blok dengan Solidity percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kontrak Pintar Rantaian Blok dengan Solidity, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kontrak Pintar Rantaian Blok dengan Solidity merangkumi sejumlah 4 pelajaran.

Apakah Masalah Oracle?

Selamat datang ke Integrasi Oracle dan Data Luaran! Dalam pelajaran ini, kita akan meneroka cabaran asas dalam rantaian blok: bagaimanakah kontrak pintar mendapatkan maklumat daripada dunia sebenar?

Cabaran ini dikenali sebagai Masalah Oracle. Masalah ini berkaitan dengan cara menghubungkan dunia terpencil rantaian blok dengan data luaran secara selamat dan boleh dipercayai.

Rantaian Blok Hidup dalam Gelembung

Anggaplah rantaian blok sebagai komputer yang sangat selamat dan berdikari. Rantaian blok direka bentuk supaya deterministik, iaitu setiap nod yang menjalankan rangkaian mesti memperoleh hasil yang sama tepat bagi setiap transaksi.

Untuk mengekalkan keadaan ini, rantaian blok terasing daripada dunia luar. Rantaian blok tidak boleh "menghubungi" laman web, API atau pangkalan data secara langsung untuk mendapatkan maklumat.

Kontrak Pintar Memerlukan Data

Walaupun pengasingan amat baik untuk keselamatan, kontrak pintar sering memerlukan data dunia sebenar untuk menjadi berguna. Bayangkan kontrak untuk:

  • Insurans: Memerlukan data cuaca untuk membayar tuntutan insurans tanaman.
  • DeFi: Memerlukan kadar pertukaran mata wang kripto untuk mengira cagaran pinjaman.
  • Permainan: Memerlukan nombor rawak untuk acara dalam permainan.
  • Rantaian Bekalan: Memerlukan kemas kini status penghantaran.

Tanpa data ini, banyak aplikasi berkuasa tidak dapat diwujudkan.

Dilema Kepercayaan

Jika kontrak pintar memerlukan data luaran, bagaimanakah kontrak itu mendapatkannya? Lebih penting lagi, bagaimanakah kontrak itu boleh mempercayai data tersebut?

Kekuatan rantaian blok berpunca daripada sifatnya yang tidak memerlukan kepercayaan. Anda tidak perlu mempercayai mana-mana pihak tunggal. Jika data luaran datang daripada satu sumber sahaja, hal ini mewujudkan titik kegagalan dan kemungkinan manipulasi.

Perkenalkan Oracle

Di sinilah oracle berperanan! Oracle pada asasnya ialah perkhidmatan pihak ketiga yang bertindak sebagai jambatan antara rantaian blok dengan dunia luar.

Oracle mendapatkan data dunia sebenar dan membawanya ke rantaian blok dengan cara yang boleh difahami serta digunakan oleh kontrak pintar.

Tugas Mudah Oracle

Pada asasnya, tugas oracle adalah mudah:

  1. Kontrak pintar meminta data luar rantaian tertentu.
  2. Oracle mendapatkan data tersebut daripada sumber luaran (API, suapan data).
  3. Oracle kemudian menghantar data tersebut kembali kepada kontrak pintar pada rantaian blok.

Hal ini kedengaran mudah, tetapi memastikan data itu tepat dan tidak boleh diubah merupakan cabaran sebenar.

Dua Jenis: Berpusat berbanding Terdesentralisasi

Oracle secara umumnya boleh dikategorikan kepada dua jenis utama:

  • Oracle Berpusat: Satu entiti atau pelayan menyediakan data.
  • Oracle Terdesentralisasi: Beberapa entiti bebas bekerjasama untuk menyediakan dan mengesahkan data.

Setiap jenis mempunyai pertukaran tersendiri dari segi keselamatan, kebolehpercayaan dan kos.

Oracle Berpusat: Satu Pautan Lemah

Walaupun lebih mudah dilaksanakan, oracle berpusat mempunyai risiko yang besar:

  • Titik Kegagalan Tunggal: Jika oracle tidak berfungsi, kontrak berhenti beroperasi.
  • Manipulasi Data: Entiti tunggal itu mungkin sengaja memberikan data yang salah.
  • Penapisan: Pemilik oracle mungkin enggan menyediakan data untuk permintaan tertentu.

Risiko ini menjejaskan sifat rantaian blok yang tidak memerlukan kepercayaan.

Kuasa Oracle Terdesentralisasi

Oracle terdesentralisasi berusaha menyelesaikan masalah rakan berpusatnya dengan:

  • Mengagregatkan Data: Mengumpulkan data daripada pelbagai sumber.
  • Mekanisme Konsensus: Memerlukan beberapa nod oracle bebas mencapai persetujuan tentang data.
  • Sistem Reputasi: Memberi insentif kepada tingkah laku jujur dan mengenakan penalti kepada pihak berniat jahat.

Pendekatan teragih ini meningkatkan keselamatan dan kebolehpercayaan, lalu menjadikan data lebih boleh dipercayai.

Ringkasan Masalah Oracle

Masalah oracle boleh dirumuskan begini: bagaimanakah kita membawa data luaran ke dalam rantaian blok dengan cara yang sama selamat, boleh dipercayai dan terdesentralisasi seperti rantaian blok itu sendiri?

Oracle ialah penyelesaiannya, tetapi oracle mesti direka dengan teliti supaya tidak memperkenalkan semula kepercayaan berpusat dan kelemahan.

Semakan Pantas

Berdasarkan perkara yang telah anda pelajari, apakah sebab utama kontrak pintar tidak boleh mengakses data dunia sebenar secara langsung?

Ulang Kaji: Merapatkan Jurang

Dalam pelajaran ini, kita meneroka Masalah Oracle yang kritikal: cabaran menghubungkan kontrak pintar dengan data dunia sebenar secara selamat.

  • Rantaian blok adalah terasing dan deterministik.
  • Kontrak pintar memerlukan data luaran untuk banyak aplikasi.
  • Oracle bertindak sebagai jambatan, mendapatkan data dan membawanya ke dalam rantaian.
  • Oracle terdesentralisasi mengurangkan risiko yang berkaitan dengan penyedia data berpusat.

Seterusnya, kita akan meneliti penyelesaian praktikal untuk mengintegrasikan oracle seperti Chainlink!

Percuma untuk bermula

Pelajari Kontrak Pintar Rantaian Blok dengan Solidity dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Penjelasan Masalah Oracle” percuma?

Ya — teks penuh “Penjelasan Masalah Oracle” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Kontrak Pintar Rantaian Blok dengan Solidity, tingkat taraf kepada CoddyKit PRO. Kursus Kontrak Pintar Rantaian Blok dengan Solidity merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Penjelasan Masalah Oracle”?

Fahami cabaran membawa data luaran ke blockchain dan peranan oracle dalam menyelesaikan masalah ini. Anda berlatih Kontrak Pintar Rantaian Blok dengan Solidity menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kontrak Pintar Rantaian Blok dengan Solidity?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kontrak Pintar Rantaian Blok dengan Solidity di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Penjelasan Masalah Oracle” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kontrak Pintar Rantaian Blok dengan Solidity ini?

Ya. Setiap pelajaran Kontrak Pintar Rantaian Blok dengan Solidity menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Penjelasan Masalah Oracle
  2. Menyepadukan Oracle Chainlink
  3. Mengendalikan Pengambilan Data Luar Rantaian
  4. Membina Kontrak Oracle Tersuai
← Kembali ke Kontrak Pintar Rantaian Blok dengan Solidity