#dusk $DUSK @Dusk Saya mencari riwayat audit milik Dusk dan malah membaca sebuah pengungkapan.
Pada 30 April tahun ini, OtterSec memublikasikan bug ketepatan (soundness) yang mereka temukan di dusk-plonk, sistem pembuktian yang ditulis sendiri oleh Dusk, saat paper PLONK masih terbilang baru.
Versi singkatnya: sebuah transaksi shielded Phoenix digerakkan oleh tepat satu hal. Bukan tanda tangan, bukan pemeriksaan kedua — hanya satu vonis valid/tidak valid dari verifikator pembuktian. Catat kepemilikan, catat keanggotaan, integritas saldo, ketepatan nullifier: semua klaim itu hidup di dalam sirkuit, dan node hanya bertanya "apakah pembuktiannya terverifikasi?"
Empat nilai di dalam pembuktian disuplai oleh prover dan digunakan dalam persamaan verifikasi final tanpa pernah diperiksa terhadap komitmen yang sudah ada di verifier key. Komitmennya ada. Hanya saja tidak dipakai untuk keempat hal itu.
Ada dua hal yang membuatku terpaku.
Pertama, tidak ada second net. Rusk memeriksa hal-hal seperti keunikan nullifier sebelum verifikasi, tetapi untuk klaim-klaim di dalam pembuktian tidak ada jalur cadangan. Satu link yang rusak, dan setiap constraint dalam sirkuit langsung runtuh.
Kedua, tumpukan ini diaudit. dusk-plonk pada Desember 2023. Phoenix pada September 2024. Library node Rusk dari Oak Security pada September 2024. Penjelasan OtterSec sendiri mengenai kekeliruan itu adalah model mental: dalam PLONK versi buku teks, selektor adalah data sirkuit publik, jadi seorang reviewer berpikir "sisi verifier" lalu berhenti — melewati tepat bagian tempat implementasi Dusk mulai mengonsumsi nilai yang disuplai oleh prover.
Pantas dihargai: dilaporkan 13 Februari, diakui dan diperbaiki 14 Februari, rilis publik 27 Februari. Satu hari untuk mengakui dan menambal adalah respons yang serius.
Namun itu mengubah bagiku arti kata "diaudit". Audit adalah snapshot dari perhatian, bukan bukti kebenaran.
Saat Anda membaca bahwa sebuah rantai diaudit — apakah Anda memeriksa siapa, kapan, dan komponen mana?
Pada 30 April tahun ini, OtterSec memublikasikan bug ketepatan (soundness) yang mereka temukan di dusk-plonk, sistem pembuktian yang ditulis sendiri oleh Dusk, saat paper PLONK masih terbilang baru.
Versi singkatnya: sebuah transaksi shielded Phoenix digerakkan oleh tepat satu hal. Bukan tanda tangan, bukan pemeriksaan kedua — hanya satu vonis valid/tidak valid dari verifikator pembuktian. Catat kepemilikan, catat keanggotaan, integritas saldo, ketepatan nullifier: semua klaim itu hidup di dalam sirkuit, dan node hanya bertanya "apakah pembuktiannya terverifikasi?"
Empat nilai di dalam pembuktian disuplai oleh prover dan digunakan dalam persamaan verifikasi final tanpa pernah diperiksa terhadap komitmen yang sudah ada di verifier key. Komitmennya ada. Hanya saja tidak dipakai untuk keempat hal itu.
Ada dua hal yang membuatku terpaku.
Pertama, tidak ada second net. Rusk memeriksa hal-hal seperti keunikan nullifier sebelum verifikasi, tetapi untuk klaim-klaim di dalam pembuktian tidak ada jalur cadangan. Satu link yang rusak, dan setiap constraint dalam sirkuit langsung runtuh.
Kedua, tumpukan ini diaudit. dusk-plonk pada Desember 2023. Phoenix pada September 2024. Library node Rusk dari Oak Security pada September 2024. Penjelasan OtterSec sendiri mengenai kekeliruan itu adalah model mental: dalam PLONK versi buku teks, selektor adalah data sirkuit publik, jadi seorang reviewer berpikir "sisi verifier" lalu berhenti — melewati tepat bagian tempat implementasi Dusk mulai mengonsumsi nilai yang disuplai oleh prover.
Pantas dihargai: dilaporkan 13 Februari, diakui dan diperbaiki 14 Februari, rilis publik 27 Februari. Satu hari untuk mengakui dan menambal adalah respons yang serius.
Namun itu mengubah bagiku arti kata "diaudit". Audit adalah snapshot dari perhatian, bukan bukti kebenaran.
Saat Anda membaca bahwa sebuah rantai diaudit — apakah Anda memeriksa siapa, kapan, dan komponen mana?