#dusk $DUSK @Dusk Tampilan transaksi menampilkan “Berhasil”—benarkah sudah selesai?

Saat semalam saya membaca dokumen pengembangan Dusk, saya menemukan satu detail yang dulu kurang saya perhatikan.

Setelah sebuah transaksi dikirim, node mengembalikan 202 Accepted—artinya permintaan sudah diterima, sedang diproses, dan tidak berarti transaksi sudah selesai.

Baru setelah membaca lebih lanjut saya sadar bahwa setelah itu masih harus melalui admission, mempool, pemilihan blok, dan eksekusi.

Bahkan jika sudah dieksekusi, prosesnya belum berakhir.

Sebab, sebuah blok yang sudah diterima masih berpotensi dibatalkan (di-rollback).

Hanya ketika blok masuk ke status finalized, barulah transaksi ini benar-benar mendapatkan finalitas.

Menurut saya detail ini menarik.

Selama ini, saat kita mengatakan “transaksi berhasil”, sebenarnya kita mencampur beberapa status yang sama sekali berbeda:

Node sudah menerima, dan jaringan sudah menerima—itu bukan hal yang sama;
Masuk ke dalam blok, dan eksekusi berhasil—juga bukan hal yang sama;
Eksekusi berhasil pun tidak otomatis berarti penyelesaian final.

Untuk transfer biasa, perbedaan beberapa status mungkin hanya terlihat sebagai variasi.

Tapi bagaimana jika di masa depan yang berjalan di atas rantai adalah sekuritas, pembayaran, atau aset keuangan lainnya?

Pada saat itu, “hampir berhasil” jelas tidak cukup.

Yang benar-benar perlu dijawab justru:

Pada status yang mana hak dan kewajiban aset benar-benar berubah?

Ini juga merupakan cara pandang baru saya tentang Dusk “deterministic settlement” akhir-akhir ini.

Persoalan yang benar-benar ingin dipecahkan barangkali bukan sekadar membuat transaksi lebih cepat, tetapi membuat para pelaku paham dengan jelas:

kapan sudah boleh tidak menunggu lagi, dan kapan transaksi ini benar-benar bisa dianggap sudah selesai.

Mungkin inilah makna sebenarnya dari frasa “transaksi selesai” dalam infrastruktur keuangan.

@Dusk $DUSK #DUSK