Komposabilitas menjelaskan bagaimana komponen yang dikembangkan secara terpisah dapat bekerja bersama melalui antarmuka yang kompatibel. Dalam Web3, aplikasi dapat memanggil smart contract yang ada dan memakai token, likuiditas, atau fungsi pencatatannya. Pengembang dapat membangun di atas komponen yang mapan tanpa membuat ulang setiap layanan dasar.
Menggabungkan tindakan dalam satu transaksi
Misalnya, kontrak dapat menukar token melalui bursa terdesentralisasi lalu menyetorkan token yang diterima ke protokol pinjaman. Jika tindakan berlangsung dalam satu transaksi dan langkah wajib gagal, transaksi dapat membatalkan perubahan kontrak sebelumnya. Eksekusi seluruhnya berhasil atau seluruhnya dibatalkan ini disebut komposabilitas atomik.
Kompatibilitas tetap penting. Perilaku token, izin akses, likuiditas tersedia, dan antarmuka kontrak harus sesuai dengan alur yang dimaksud. Berada di blockchain yang sama tidak otomatis membuat semua kontrak kompatibel, dan transaksi terpisah tidak mewarisi jaminan atomik yang sama.
Penggunaan ulang juga menciptakan ketergantungan
Aplikasi gabungan bergantung pada perilaku komponennya. Kegagalan oracle, peningkatan kontrak, penghentian penarikan, atau eksploitasi protokol dapat memengaruhi aplikasi yang dibangun di atasnya.
Karena itu, tinjauan keamanan harus mempertimbangkan interaksi gabungan, bukan hanya setiap komponen secara terpisah. Komposabilitas memungkinkan layanan berguna dan pengembangan lebih cepat, tetapi juga dapat menghubungkan risiko yang tampak terpisah ketika protokol diperiksa satu per satu.