#dusk $DUSK @Dusk Senja memiliki dua sistem akun: satu adalah akun biasa yang bisa dilihat publik, dan satu lagi adalah akun privasi yang dienkripsi dan disembunyikan. Sebelumnya sering dengar orang mengatakan bahwa kedua sisi ini bisa saling dikonversi. Kali ini saya sengaja mencobanya untuk memastikan bagaimana cara kerja fitur konversinya, detail lain jangan dulu dibahas.
Alur spesifiknya begini: Di level bawah Senja ada sebuah kontrak khusus yang menangani logika transfer. Untuk token yang sama, dari kondisi tersembunyi menjadi kondisi publik—atau sebaliknya—semuanya dilakukan melalui operasi konversi dalam kontrak tersebut. Bukan seperti cara yang “kasar” yaitu “keluarkan uang yang tersembunyi dulu, lalu simpan lagi ke akun publik”. Yang terjadi adalah aset yang sama mengalami perubahan status langsung dalam satu kali operasi, tanpa melalui langkah antara yang bisa diamati pihak eksternal secara terpisah.
Saat saya mengujinya di testnet, pada percobaan pertama saya salah arah saat mengklik. Saya sebenarnya ingin mengubah dari akun tersembunyi menjadi akun publik, tapi malah mengisinya terbalik—dari akun publik ke arah akun tersembunyi. Uangnya memang berhasil ditransfer, tetapi hasilnya sama sekali tidak sesuai dengan yang saya inginkan. Saya baru sadar setelah sedikit beres-beres: ternyata bukan fitur konversinya yang bermasalah, melainkan saya sendiri yang salah membalik dua arah pada antarmuka saat beroperasi.
Setelah mencobanya, kesan saya: fitur konversi ini dibuat cukup mulus—langsung selesai dalam satu langkah. Tidak seperti beberapa skema yang harus melewati alamat perantara dulu untuk melakukan perpindahan status yang mirip. Tapi saya juga menemukan satu hal yang mudah terlewat: konversi ini hanya mengurusi pergantian status uang itu sendiri. Jika asetnya adalah aset jenis sekuritas yang terikat aturan kepatuhan (misalnya yang harus melalui proses verifikasi daftar, atau yang memiliki aturan transfer khusus), maka alurnya sepenuhnya menggunakan mekanisme terpisah. Tidak bisa langsung diterapkan fitur konversi ini untuk menangani keduanya. Kedua hal ini dirancang secara terpisah. Awalnya saya sempat mengira semua aset bisa ditransfer dengan cara yang sama, tapi setelah dicoba barulah saya memastikan saya salah paham.
Alur spesifiknya begini: Di level bawah Senja ada sebuah kontrak khusus yang menangani logika transfer. Untuk token yang sama, dari kondisi tersembunyi menjadi kondisi publik—atau sebaliknya—semuanya dilakukan melalui operasi konversi dalam kontrak tersebut. Bukan seperti cara yang “kasar” yaitu “keluarkan uang yang tersembunyi dulu, lalu simpan lagi ke akun publik”. Yang terjadi adalah aset yang sama mengalami perubahan status langsung dalam satu kali operasi, tanpa melalui langkah antara yang bisa diamati pihak eksternal secara terpisah.
Saat saya mengujinya di testnet, pada percobaan pertama saya salah arah saat mengklik. Saya sebenarnya ingin mengubah dari akun tersembunyi menjadi akun publik, tapi malah mengisinya terbalik—dari akun publik ke arah akun tersembunyi. Uangnya memang berhasil ditransfer, tetapi hasilnya sama sekali tidak sesuai dengan yang saya inginkan. Saya baru sadar setelah sedikit beres-beres: ternyata bukan fitur konversinya yang bermasalah, melainkan saya sendiri yang salah membalik dua arah pada antarmuka saat beroperasi.
Setelah mencobanya, kesan saya: fitur konversi ini dibuat cukup mulus—langsung selesai dalam satu langkah. Tidak seperti beberapa skema yang harus melewati alamat perantara dulu untuk melakukan perpindahan status yang mirip. Tapi saya juga menemukan satu hal yang mudah terlewat: konversi ini hanya mengurusi pergantian status uang itu sendiri. Jika asetnya adalah aset jenis sekuritas yang terikat aturan kepatuhan (misalnya yang harus melalui proses verifikasi daftar, atau yang memiliki aturan transfer khusus), maka alurnya sepenuhnya menggunakan mekanisme terpisah. Tidak bisa langsung diterapkan fitur konversi ini untuk menangani keduanya. Kedua hal ini dirancang secara terpisah. Awalnya saya sempat mengira semua aset bisa ditransfer dengan cara yang sama, tapi setelah dicoba barulah saya memastikan saya salah paham.