Kebanyakan blockchain mengandalkan layanan orakel untuk menarik data dunia nyata ke dalam kontrak pintar. Internet Computer dari @dfinity mengambil pendekatan berbeda, dengan membangun lapisan kepercayaan tersebut langsung ke dalam mekanisme konsensusnya sendiri.

Cara Kerja HTTPS Outcalls

Fitur ini memungkinkan kontrak pintar untuk langsung melakukan panggilan ke server HTTP(S) di luar blockchain dan menggunakan responsnya untuk pemrosesan lanjutan, tanpa perlu orakel. Saat ini fitur ini mendukung metode GET, HEAD, dan POST untuk permintaan HTTP.

Mekanismenya sederhana namun disengaja. Setiap node dalam subnet yang menjadi tempat kontrak pintar berjalan secara terpisah meminta URL yang sama. Lebih dari dua pertiga dari node-node tersebut harus menyetujui balasan sebelum kontrak dapat bertindak atasnya—ambang batas yang meniru rancangan toleransi kesalahan Bizantium (Byzantine fault-tolerance) yang lebih luas dari ICP. Protokol ini dirancang untuk tetap berjalan selama kurang dari sepertiga node dalam sebuah subnet offline atau bertindak secara berbahaya.

Pada subnet 13-node standar, artinya 13 panggilan identik langsung menghantam API target secara bersamaan. Untuk memastikan node dapat mencapai kesepakatan tentang apa yang mereka terima, fungsi transform di sisi kontrak menghapus bagian-bagian respons yang secara alami bervariasi antar permintaan, seperti timestamp, sehingga node yang jujur dapat menghasilkan hasil yang cocok. Pengembang juga disarankan menambahkan kunci deduplikasi agar server tidak memproses permintaan logis yang sama lebih dari sekali.

Mengapa Ini Penting

Arsitektur ini membawa beberapa manfaat praktis dibanding model oracle tradisional. Desentralisasi yang dicapai dengan HTTPS outcalls adalah yang terbaik yang bisa dilakukan, karena hanya melibatkan replika subnet dan layanan eksternal yang akan dipanggil, tanpa pihak ketiga seperti layanan oracle. Pengguna biasanya mendapatkan layanan yang lebih murah karena perantara oracle dihilangkan, dan latensi panggilan HTTP langsung lebih rendah dibandingkan mengarahkan permintaan melalui kontrak oracle.

Contoh penggunaannya termasuk memperoleh nilai tukar kripto secara real-time untuk membangun aplikasi DeFi dan melakukan kueri data cuaca untuk produk asuransi terdesentralisasi. HTTPS outcalls juga memungkinkan pengiriman notifikasi push dan email melalui saluran komunikasi tradisional, serta integrasi dengan blockchain lain dengan berkomunikasi dengan node cloud berbasis HTTP.

Bagi pengembang, trade-off-nya adalah API eksternal harus mampu menangani lonjakan burst dari permintaan identik yang simultan dari setiap node dalam subnet. Oleh karena itu, penggunaan deduplikasi dan transformasi respons yang tepat sangat penting untuk operasi yang andal.

Sumber:
Internet Computer: HTTPS Outcalls, Cara Kerjanya (Dokumen Resmi)
Internet Computer: Cara Menggunakan HTTPS Outcalls (Dokumen Resmi)
Berita FF: Blockchain ICP Memperkenalkan HTTPS Outcalls untuk Mendorong Pertumbuhan Web3