Saya Frank, Insinyur Hubungan Pengembang di Chainlink Labs. Pekerjaan utama saya adalah memungkinkan lebih banyak pengembang, atau pembangun yang bersemangat dengan industri ini, untuk mempelajari lebih lanjut tentang mesin oracle. Berdasarkan smart contract di bawah infrastruktur kami saat ini, kami dapat menganggapnya sebagai smart contract hybrid. Kontrak pintar dapat diintegrasikan dengan lebih baik dengan berbagai data di dunia Web2, termasuk layanan komputasi, dan kemudian berdasarkan arsitektur ini, hal-hal yang dapat dilakukan oleh kontrak pintar pada rantai tersebut sangat diperluas.
Dalam sharing hari ini, pertama-tama saya akan memperkenalkan konsep mesin oracle, kemudian berdasarkan konsep mesin oracle, saya akan memperkenalkan secara singkat jaringan mesin oracle terdesentralisasi dan beberapa layanan yang dapat kami sediakan, termasuk layanan data dan layanan komputasi.
Apa itu oracle?
Dari Web 1 ke Web 2 ke Web 3, status jaringan dan data terus berubah. Pada awalnya Web1 merupakan layanan website yang datanya hanya dapat dibaca secara statis, kemudian berkembang ke tahap Web2, data menjadi readable, writable, dan participantable. Banyak perusahaan besar telah menciptakan kerajaan bisnis berdasarkan layanan mereka sendiri, mereka akan menyimpan semua data pengguna dalam database mereka sendiri, jika perlu, mereka benar-benar dapat memiliki dan mengubah data pengguna. Dalam hal ini, muncul pertanyaan, yaitu beberapa data yang kita buat di Internet atau di dunia maya terkadang memiliki nilai tertentu, jadi milik siapakah nilai tersebut? Berdasarkan latar belakang tersebut, kami berharap dapat menyelesaikan masalah ini dengan baik pada tahap Web 3. Semua data di tahap Web 3 tidak ada di server atau node. Ini memiliki jaringan terdesentralisasi, dan jaringan terdesentralisasi adalah sistem multi-book yang terdiri dari banyak node. Data disimpan di banyak node, dan hanya jika setiap node setuju dengan modifikasi dan penyimpanan data, data akhir dapat disimpan. Maka ini akan memberi kita keuntungan, yaitu modifikasi apa pun yang ingin kita lakukan pada data, kita perlu memodifikasinya sesuai dengan konsensus yang telah disepakati sebelumnya. Misalnya, jika saya ingin mengubah saldo dompet, jika tidak ada yang mengirimi saya uang, tidak peduli bagaimana pemilik data ingin mengubahnya, pada akhirnya dia akan gagal dalam proses konsensus, yang membuat saldo dompet tidak dapat diubah. Hanya ketika pemilik data mengirimkan transaksi yang sesuai dengan aturan, data tersebut akhirnya dapat dimodifikasi, yang membawa manfaat yang sangat jelas. Pada saat yang sama, itu juga membawa beberapa kerugian, kerugian terbesar adalah membuat sistem menjadi sistem deterministik. Artinya, karena akan ada proses konsensus sepanjang proses, itu hanya dapat melakukan operasi yang dapat diverifikasi oleh orang lain. Saat Anda mengirim operasi, orang lain perlu menjalankan operasi Anda, dan jika node lain berhasil menjalankan operasi, mereka sebenarnya dapat mengembalikan hasilnya. Adapun apakah lebih dari 50% atau 70%, itu tergantung pada algoritma konsensus. Pada akhirnya, operasi dapat ditulis ke dalam transaksi, dan transaksi dapat ditulis ke dalam blok untuk menjadi transaksi yang lengkap.
Tetapi jika kita perlu melakukan beberapa operasi non-deterministik, seperti mendapatkan beberapa data API dan menghasilkan angka acak di luar blockchain, sistem blockchain deterministik tidak dapat diselesaikan. Undian lotre kami perlu menghasilkan angka acak, atau protokol on-chain perlu mengetahui harga aset dari rantai, seperti memperoleh harga saham atau komoditas, yang merupakan operasi non-deterministik dan tidak dapat diselesaikan oleh blockchain itu sendiri . Contoh lain adalah panggilan API. Jika saya, sebagai simpul dalam jaringan, memanggil data API eksternal, dan kemudian saya memberi tahu hasilnya kepada simpul lain di jaringan, simpul lain juga akan mengeksekusinya untuk memverifikasi keaslian hasilnya. Lakukan operasi yang sama dan dapatkan hasilnya. Namun untuk API eksternal, jika orang yang berbeda mengambil API yang sama pada waktu yang berbeda, server dapat ditutup, atau layanan dapat ditangguhkan, atau data dapat berubah seiring waktu. Anda melakukan hal yang sama pada waktu yang berbeda, dan hasil yang Anda peroleh tidak konsisten. Selama hasilnya tidak konsisten, operasi terakhir tidak dapat dimasukkan ke dalam blok, dan tidak ada cara untuk menyelesaikannya. Ini setelah kami memiliki kepemilikan data, kami juga perlu menanggung beberapa kekurangan yang dibawanya.
Untuk mengatasi masalah ini, kita perlu mengandalkan oracle. Blockchain adalah sistem yang terisolasi dan deterministik, tidak dapat secara aktif memperoleh data dari rantai luar, munculnya mesin oracle adalah untuk mengatasi masalah ini. Dua atau tiga tahun yang lalu, konsep mesin oracle muncul, tetapi tidak banyak skenario yang dapat diterapkan saat itu, dan memiliki keterbatasan yang besar. Misalnya, ketika Anda ingin mendapatkan beberapa data pasar, mengunggah data saham ke jaringan blockchain, atau membuat struktur untuk menempatkan logika pada rantai untuk dieksekusi, tetapi menempatkan sisi aset pada rantai, dan melindungi kemajuan normal transaksi melalui kontrak pintar, dll., Saat ini, beberapa data perlu diperoleh dari rantai, dan sinkronisasi data perlu dilakukan secara berkala, termasuk pembayaran bank atau data ritel, dan bahkan beberapa data acara publik lainnya, seperti kondisi cuaca, geografis informasi, informasi logistik, informasi olahraga, dll. Hasil pertandingan, dll. Data ini tidak dapat diperoleh tanpa mesin oracle. Ini akan membuat ekologi pada rantai sangat terbatas. Dengan pengembangan berkelanjutan dari ekosistem Web 3, hubungan antara dua dunia Web 3 dan Web 2 akan semakin dekat. Jika kita ingin Web3 diadopsi dalam skala besar, atau digunakan oleh lebih banyak orang, itu harus menyediakan fungsi yang sangat kaya, tidak hanya terbatas pada beberapa operasi yang hanya dapat dilakukan melalui data asli pada rantai.
Mesin oracle mungkin menjadi populer pada tahun 2020, saat itu adalah DeFiSummer, dan kebanyakan orang menyadarinya. Pada awalnya, mesin oracle melakukan hal-hal yang sangat sederhana. Misalnya, jika Anda ingin mendapatkan data eksternal dan mengunggahnya ke jaringan terdesentralisasi, yaitu blockchain, cara termudah adalah membuat node terpusat di bawah rantai, yang adalah, untuk membangun server, kemudian memperoleh data melalui server, dan akhirnya menulis data ke dalam jaringan blockchain yang terduplikasi, maka model ini disebut oracle terpusat. Meskipun relatif sederhana untuk diimplementasikan, namun akan menimbulkan beberapa masalah, misalnya memiliki risiko kegagalan satu titik, yaitu node terpusat dapat menyebabkan downtime karena alasan dasarnya sendiri. Kemungkinan lain adalah jika layanan yang disediakan oleh smart contract pada rantai bergantung pada data yang disediakan oleh node terpusat, dan jika jumlah dana yang terlibat dalam smart contract pada rantai sangat besar, maka mesin oracle terpusat ini dapat lewat. Datanya sendiri yang dapat dimanipulasi untuk melancarkan serangan terhadap layanan. Selama manfaatnya cukup besar dan tidak ada cara untuk mencapai kelengkapan melalui sarana teknis, maka ini adalah satu titik kegagalan. Kami ingin menempatkan aplikasi di jaringan terdesentralisasi, termasuk Ethereum atau ekosistem Lapisan 2 lainnya. Bahkan, kami juga berharap dapat memastikan keadilan aplikasi kami, yaitu kontrak pintar, melalui ratusan atau ribuan node oracle di jaringan, dan keamanan.
Tentu saja, jika kita mengandalkan node terpusat untuk mendapatkan terminal data, meskipun aspek keamanan lainnya dapat dijamin, tetapi terminal data aset yang paling penting tidak dapat menjamin keamanan, itu akan membuat seluruh dApp menjadi tidak berarti. Jadi setelah mesin oracle terpusat, ada jaringan mesin oracle terdesentralisasi, yang dapat dengan baik mengatasi risiko satu titik kegagalan yang baru saja kami sebutkan. Perbedaan terbesar dalam jaringan oracle terdesentralisasi bukanlah bahwa satu node oracle menyediakan layanan ke jaringan terdesentralisasi, tetapi melalui jaringan oracle terdesentralisasi, juga dapat dipahami sebagai semacam Layer2, yaitu setiap node terdesentralisasi di jaringan terdesentralisasi jaringan oracle dapat memperoleh data melalui sumber data mereka sendiri, dan setelah mendapatkan hasilnya, mereka dapat melakukan agregasi data dengan jaringan terdesentralisasi lainnya, yang juga dapat dipahami sebagai proses konsensus, termasuk memeriksa apakah data tersebut ada node, atau apakah data yang dikembalikan menyimpang terlalu jauh dari nilai rata-rata, atau cukup buat nilai rata-rata, lalu kumpulkan data, dll., lalu tulis ke jaringan terdesentralisasi. Salah satu manfaat yang dibawa oleh metode ini adalah secara teknis dapat menjamin bahwa layanan tidak akan terganggu kecuali semua node dalam jaringan oracle yang terdesentralisasi berhenti melayani, tetapi kemungkinan ini sangat rendah. Selain itu, di sisi data juga dapat dijamin bahwa data yang diberikan oleh oracle ke kontrak pada rantai tidak dikontrol oleh satu node, tetapi oleh banyak node. Jika Anda ingin memanipulasi data untuk melancarkan serangan, biayanya akan sangat tinggi, yang setara dengan menyerang Layer 2, atau bahkan jaringan terdesentralisasi seperti Ethereum, yang pada dasarnya tidak mungkin berhasil.
Jaringan terdesentralisasi dapat sangat meningkatkan keamanan dan keadilan data yang diterima oleh kontrak pintar. Untuk pengguna, kami hanyalah jaringan oracle terdesentralisasi, tetapi berdasarkan jaringan oracle terdesentralisasi, kami dapat menyediakan beberapa layanan lain, seperti layanan data, layanan komputasi, dan layanan lintas rantai. Jika didasarkan pada mesin oracle untuk menyediakan data ke jaringan, sebenarnya ada beberapa operasi yang lebih kompleks dan mahal yang juga dapat diselesaikan secara off-chain, yaitu dikemas ke jaringan oracle off-chain untuk perhitungan , dan kemudian ditulis kembali ke perbandingan keamanan blockchain tinggi. Jika kami dapat memperoleh data dari off-chain, kami juga dapat memperoleh data dari rantai lain dan menulisnya ke blockchain ini, yang sebenarnya melibatkan lintas rantai. Selama keamanan jaringan oracle terdesentralisasi cukup kuat, itu dapat menjamin keamanan layanan data, layanan komputasi, dan layanan lintas rantai yang didasarkan padanya. Chainlink menyediakan berbagai layanan berdasarkan oracle terdesentralisasi, yang dapat menghubungkan data Web 3 dan Web 2, termasuk data Layer 1 dan Layer 2, sehingga setiap orang dapat memperoleh sebanyak mungkin data dan layanan yang sesuai.
Layanan apa saja yang disediakan oleh oracle Chainlink?
Selanjutnya, izinkan saya memperkenalkan secara singkat layanan yang disediakan oleh oracle Chainlink. Tentu saja, ada banyak layanan berbasis Chainlink, dan saya akan membagikan beberapa layanan dengan skenario yang lebih dapat diterapkan.
Jika Anda ingin membuat beberapa inovasi di bidang DeFi, GameFi, NFT, dan SocialFi di masa mendatang, kemungkinan besar Anda memerlukan oracle untuk mendapatkan data. Karena Anda harus mendapatkan data rantai dengan cara yang sangat terdesentralisasi dan aman, dan menuliskannya kembali ke kontrak pintar Anda di rantai tersebut.
Layanan yang pertama adalah price feed, yang mungkin juga merupakan istilah yang sering Anda dengar sebelumnya, dan akan meledak di DeFiSummer pada tahun 2020. Pada tahun 2020, banyak proyek DeFi muncul, dimulai dengan Uniswap, diikuti oleh kontrak pinjaman Compound, dan kemudian proyek aset sintetis Sintetis dan aplikasi lainnya Mereka semua memiliki permintaan besar untuk data off-chain, karena hanya data berdasarkan keamanan yang dapat dibuat. digunakan Data dapat digunakan oleh pengguna secara terdesentralisasi melalui kontrak, dan peran penting dimainkan oleh layanan umpan harga oracle.
Gambar di atas adalah flowchart dasar dari layanan price feed, yang mencakup 3 peserta penting. Yang pertama adalah jaringan terdesentralisasi dari mesin oracle yang baru saja kami sebutkan; yang kedua adalah penyedia data, yang mungkin merupakan pertukaran atau lembaga otoritatif besar lainnya, yang semuanya dapat berfungsi sebagai penyedia data; yang ketiga adalah kontrak pengguna. Proses yang ditunjukkan pada gambar di atas sangat sederhana. Setiap penyedia data dapat menyediakan node jaringan oracle Chanlink melalui antarmuka atau layanan sumber data, dan setiap node jaringan oracle juga dapat memperoleh data sesuai dengan layanannya sendiri. , dan kemudian melalui proses agregasi, data yang diperoleh dari masing-masing saluran dituliskan ke dalam kontrak verifikasi yang disebarkan pada rantai tersebut. Jika lolos verifikasi, maka data tersebut dapat direkam dan dapat digunakan oleh pengguna di kemudian hari.Inilah keseluruhan prosesnya. Klien hanya perlu menggunakan kontrak untuk mendapatkan dan menggunakan banyak data.
Ada banyak kasus penggunaan untuk pemberian harga, seperti Compound, Uniswap, dan Sintetis yang baru saja kami sebutkan, mereka perlu memetakan aset di Web2 ke Web3, dan mereka memerlukan mekanisme eksternal untuk memberikan harga aset. Sama seperti stablecoin, ini didasarkan pada berapa banyak aset yang dapat dikeluarkan sebanyak mungkin stablecoin, dan harga asetnya juga harus diperoleh berdasarkan mesin oracle. Selain itu, seperti beberapa platform manajemen aset dan aplikasi perdagangan derivatif populer, mereka sangat bergantung pada harga, jadi ini sebenarnya adalah pengguna penting dari layanan pemberian harga. Dari sudut pandang tren, permintaan akan layanan pakan harga meningkat secara eksponensial. Penggunaan data telah berkembang bahkan di pasar yang kurang aktif.
Selanjutnya, saya akan memperkenalkan layanan kedua yang lebih khas, Any API Sederhananya, ini membantu smart contract pada rantai untuk mendapatkan beberapa data non-standar, seperti beberapa data long-tail. Data ini mungkin hanya tersedia untuk orang tertentu atau kontrak tertentu, tetapi bukan data standar seperti harga token atau harga aset. Banyak DApps memerlukan data non-standar.Misalnya, aplikasi bisnis asuransi Web 3 perlu mendapatkan data cuaca atau data penundaan penerbangan. Misalnya, gas rumah kaca dapat melakukan beberapa proyek yang mirip dengan ESG, termasuk permainan olahraga pemilu yang dapat digabungkan dengan pasar prediksi. Kami menyediakan pasar data berdasarkan API Apa Pun. Di setiap pasar data, ada berbagai penyedia data yang menyediakan layanan eksternal berdasarkan data mereka sendiri. Selama pengguna mengirimkan permintaan, dia dapat menulis data kembali ke kontrak pengguna sesuai dengan persyaratan layanan. . Baik penyedia data maupun penerima data ditentukan oleh pasar. Ada pasar untuk pengguna dan penyedia data, dan Chainlink tidak secara resmi memonopoli semua data dan kemudian menyediakan data ke rantai tersebut.
Alur kerja Any API dan price feed sebenarnya cukup konsisten. Kontrak pertama kali mengirimkan permintaan, kemudian permintaan tersebut akan ditemukan oleh node Chanlink. Setelah ditemukan, Chanlink dapat memilih data yang diperlukan sesuai dengan permintaan, lalu menuliskannya kembali ke blockchain. AnyAPI dapat menyediakan berbagai data kepada pengguna, tetapi memiliki karakteristik bahwa meskipun dibangun relatif cepat, ia disediakan oleh satu node. Apa yang ingin dilakukan AnyAPI adalah mendapatkan data secepat mungkin dengan cara yang sederhana, alih-alih mendapatkan data melalui mesin oracle jaringan terdesentralisasi yang kami sebutkan sebelumnya.
Belakangan, karena keragaman persyaratan data meningkat, banyak data non-standar juga diharapkan dapat ditulis kembali ke rantai secara terdesentralisasi. Kami juga membuat layanan baru yang disebut Fungsi pada awal April tahun ini Sederhananya, ini mengeksekusi permintaan pengguna apa pun melalui jaringan oracle yang terdesentralisasi. Pengguna dapat menggunakan beberapa bahasa pemrograman tingkat lanjut seperti Java untuk menulis program operasi, tidak lagi hanya dapat ditulis dalam bahasa Solidity, program yang ditulis dalam Java pasti lebih banyak daripada Solidity. Layanan Fungsi dapat mengenkapsulasi program tertulis ke dalam permintaan dan mengirimkannya ke seluruh jaringan oracle. Setiap node dalam jaringan akan melakukan operasi yang sama, yang dapat berupa layanan komputasi, layanan akuisisi data, atau layanan lainnya. Setelah setiap node dieksekusi dan mendapatkan hasilnya, ia melewati proses agregasi yang baru saja kita sebutkan, lalu menuliskannya kembali ke dalam kontrak pintar.
Dibandingkan dengan harga pakan, tingkat kebebasannya sangat tinggi. Artinya, smart contract dapat diberi antarmuka eksternal untuk menggunakan metode apa pun yang diinginkannya. Itu juga dapat menulis beberapa logika yang harus dilakukannya ke dalam kontrak, dan kemudian tidak dieksekusi oleh blockchain, tetapi oleh mesin oracle, yang setara dengan langsung menyematkan layanan mesin oracle ke dalam kontrak pintar, menjadi hibrida jenis kontrak pintar. Jika Anda melakukannya dengan cara ini, maka eksekusi Anda dijamin melalui jaringan terdesentralisasi, dan operasi non-deterministik Anda adalah operasi yang tidak dapat dilakukan di blockchain, dan dapat dilakukan melalui mesin oracle terdesentralisasi Jaringan mengeksekusi dan mengembalikan hasilnya . Secara keseluruhan, ini dapat sangat meningkatkan fungsionalitas kontrak pintar. Fungsi yang dapat dilakukannya akan lebih banyak dari sebelumnya, dan juga sangat mudah diterapkan di sisi klien. Anda hanya perlu menambahkan dua fungsi ke kontrak Anda, dan Anda dapat langsung menggunakan jaringan oracle terdesentralisasi sebagai bagian dari smart Anda kontrak. penggunaan Dan itu juga sangat ramah untuk pemrogram Web2 tradisional, karena logika eksekusi dapat diselesaikan melalui bahasa pemrograman tradisional. Keseluruhan proses tidak berubah. Permintaan dikirim, kemudian dikirim ke jaringan oracle terdesentralisasi, dikumpulkan setelah eksekusi, dan akhirnya ditulis kembali ke kontrak pintar pengguna.
Di atas adalah apa yang saya bagikan tentang mesin oracle dan beberapa layanan yang dapat disediakan oleh jaringan terdesentralisasi berdasarkan mesin oracle.
Lihat Asli
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
Insinyur Chainlink: Bagaimana Oracles Menghubungkan Web2 dan Web3
Berbicara: Frank, Developer Relations Engineer, Chainlink Labs
Organisasi: aididiaojp.eth, Foresight News
Saya Frank, Insinyur Hubungan Pengembang di Chainlink Labs. Pekerjaan utama saya adalah memungkinkan lebih banyak pengembang, atau pembangun yang bersemangat dengan industri ini, untuk mempelajari lebih lanjut tentang mesin oracle. Berdasarkan smart contract di bawah infrastruktur kami saat ini, kami dapat menganggapnya sebagai smart contract hybrid. Kontrak pintar dapat diintegrasikan dengan lebih baik dengan berbagai data di dunia Web2, termasuk layanan komputasi, dan kemudian berdasarkan arsitektur ini, hal-hal yang dapat dilakukan oleh kontrak pintar pada rantai tersebut sangat diperluas.
Dalam sharing hari ini, pertama-tama saya akan memperkenalkan konsep mesin oracle, kemudian berdasarkan konsep mesin oracle, saya akan memperkenalkan secara singkat jaringan mesin oracle terdesentralisasi dan beberapa layanan yang dapat kami sediakan, termasuk layanan data dan layanan komputasi.
Apa itu oracle?
Dari Web 1 ke Web 2 ke Web 3, status jaringan dan data terus berubah. Pada awalnya Web1 merupakan layanan website yang datanya hanya dapat dibaca secara statis, kemudian berkembang ke tahap Web2, data menjadi readable, writable, dan participantable. Banyak perusahaan besar telah menciptakan kerajaan bisnis berdasarkan layanan mereka sendiri, mereka akan menyimpan semua data pengguna dalam database mereka sendiri, jika perlu, mereka benar-benar dapat memiliki dan mengubah data pengguna. Dalam hal ini, muncul pertanyaan, yaitu beberapa data yang kita buat di Internet atau di dunia maya terkadang memiliki nilai tertentu, jadi milik siapakah nilai tersebut? Berdasarkan latar belakang tersebut, kami berharap dapat menyelesaikan masalah ini dengan baik pada tahap Web 3. Semua data di tahap Web 3 tidak ada di server atau node. Ini memiliki jaringan terdesentralisasi, dan jaringan terdesentralisasi adalah sistem multi-book yang terdiri dari banyak node. Data disimpan di banyak node, dan hanya jika setiap node setuju dengan modifikasi dan penyimpanan data, data akhir dapat disimpan. Maka ini akan memberi kita keuntungan, yaitu modifikasi apa pun yang ingin kita lakukan pada data, kita perlu memodifikasinya sesuai dengan konsensus yang telah disepakati sebelumnya. Misalnya, jika saya ingin mengubah saldo dompet, jika tidak ada yang mengirimi saya uang, tidak peduli bagaimana pemilik data ingin mengubahnya, pada akhirnya dia akan gagal dalam proses konsensus, yang membuat saldo dompet tidak dapat diubah. Hanya ketika pemilik data mengirimkan transaksi yang sesuai dengan aturan, data tersebut akhirnya dapat dimodifikasi, yang membawa manfaat yang sangat jelas. Pada saat yang sama, itu juga membawa beberapa kerugian, kerugian terbesar adalah membuat sistem menjadi sistem deterministik. Artinya, karena akan ada proses konsensus sepanjang proses, itu hanya dapat melakukan operasi yang dapat diverifikasi oleh orang lain. Saat Anda mengirim operasi, orang lain perlu menjalankan operasi Anda, dan jika node lain berhasil menjalankan operasi, mereka sebenarnya dapat mengembalikan hasilnya. Adapun apakah lebih dari 50% atau 70%, itu tergantung pada algoritma konsensus. Pada akhirnya, operasi dapat ditulis ke dalam transaksi, dan transaksi dapat ditulis ke dalam blok untuk menjadi transaksi yang lengkap.
Tetapi jika kita perlu melakukan beberapa operasi non-deterministik, seperti mendapatkan beberapa data API dan menghasilkan angka acak di luar blockchain, sistem blockchain deterministik tidak dapat diselesaikan. Undian lotre kami perlu menghasilkan angka acak, atau protokol on-chain perlu mengetahui harga aset dari rantai, seperti memperoleh harga saham atau komoditas, yang merupakan operasi non-deterministik dan tidak dapat diselesaikan oleh blockchain itu sendiri . Contoh lain adalah panggilan API. Jika saya, sebagai simpul dalam jaringan, memanggil data API eksternal, dan kemudian saya memberi tahu hasilnya kepada simpul lain di jaringan, simpul lain juga akan mengeksekusinya untuk memverifikasi keaslian hasilnya. Lakukan operasi yang sama dan dapatkan hasilnya. Namun untuk API eksternal, jika orang yang berbeda mengambil API yang sama pada waktu yang berbeda, server dapat ditutup, atau layanan dapat ditangguhkan, atau data dapat berubah seiring waktu. Anda melakukan hal yang sama pada waktu yang berbeda, dan hasil yang Anda peroleh tidak konsisten. Selama hasilnya tidak konsisten, operasi terakhir tidak dapat dimasukkan ke dalam blok, dan tidak ada cara untuk menyelesaikannya. Ini setelah kami memiliki kepemilikan data, kami juga perlu menanggung beberapa kekurangan yang dibawanya.
Untuk mengatasi masalah ini, kita perlu mengandalkan oracle. Blockchain adalah sistem yang terisolasi dan deterministik, tidak dapat secara aktif memperoleh data dari rantai luar, munculnya mesin oracle adalah untuk mengatasi masalah ini. Dua atau tiga tahun yang lalu, konsep mesin oracle muncul, tetapi tidak banyak skenario yang dapat diterapkan saat itu, dan memiliki keterbatasan yang besar. Misalnya, ketika Anda ingin mendapatkan beberapa data pasar, mengunggah data saham ke jaringan blockchain, atau membuat struktur untuk menempatkan logika pada rantai untuk dieksekusi, tetapi menempatkan sisi aset pada rantai, dan melindungi kemajuan normal transaksi melalui kontrak pintar, dll., Saat ini, beberapa data perlu diperoleh dari rantai, dan sinkronisasi data perlu dilakukan secara berkala, termasuk pembayaran bank atau data ritel, dan bahkan beberapa data acara publik lainnya, seperti kondisi cuaca, geografis informasi, informasi logistik, informasi olahraga, dll. Hasil pertandingan, dll. Data ini tidak dapat diperoleh tanpa mesin oracle. Ini akan membuat ekologi pada rantai sangat terbatas. Dengan pengembangan berkelanjutan dari ekosistem Web 3, hubungan antara dua dunia Web 3 dan Web 2 akan semakin dekat. Jika kita ingin Web3 diadopsi dalam skala besar, atau digunakan oleh lebih banyak orang, itu harus menyediakan fungsi yang sangat kaya, tidak hanya terbatas pada beberapa operasi yang hanya dapat dilakukan melalui data asli pada rantai.
Mesin oracle mungkin menjadi populer pada tahun 2020, saat itu adalah DeFiSummer, dan kebanyakan orang menyadarinya. Pada awalnya, mesin oracle melakukan hal-hal yang sangat sederhana. Misalnya, jika Anda ingin mendapatkan data eksternal dan mengunggahnya ke jaringan terdesentralisasi, yaitu blockchain, cara termudah adalah membuat node terpusat di bawah rantai, yang adalah, untuk membangun server, kemudian memperoleh data melalui server, dan akhirnya menulis data ke dalam jaringan blockchain yang terduplikasi, maka model ini disebut oracle terpusat. Meskipun relatif sederhana untuk diimplementasikan, namun akan menimbulkan beberapa masalah, misalnya memiliki risiko kegagalan satu titik, yaitu node terpusat dapat menyebabkan downtime karena alasan dasarnya sendiri. Kemungkinan lain adalah jika layanan yang disediakan oleh smart contract pada rantai bergantung pada data yang disediakan oleh node terpusat, dan jika jumlah dana yang terlibat dalam smart contract pada rantai sangat besar, maka mesin oracle terpusat ini dapat lewat. Datanya sendiri yang dapat dimanipulasi untuk melancarkan serangan terhadap layanan. Selama manfaatnya cukup besar dan tidak ada cara untuk mencapai kelengkapan melalui sarana teknis, maka ini adalah satu titik kegagalan. Kami ingin menempatkan aplikasi di jaringan terdesentralisasi, termasuk Ethereum atau ekosistem Lapisan 2 lainnya. Bahkan, kami juga berharap dapat memastikan keadilan aplikasi kami, yaitu kontrak pintar, melalui ratusan atau ribuan node oracle di jaringan, dan keamanan.
Tentu saja, jika kita mengandalkan node terpusat untuk mendapatkan terminal data, meskipun aspek keamanan lainnya dapat dijamin, tetapi terminal data aset yang paling penting tidak dapat menjamin keamanan, itu akan membuat seluruh dApp menjadi tidak berarti. Jadi setelah mesin oracle terpusat, ada jaringan mesin oracle terdesentralisasi, yang dapat dengan baik mengatasi risiko satu titik kegagalan yang baru saja kami sebutkan. Perbedaan terbesar dalam jaringan oracle terdesentralisasi bukanlah bahwa satu node oracle menyediakan layanan ke jaringan terdesentralisasi, tetapi melalui jaringan oracle terdesentralisasi, juga dapat dipahami sebagai semacam Layer2, yaitu setiap node terdesentralisasi di jaringan terdesentralisasi jaringan oracle dapat memperoleh data melalui sumber data mereka sendiri, dan setelah mendapatkan hasilnya, mereka dapat melakukan agregasi data dengan jaringan terdesentralisasi lainnya, yang juga dapat dipahami sebagai proses konsensus, termasuk memeriksa apakah data tersebut ada node, atau apakah data yang dikembalikan menyimpang terlalu jauh dari nilai rata-rata, atau cukup buat nilai rata-rata, lalu kumpulkan data, dll., lalu tulis ke jaringan terdesentralisasi. Salah satu manfaat yang dibawa oleh metode ini adalah secara teknis dapat menjamin bahwa layanan tidak akan terganggu kecuali semua node dalam jaringan oracle yang terdesentralisasi berhenti melayani, tetapi kemungkinan ini sangat rendah. Selain itu, di sisi data juga dapat dijamin bahwa data yang diberikan oleh oracle ke kontrak pada rantai tidak dikontrol oleh satu node, tetapi oleh banyak node. Jika Anda ingin memanipulasi data untuk melancarkan serangan, biayanya akan sangat tinggi, yang setara dengan menyerang Layer 2, atau bahkan jaringan terdesentralisasi seperti Ethereum, yang pada dasarnya tidak mungkin berhasil.
Jaringan terdesentralisasi dapat sangat meningkatkan keamanan dan keadilan data yang diterima oleh kontrak pintar. Untuk pengguna, kami hanyalah jaringan oracle terdesentralisasi, tetapi berdasarkan jaringan oracle terdesentralisasi, kami dapat menyediakan beberapa layanan lain, seperti layanan data, layanan komputasi, dan layanan lintas rantai. Jika didasarkan pada mesin oracle untuk menyediakan data ke jaringan, sebenarnya ada beberapa operasi yang lebih kompleks dan mahal yang juga dapat diselesaikan secara off-chain, yaitu dikemas ke jaringan oracle off-chain untuk perhitungan , dan kemudian ditulis kembali ke perbandingan keamanan blockchain tinggi. Jika kami dapat memperoleh data dari off-chain, kami juga dapat memperoleh data dari rantai lain dan menulisnya ke blockchain ini, yang sebenarnya melibatkan lintas rantai. Selama keamanan jaringan oracle terdesentralisasi cukup kuat, itu dapat menjamin keamanan layanan data, layanan komputasi, dan layanan lintas rantai yang didasarkan padanya. Chainlink menyediakan berbagai layanan berdasarkan oracle terdesentralisasi, yang dapat menghubungkan data Web 3 dan Web 2, termasuk data Layer 1 dan Layer 2, sehingga setiap orang dapat memperoleh sebanyak mungkin data dan layanan yang sesuai.
Layanan apa saja yang disediakan oleh oracle Chainlink?
Selanjutnya, izinkan saya memperkenalkan secara singkat layanan yang disediakan oleh oracle Chainlink. Tentu saja, ada banyak layanan berbasis Chainlink, dan saya akan membagikan beberapa layanan dengan skenario yang lebih dapat diterapkan.
Jika Anda ingin membuat beberapa inovasi di bidang DeFi, GameFi, NFT, dan SocialFi di masa mendatang, kemungkinan besar Anda memerlukan oracle untuk mendapatkan data. Karena Anda harus mendapatkan data rantai dengan cara yang sangat terdesentralisasi dan aman, dan menuliskannya kembali ke kontrak pintar Anda di rantai tersebut.
Layanan yang pertama adalah price feed, yang mungkin juga merupakan istilah yang sering Anda dengar sebelumnya, dan akan meledak di DeFiSummer pada tahun 2020. Pada tahun 2020, banyak proyek DeFi muncul, dimulai dengan Uniswap, diikuti oleh kontrak pinjaman Compound, dan kemudian proyek aset sintetis Sintetis dan aplikasi lainnya Mereka semua memiliki permintaan besar untuk data off-chain, karena hanya data berdasarkan keamanan yang dapat dibuat. digunakan Data dapat digunakan oleh pengguna secara terdesentralisasi melalui kontrak, dan peran penting dimainkan oleh layanan umpan harga oracle.
Gambar di atas adalah flowchart dasar dari layanan price feed, yang mencakup 3 peserta penting. Yang pertama adalah jaringan terdesentralisasi dari mesin oracle yang baru saja kami sebutkan; yang kedua adalah penyedia data, yang mungkin merupakan pertukaran atau lembaga otoritatif besar lainnya, yang semuanya dapat berfungsi sebagai penyedia data; yang ketiga adalah kontrak pengguna. Proses yang ditunjukkan pada gambar di atas sangat sederhana. Setiap penyedia data dapat menyediakan node jaringan oracle Chanlink melalui antarmuka atau layanan sumber data, dan setiap node jaringan oracle juga dapat memperoleh data sesuai dengan layanannya sendiri. , dan kemudian melalui proses agregasi, data yang diperoleh dari masing-masing saluran dituliskan ke dalam kontrak verifikasi yang disebarkan pada rantai tersebut. Jika lolos verifikasi, maka data tersebut dapat direkam dan dapat digunakan oleh pengguna di kemudian hari.Inilah keseluruhan prosesnya. Klien hanya perlu menggunakan kontrak untuk mendapatkan dan menggunakan banyak data.
Ada banyak kasus penggunaan untuk pemberian harga, seperti Compound, Uniswap, dan Sintetis yang baru saja kami sebutkan, mereka perlu memetakan aset di Web2 ke Web3, dan mereka memerlukan mekanisme eksternal untuk memberikan harga aset. Sama seperti stablecoin, ini didasarkan pada berapa banyak aset yang dapat dikeluarkan sebanyak mungkin stablecoin, dan harga asetnya juga harus diperoleh berdasarkan mesin oracle. Selain itu, seperti beberapa platform manajemen aset dan aplikasi perdagangan derivatif populer, mereka sangat bergantung pada harga, jadi ini sebenarnya adalah pengguna penting dari layanan pemberian harga. Dari sudut pandang tren, permintaan akan layanan pakan harga meningkat secara eksponensial. Penggunaan data telah berkembang bahkan di pasar yang kurang aktif.
Selanjutnya, saya akan memperkenalkan layanan kedua yang lebih khas, Any API Sederhananya, ini membantu smart contract pada rantai untuk mendapatkan beberapa data non-standar, seperti beberapa data long-tail. Data ini mungkin hanya tersedia untuk orang tertentu atau kontrak tertentu, tetapi bukan data standar seperti harga token atau harga aset. Banyak DApps memerlukan data non-standar.Misalnya, aplikasi bisnis asuransi Web 3 perlu mendapatkan data cuaca atau data penundaan penerbangan. Misalnya, gas rumah kaca dapat melakukan beberapa proyek yang mirip dengan ESG, termasuk permainan olahraga pemilu yang dapat digabungkan dengan pasar prediksi. Kami menyediakan pasar data berdasarkan API Apa Pun. Di setiap pasar data, ada berbagai penyedia data yang menyediakan layanan eksternal berdasarkan data mereka sendiri. Selama pengguna mengirimkan permintaan, dia dapat menulis data kembali ke kontrak pengguna sesuai dengan persyaratan layanan. . Baik penyedia data maupun penerima data ditentukan oleh pasar. Ada pasar untuk pengguna dan penyedia data, dan Chainlink tidak secara resmi memonopoli semua data dan kemudian menyediakan data ke rantai tersebut.
Alur kerja Any API dan price feed sebenarnya cukup konsisten. Kontrak pertama kali mengirimkan permintaan, kemudian permintaan tersebut akan ditemukan oleh node Chanlink. Setelah ditemukan, Chanlink dapat memilih data yang diperlukan sesuai dengan permintaan, lalu menuliskannya kembali ke blockchain. AnyAPI dapat menyediakan berbagai data kepada pengguna, tetapi memiliki karakteristik bahwa meskipun dibangun relatif cepat, ia disediakan oleh satu node. Apa yang ingin dilakukan AnyAPI adalah mendapatkan data secepat mungkin dengan cara yang sederhana, alih-alih mendapatkan data melalui mesin oracle jaringan terdesentralisasi yang kami sebutkan sebelumnya.
Belakangan, karena keragaman persyaratan data meningkat, banyak data non-standar juga diharapkan dapat ditulis kembali ke rantai secara terdesentralisasi. Kami juga membuat layanan baru yang disebut Fungsi pada awal April tahun ini Sederhananya, ini mengeksekusi permintaan pengguna apa pun melalui jaringan oracle yang terdesentralisasi. Pengguna dapat menggunakan beberapa bahasa pemrograman tingkat lanjut seperti Java untuk menulis program operasi, tidak lagi hanya dapat ditulis dalam bahasa Solidity, program yang ditulis dalam Java pasti lebih banyak daripada Solidity. Layanan Fungsi dapat mengenkapsulasi program tertulis ke dalam permintaan dan mengirimkannya ke seluruh jaringan oracle. Setiap node dalam jaringan akan melakukan operasi yang sama, yang dapat berupa layanan komputasi, layanan akuisisi data, atau layanan lainnya. Setelah setiap node dieksekusi dan mendapatkan hasilnya, ia melewati proses agregasi yang baru saja kita sebutkan, lalu menuliskannya kembali ke dalam kontrak pintar.
Dibandingkan dengan harga pakan, tingkat kebebasannya sangat tinggi. Artinya, smart contract dapat diberi antarmuka eksternal untuk menggunakan metode apa pun yang diinginkannya. Itu juga dapat menulis beberapa logika yang harus dilakukannya ke dalam kontrak, dan kemudian tidak dieksekusi oleh blockchain, tetapi oleh mesin oracle, yang setara dengan langsung menyematkan layanan mesin oracle ke dalam kontrak pintar, menjadi hibrida jenis kontrak pintar. Jika Anda melakukannya dengan cara ini, maka eksekusi Anda dijamin melalui jaringan terdesentralisasi, dan operasi non-deterministik Anda adalah operasi yang tidak dapat dilakukan di blockchain, dan dapat dilakukan melalui mesin oracle terdesentralisasi Jaringan mengeksekusi dan mengembalikan hasilnya . Secara keseluruhan, ini dapat sangat meningkatkan fungsionalitas kontrak pintar. Fungsi yang dapat dilakukannya akan lebih banyak dari sebelumnya, dan juga sangat mudah diterapkan di sisi klien. Anda hanya perlu menambahkan dua fungsi ke kontrak Anda, dan Anda dapat langsung menggunakan jaringan oracle terdesentralisasi sebagai bagian dari smart Anda kontrak. penggunaan Dan itu juga sangat ramah untuk pemrogram Web2 tradisional, karena logika eksekusi dapat diselesaikan melalui bahasa pemrograman tradisional. Keseluruhan proses tidak berubah. Permintaan dikirim, kemudian dikirim ke jaringan oracle terdesentralisasi, dikumpulkan setelah eksekusi, dan akhirnya ditulis kembali ke kontrak pintar pengguna.
Di atas adalah apa yang saya bagikan tentang mesin oracle dan beberapa layanan yang dapat disediakan oleh jaringan terdesentralisasi berdasarkan mesin oracle.