#dusk $DUSK @Dusk Saya masih belum benar-benar paham apa sebenarnya posisi dari “DuskEVM” di dalam Dusk. Minggu ini saya sengaja meluangkan waktu untuk meninjangnya secara terpisah.
Secara sederhana, DuskEVM adalah lapisan di ekosistem Dusk yang khusus dibuat untuk mengakomodasi cara pengembangan kontrak pintar ala Ethereum. Bagi pengembang yang sudah terbiasa dengan bahasa dan tool dari Ethereum, mereka tidak perlu mempelajari seluruh rangkaian hal baru untuk bisa mendeploy aplikasi ke Dusk. DuskEVM tidak merawat sendiri buku besar yang sepenuhnya independen beserta logika penyelesaian (final settlement) yang benar-benar berbeda. Data transaksi yang disimpan sebagai bukti dan konfirmasi final justru diselesaikan oleh lapisan penyelesaian (settlement) di bagian bawah Dusk. Jadi, DuskEVM lebih mirip lapisan yang dipasang di atas untuk menangani eksekusi kontrak pintar.
Awalnya saya mengira itu adalah sebuah chain independen yang sejajar, dengan lapisan settlement dasar sebagai dua buku besar yang tidak saling bergantung—masing-masing berjalan sendiri. Setelah membaca kembali beberapa kali dokumen arsitektur resmi, barulah saya menyadari bahwa pemahaman saya keliru: setelah lapisan eksekusi menyelesaikan pemrosesan transaksi, hasil akhirnya tetap perlu dikemas dan dikirim ke lapisan settlement di bawah untuk benar-benar melakukan penyimpanan bukti dan konfirmasi. Hubungan keduanya adalah hulu-hilir (atas-bawah), bukan sejajar.
Saya sendiri cukup lama berkutat dengan kesalahpahaman ini, terutama karena materi promosi sering memperkenalkan dua lapisan tersebut secara terpisah, sehingga mudah membuat orang mengira keduanya adalah dua chain independen yang berjalan paralel.
Bagi pengembang, hubungan tingkat (level) seperti ini sebenarnya penting—artinya biaya operasional aplikasi yang Anda deploy di DuskEVM bukan hanya dilihat dari seberapa banyak resource yang dipakai lapisan tersebut saat mengeksekusi kontrak, tetapi juga perlu memperhitungkan biaya untuk mengirim data ke lapisan settlement di bawah; kedua komponen itu jika dijumlahkan barulah menjadi biaya yang utuh. Jika hanya mengestimasi biaya deploy berdasarkan pengalaman dari Ethereum, sangat mudah untuk melewatkan komponen dari lapisan bawah ini.
Kalau pemahaman ini ternyata ada yang kurang tepat atau berbeda, silakan tunjukkan. Saya juga baru merapikan logika ini dalam beberapa hari terakhir, jadi saya belum yakin apakah ada detail yang mungkin terlewat.