decentralized app dapp

Decentralized App (DApp)

Decentralized App, atau Aplikasi terdesentralisasi (dapp) adalah aplikasi yang dibangun di atas jaringan terdesentralisasi yang menggabungkan kontrak pintar (smart contract) dan antarmuka pengguna. DApp merupakan level lebih tinggi dari blockchain/mata uang kripto, karena tidak sekedar mata uang, tapi juga aplikasi di atasnya. Pengembang aplikasi di atas blockchain harus memahami konsep ini.

Definisi DApp

Dapp menjalankan kode backendnya pada jaringan peer-to-peer yang terdesentralisasi. Bandingkan ini dengan aplikasi tempat kode backend berjalan di server terpusat.


Dapp dapat memiliki kode frontend dan antarmuka pengguna yang ditulis dalam bahasa apa pun (seperti aplikasi) untuk melakukan panggilan ke backendnya. Selain itu, frontendnya dapat dihosting di penyimpanan terdesentralisasi seperti IPFS.

  • Terdesentralisasi – dapps beroperasi di Ethereum, platform desentralisasi publik terbuka di mana tidak ada satu orang atau kelompok yang memiliki kendali
  • Deterministik – dapps melakukan fungsi yang sama terlepas dari lingkungan tempat mereka dieksekusi
  • Turing Lengkap – dapps dapat melakukan tindakan apa pun dengan sumber daya yang diperlukan
  • Terisolasi – dapps dieksekusi di lingkungan virtual yang dikenal sebagai Virtual Machine sehingga jika kontrak pintar memiliki bug, itu tidak akan menghambat fungsi normal jaringan blockchain

Kontrak Pintar (Smart Contract)

Untuk memperkenalkan dapps, kita perlu memperkenalkan kontrak pintar – backend dapp karena tidak ada istilah yang lebih baik. Untuk ikhtisar terperinci, buka bagian kami tentang kontrak pintar.

Kontrak pintar adalah kode yang hidup di blockchain dan berjalan persis seperti yang diprogram. Setelah kontrak pintar diterapkan di jaringan, Anda tidak dapat mengubahnya. Dapps dapat didesentralisasi karena dikendalikan oleh logika yang tertulis dalam kontrak, bukan individu atau perusahaan. Ini juga berarti Anda perlu merancang kontrak Anda dengan sangat hati-hati dan mengujinya secara menyeluruh.

Kelebihan DApp

Pengembangan DApp lebih menguntungkan daripada pengembangan aplikasi terpusat konvensional. Beberapa diantaranya:

  1. Tidak pernah mati (Zero downtime) – Setelah kontrak pintar diterapkan di blockchain, jaringan secara keseluruhan akan selalu dapat melayani klien yang ingin berinteraksi dengan kontrak tersebut. Oleh karena itu, pengguna dengan niat buruk tidak dapat meluncurkan serangan penolakan layanan yang ditargetkan ke dapps individu.
  2. Privasi – Anda tidak perlu memberikan identitas dunia nyata untuk menerapkan atau berinteraksi dengan dapp.
  3. Resistensi terhadap sensor – Tidak ada satu pun entitas di jaringan yang dapat memblokir pengguna dari mengirimkan transaksi, menyebarkan dapps, atau membaca data dari blockchain.
  4. Integritas data lengkap – Data yang disimpan di blockchain tidak dapat diubah dan tidak dapat disangkal, berkat kriptografi. Pelaku kejahatan tidak dapat memalsukan transaksi atau data lain yang telah dipublikasikan.
  5. Perhitungan tanpa kepercayaan/perilaku yang dapat diverifikasi – kontrak pintar dapat dianalisis dan dijamin untuk dieksekusi dengan cara yang dapat diprediksi, tanpa perlu memercayai otoritas pusat. Dalam model tradisional, hal ini tidak berlaku; misalnya, ketika kita menggunakan sistem perbankan online, kita harus percaya bahwa lembaga keuangan tidak akan menyalahgunakan data keuangan kita, merusak catatan, atau diretas.

Kelemahan DApp

DApp juga memiliki kelemahan, diantaranya

  • Pemeliharaan – Pemeliharaan Dapps bisa lebih sulit karena kode dan data yang dipublikasikan ke blockchain lebih sulit untuk dimodifikasi. Sulit bagi pengembang untuk membuat pembaruan pada dapps mereka (atau data dasar yang disimpan oleh dapp) setelah mereka di-deploy – bahkan jika bug atau risiko keamanan diidentifikasi di versi lama.
  • Overhead kinerja – Ada overhead kinerja yang sangat besar, dan penskalaan sangat sulit. Untuk mencapai tingkat keamanan, integritas, transparansi, dan keandalan yang dicita-citakan Ethereum, setiap node menjalankan dan menyimpan setiap transaksi. Selain itu, proof-of-work membutuhkan waktu juga. Perhitungan back-of-the-envelope menempatkan overhead pada sesuatu seperti 1.000.000x dari perhitungan standar saat ini.
  • Kemacetan jaringan – Ketika satu dapp menggunakan terlalu banyak sumber daya komputasi, seluruh jaringan akan dicadangkan. Saat ini, jaringan hanya dapat memproses sekitar 10-15 transaksi per detik; jika transaksi dikirim lebih cepat dari ini, kumpulan transaksi yang belum dikonfirmasi dapat dengan cepat membengkak.
  • Pengalaman pengguna – Mungkin lebih sulit untuk merekayasa pengalaman yang ramah pengguna karena rata-rata pengguna akhir mungkin merasa terlalu sulit untuk menyiapkan tumpukan alat yang diperlukan untuk berinteraksi dengan blockchain dengan cara yang benar-benar aman.
  • Sentralisasi – Solusi yang ramah pengguna dan ramah pengembang yang dibangun di atas lapisan dasar Ethereum mungkin akan terlihat seperti layanan terpusat. Misalnya, layanan tersebut dapat menyimpan kunci atau sisi server informasi sensitif lainnya, melayani frontend menggunakan server terpusat, atau menjalankan logika bisnis penting pada server terpusat sebelum menulis ke blockchain. Sentralisasi menghilangkan banyak (jika tidak semua) keuntungan blockchain dibandingkan model tradisional.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.