Membaca batasan rangkaian Phoenix menghentikan saya. Pada Dusk $DUSK #dusk @Duskfoundation, Kontrak Transfer tidak pernah melihat nilai catatan yang sebenarnya atau leaf Merkle mana yang dibelanjakan.
Yang dicek hanya sebuah bukti PLONK bahwa input privat memenuhi lima kondisi: hash catatan membuka terhadap Merkle root catatan yang baru, prover mengetahui kunci rahasia catatan, nullifier sama dengan Poseidon(npk′ ‖ position), komitmen keluaran membuka dengan benar, dan jumlah nilai input sama dengan keluaran ditambah biaya serta sejumlah deposit apa pun.
Nullifier sendiri dipublikasikan sehingga jaringan dapat menolak penggunaan ulang. Karena masing-masing diturunkan dari kunci catatan dan posisi yang tersembunyi, tidak ada pengamat yang bisa memetakan sebuah nullifier kembali ke leaf tertentu. Validitas sepenuhnya hidup di dalam kepuasan rangkaian; isinya tidak pernah muncul di ledger.
Yang berubah bagi saya adalah menyadari bahwa perlindungan double-spend dan integritas saldo keduanya ada di dalam bukti, bukan pada perubahan keadaan yang terlihat.
Pemeriksaan berikutnya: apakah setiap transaksi Phoenix yang diterima nullifier yang dipublikasikannya tetap unik dalam himpunan nullifier on-chain setelah finalitas.
@Dusk