Saya memperhatikan bagian yang canggung dari Dusk karena tidak mengirim transfer privat. Itulah yang terjadi ketika transfer tersebut harus berubah menjadi kredit pertukaran tanpa operator menebak siapa pemiliknya.

Untuk setoran, Dusk tidak berpura-pura Phoenix dan Moonlight dapat saling dipertukarkan. Phoenix menggunakan catatan terselubung (shielded notes) dan nullifier, sedangkan integrasi pertukaran diarahkan ke Moonlight karena model kustodi dan pemindaian berbeda. Jadi operator masih harus memilih bagaimana atribusi bekerja: satu akun Moonlight per pelanggan, atau akun bersama di mana memo menjadi data perutean.

Lalu muncul kasus kegagalan yang buruk. Transfer yang valid bisa datang dengan metadata yang hilang, tidak terbentuk dengan benar, tidak dikenal, atau digunakan ulang. Rantai (chain) masih bisa melakukan penyelesaian dengan benar, tetapi kredit tetap harus dikarantina alih-alih diposting ke pengguna yang salah.

Detail yang terus saya benahi adalah checkpoint. Dusk mengharapkan kredit dan checkpoint blok hasil pemindaian ditulis secara atomik, dengan ID transaksi yang digunakan untuk idempotensi. Maju-kan checkpoint sebelum kredit benar-benar tahan lama (durable), dan sebuah crash bisa membuat setoran itu berada di luar jalur ingest operator.

Bagi Dusk, tes kustodi yang sesungguhnya adalah apakah setoran Moonlight yang sudah difinalisasi pernah bisa lenyap di antara checkpoint dan kredit.

#dusk $DUSK @Dusk

#USJulyCPI&PPIDueThisWeek