Saya melihat model transaksi transparan Dusk dan awalnya melewatkan sesuatu yang terdengar hampir terlalu mendasar: nonce.
Moonlight adalah model transaksi berbasis akun milik Dusk. Setiap akun memiliki kunci publik, saldo, dan sebuah nonce, dengan nonce berperan sebagai penghitung untuk transaksi yang dikirim dari akun tersebut.
Pencacah kecil itu punya tugas yang lebih besar daripada yang terlihat pertama kali.
Whitepaper secara eksplisit mengaitkan nonce dengan perlindungan terhadap replay. Sebuah transaksi tidak hanya dianggap diotorisasi karena tanda tangan valid; urutan transaksi milik akun itu juga harus masuk akal.
Ini adalah salah satu bagian infrastruktur blockchain yang hampir tidak pernah diperhatikan pengguna ketika semuanya berjalan dengan benar.
Anda menandatangani transaksi, jaringan memprosesnya, saldo Anda berubah, lalu Anda lanjut.
Namun tanpa mekanisme yang mencegah transaksi valid lama diterima lagi, otorisasi yang sama berpotensi menjadi masalah keamanan yang sama sekali berbeda.
Yang menarik bagi saya tentang Dusk adalah bahwa Moonlight dan Phoenix menyelesaikan kebutuhan dasar transaksi yang sama melalui model yang sangat berbeda.
Moonlight mempublikasikan status akun, saldo, dan metadata transaksi secara terbuka. Phoenix memindahkan verifikasi saldo dan perlindungan double-spend ke dalam bukti ZK dan nullifier. Namun keduanya tetap harus membangun kepemilikan, mencegah malleability, dan menghentikan double spending.
Jadi, keputusan desain yang sesungguhnya bukan sekadar publik vs privat.
Melainkan seberapa besar transisi keadaan yang dapat diverifikasi langsung oleh jaringan versus seberapa banyak yang harus dibuktikan secara kriptografis.
Itu membuat nonce yang sederhana menjadi lebih menarik daripada yang terdengar.
Transaksi yang terlihat hanya permukaannya. Di bawahnya ada kumpulan aturan yang memastikan otorisasi yang sama tidak bisa begitu saja diputar ulang.
Berapa banyak “fitur” blockchain yang sebenarnya merupakan asumsi keamanan yang tak terlihat—dan baru disadari pengguna ketika fitur itu gagal?
@Dusk $DUSK #dusk
Moonlight adalah model transaksi berbasis akun milik Dusk. Setiap akun memiliki kunci publik, saldo, dan sebuah nonce, dengan nonce berperan sebagai penghitung untuk transaksi yang dikirim dari akun tersebut.
Pencacah kecil itu punya tugas yang lebih besar daripada yang terlihat pertama kali.
Whitepaper secara eksplisit mengaitkan nonce dengan perlindungan terhadap replay. Sebuah transaksi tidak hanya dianggap diotorisasi karena tanda tangan valid; urutan transaksi milik akun itu juga harus masuk akal.
Ini adalah salah satu bagian infrastruktur blockchain yang hampir tidak pernah diperhatikan pengguna ketika semuanya berjalan dengan benar.
Anda menandatangani transaksi, jaringan memprosesnya, saldo Anda berubah, lalu Anda lanjut.
Namun tanpa mekanisme yang mencegah transaksi valid lama diterima lagi, otorisasi yang sama berpotensi menjadi masalah keamanan yang sama sekali berbeda.
Yang menarik bagi saya tentang Dusk adalah bahwa Moonlight dan Phoenix menyelesaikan kebutuhan dasar transaksi yang sama melalui model yang sangat berbeda.
Moonlight mempublikasikan status akun, saldo, dan metadata transaksi secara terbuka. Phoenix memindahkan verifikasi saldo dan perlindungan double-spend ke dalam bukti ZK dan nullifier. Namun keduanya tetap harus membangun kepemilikan, mencegah malleability, dan menghentikan double spending.
Jadi, keputusan desain yang sesungguhnya bukan sekadar publik vs privat.
Melainkan seberapa besar transisi keadaan yang dapat diverifikasi langsung oleh jaringan versus seberapa banyak yang harus dibuktikan secara kriptografis.
Itu membuat nonce yang sederhana menjadi lebih menarik daripada yang terdengar.
Transaksi yang terlihat hanya permukaannya. Di bawahnya ada kumpulan aturan yang memastikan otorisasi yang sama tidak bisa begitu saja diputar ulang.
Berapa banyak “fitur” blockchain yang sebenarnya merupakan asumsi keamanan yang tak terlihat—dan baru disadari pengguna ketika fitur itu gagal?
@Dusk $DUSK #dusk
