Hari ini pamanku menanyakan sesuatu yang terdengar sederhana.“Jika sebuah sistem keuangan mengatakan sebuah transaksi berhasil, mengapa orang akan mempertanyakannya?”

Jujur saja, pertanyaan itu terus mengganggu saya saat saya melihat bagaimana Dusk menangani transaksi.

Saya dulu mengira bahwa keberhasilan hanyalah keberhasilan. Tapi Dusk memisahkan proses menjadi beberapa tahap. Sebuah transaksi bisa diterima untuk perutean, masuk ke local mempool, dieksekusi dalam sebuah blok, dan baru kemudian—lebih belakangan—mencapai finalitas.

Itu membuat saya berhenti sejenak.
Masalah sesungguhnya bukan karena sistem memiliki banyak status. Masalahnya adalah apa yang terjadi ketika sebuah aplikasi memperlakukan status-status itu seolah semuanya berarti hal yang sama.

Saya terkejut betapa praktisnya risiko tersebut. Jika sebuah aplikasi melihat keberhasilan lalu langsung melepas aset, memperbarui jaminan, atau menutup suatu kewajiban, aplikasi itu bisa saja bertindak sebelum protokol benar-benar mencapai status yang dibutuhkan untuk tindakan tersebut.

Panduan pertukaran Dusk membuat pembedaan yang sama menjadi jelas. Transaksi yang diterima untuk perutean tidak berarti penarikan sudah selesai. Eksekusi dan finalitas tetap penting.
Kekhawatan saya bukanlah kompleksitas. Sistem keuangan memang kompleks.

Trade-off yang sebenarnya adalah antara membuat API mudah digunakan dan memberi pengembang informasi yang cukup untuk mengambil keputusan ekonomi yang tepat.

Harapan saya sederhana. Sebuah API harus memberi tahu
tidak hanya apa yang terjadi, tetapi
apa yang sebenarnya aman dilakukan oleh pengembang setelah ini.

Saya berbicara jujur. Saya lebih memilih beberapa status yang jelas daripada satu pesan keberhasilan sederhana yang bisa berarti hal berbeda pada titik yang berbeda.

Jadi, apakah API keuangan harus menyembunyikan kompleksitas protokol, atau menampilkan kepada pengembang status yang benar-benar mereka butuhkan sebelum melakukan tindakan finansial berikutnya? 🤔

#dusk $DUSK $BTC $ETH @Dusk
#Blockchain #DeFi #Web3