Dalam arsitektur aplikasi tradisional, pengembang biasanya mengandalkan server untuk menangani permintaan. Namun, pada jaringan Internet Computer, logika aplikasi berjalan langsung di blockchain, memberikan perspektif pengguna yang sepenuhnya baru terhadap cara aplikasi beroperasi.
Perbedaan ini utamanya mencakup tiga aspek: arsitektur aplikasi, eksekusi permintaan, dan validasi konsensus. Ketiga hal tersebut bersama-sama membentuk siklus operasional aplikasi Dfinity, mulai dari proses deployment hingga eksekusi.
Aplikasi Dfinity dibangun di atas arsitektur komputasi on-chain, yang sangat berbeda dengan aplikasi web konvensional.
Pada model tradisional, aplikasi menggunakan struktur berlapis seperti frontend, backend, dan database. Berbeda dengan itu, Dfinity mengintegrasikan seluruh fungsi ini ke dalam Canister, sehingga logika aplikasi dan data tersimpan langsung di blockchain.
Secara struktur, aplikasi Dfinity terdiri dari antarmuka frontend dan sejumlah Canister. Setiap Canister menangani logika bisnis serta penyimpanan data, sehingga ketergantungan pada server terpusat sangat minim.
Pendekatan ini memungkinkan aplikasi beroperasi sepenuhnya secara terdesentralisasi tanpa kehilangan fungsionalitas.

Pengembang melakukan deployment Canister untuk menerbitkan logika aplikasi ke dalam jaringan.
Prosesnya mencakup penulisan kode aplikasi, kompilasi menjadi Canister, dan deployment ke subnet tertentu menggunakan alat khusus. Setiap deployment memerlukan Cycles sebagai biaya sumber daya komputasi.
Terdapat tiga tahapan utama dalam deployment: pengemasan kode, alokasi resource, dan registrasi subnet. Setelah deployment selesai, Canister siap menerima permintaan pengguna.
Proses ini mengubah aplikasi dari lingkungan lokal menjadi entitas operasional di on-chain.
Canister berperan sebagai unit eksekusi utama pada aplikasi Dfinity.
Setiap Canister memuat kode dan state, sehingga dapat memproses permintaan pengguna sekaligus memperbarui data. Canister menjalankan komputasi dan menyediakan penyimpanan data yang persisten.
Masing-masing Canister bekerja layaknya microservice independen dan dapat saling berinteraksi, membentuk sistem aplikasi yang utuh.
Mekanisme ini memungkinkan blockchain menyediakan fungsi backend yang setara dengan sistem tradisional.
Permintaan pengguna dieksekusi dan diproses di subnet.
Permintaan dikirim ke subnet yang menjalankan Canister tujuan. Node-node dalam subnet kemudian bekerja sama memproses permintaan tersebut dan menghasilkan hasil eksekusi.
Setiap subnet terdiri dari sejumlah node yang berkolaborasi menangani permintaan dan menjaga konsistensi state. Hasil eksekusi kemudian dikembalikan ke pengguna.
Proses terdesentralisasi ini menjamin eksekusi permintaan berlangsung secara terdistribusi dan konsisten.
Mekanisme konsensus memastikan seluruh node menyepakati hasil eksekusi.
Node menyesuaikan state dan memvalidasi hasil komputasi berdasarkan protokol konsensus, sehingga mencegah terjadinya fork dan inkonsistensi data.
Sistem konsensus menghubungkan seluruh node dalam subnet agar state tetap seragam selama eksekusi.
Dengan mekanisme ini, blockchain mampu memberikan hasil komputasi yang andal di lingkungan terdistribusi.
Canister mendukung upgrade langsung (in-place) serta pemeliharaan berkelanjutan.
Pengembang dapat memperbarui kode Canister tanpa menghapus data yang telah ada. Cara upgrade ini mencegah hilangnya data.
Upgrade dikelola secara kolaboratif oleh modul deployment dan manajemen state, sehingga aplikasi dapat terus berkembang.
Desain ini memastikan aplikasi on-chain tetap dapat dipelihara dalam jangka panjang.
Aplikasi Dfinity berjalan melalui serangkaian tahapan berikut:
Langkah 1: Deployment Canister Pengembang melakukan deployment logika aplikasi dalam bentuk Canister dan mengalokasikan resource komputasi.
Langkah 2: Pengguna Mengirim Permintaan Pengguna berinteraksi melalui frontend untuk mengirim permintaan ke Canister.
Langkah 3: Permintaan Diteruskan ke Subnet Permintaan diteruskan ke subnet yang sesuai dan menunggu proses eksekusi.
Langkah 4: Node Mengeksekusi Logika Node dalam subnet bekerja sama menjalankan kode Canister dan memperbarui state.
Langkah 5: Konsensus Mengonfirmasi Hasil Node menggunakan mekanisme konsensus untuk memastikan hasil yang konsisten.
Langkah 6: Hasil Dikembalikan ke Pengguna Hasil yang telah diproses dikirim kembali ke pengguna, menyelesaikan siklus interaksi.
Setiap langkah melibatkan modul sistem yang berbeda, menghasilkan jalur eksekusi yang transparan dan mudah ditelusuri.
Proses ini mengonversi permintaan pengguna menjadi komputasi on-chain yang dapat diverifikasi.
Aplikasi Dfinity memanfaatkan Canister, subnet, dan mekanisme konsensus untuk membangun kerangka kerja operasional on-chain yang lengkap—memungkinkan deployment, eksekusi, dan pemeliharaan secara terdesentralisasi.
Apa itu Canister?
Canister adalah smart contract pada Dfinity yang menjalankan logika aplikasi.
Haruskah aplikasi dijalankan di dalam subnet?
Ya. Eksekusi dilakukan secara kolaboratif oleh node dalam subnet.
Bagaimana permintaan pengguna diproses?
Permintaan diproses oleh Canister dan hasilnya dikonfirmasi melalui mekanisme konsensus.
Apakah Canister bisa di-upgrade?
Ya. Proses upgrade tetap mempertahankan data asli.
Apa perbedaan utama antara Dfinity dan aplikasi tradisional?
Logika aplikasi dan data berjalan langsung di blockchain.





