Pengumuman Zano tentang Bug Blockchain
Zano baru-baru ini mengungkapkan adanya bug yang memaksa pemutaran kembali blockchain selama 30 hari, sebuah langkah yang sangat jarang terjadi. Dalam laporan pasca kejadian, terungkap bahwa seorang penyerang mengeksploitasi kurangnya verifikasi pada Gateway Addresses untuk mencetak sekitar 18,4 juta ZANO dalam satu transaksi. Penyerang tersebut kemudian mengulangi trik yang sama dengan stablecoin fUSD. Eksploitasi pertama tidak terdeteksi selama hampir sebulan, sementara mesin privasi Zano sendiri membuat koin palsu semakin sulit dibedakan dari yang sah.
Detail Eksploitasi dan Dampaknya
Pemutaran kembali blockchain selama 30 hari ini terdengar drastis. Tim Zano menjelaskan bahwa cacat yang diperkenalkan dengan Hard Fork 6 memungkinkan seorang penyerang untuk menciptakan koin yang diterima jaringan sebagai asli, mulai 29 Agustus. Menurut tim pengembang, eksploitasi nyata pertama mencetak 2^64 unit dasar, sekitar 18,4 juta ZANO, dalam satu transaksi. Tidak ada yang menyadarinya selama hampir sebulan. Pada saat alat internal Zano membunyikan alarm pada 25 September, pasokan palsu telah terjerat dalam sistem privasi yang sengaja dibangun untuk membuat transaksi sulit dilacak.
Masalah dengan Gateway Addresses
Masalah ini dimulai dengan Gateway Addresses, jenis alamat baru yang diperkenalkan dalam Hard Fork 6 untuk memudahkan Zano terintegrasi dengan platform pertukaran terpusat (CEX), jembatan, dan layanan lainnya. Output Gateway mengungkapkan jumlah dan ID aset, berbeda dengan output rahasia standar Zano, di mana keduanya disembunyikan. Namun, implementasinya kekurangan verifikasi kritis. Zano mengungkapkan bahwa seorang penyerang dapat membangun pengidentifikasi aset yang dihitung secara khusus yang masih memenuhi bukti transaksi jaringan sambil menyisipkan jumlah sembarang ke dalam output tersembunyi.
“Singkatnya, setiap transaksi Zano harus membuktikan bahwa koin dibuat sesuai dengan aturan konsensus,”
jelas tim tersebut.
“Karena kurangnya verifikasi, seorang penyerang dapat memenuhi bukti ini sambil ‘menyembunyikan’ koin tambahan dalam transaksi.”
Implikasi dari Koin Palsu
Koin-koin tersebut bukanlah entri akuntansi dekoratif. Tim Zano menegaskan,
“Koin-koin ini berfungsi sebagai ZANO yang sah dan dapat dibelanjakan secara normal.”
Penyerang mendaftarkan Gateway Address pada 28 Agustus, membayar biaya 100 ZANO yang diperlukan, dan tampaknya menguji apakah Zano akan menerima aset yang tidak ada yang dibangun. Keesokan harinya, serangan dimulai. Satu transaksi mencetak sekitar 18,4 juta ZANO, yang saat ini bernilai sekitar $102 juta. Hampir sebulan kemudian, pada 24 September, penyerang melakukan dua setoran sah masing-masing 0,05 ZANO, tampaknya menguji jalur setoran biasa. Pada 25 September, 18,4 juta ZANO lainnya diciptakan, diikuti dengan manuver 2^64-unit dasar yang sama menggunakan stablecoin fUSD. Secara keseluruhan, itu lebih dari $200 juta dalam token crypto ilegal.
Kesimpulan dan Tindakan Selanjutnya
Yang mengejutkan, Zano telah melakukan pengujian yang dibantu kecerdasan buatan (AI), audit tim, dan program bug bounty sebelum Hard Fork 6. Namun, tidak ada yang menangkap kerentanannya.
“Eksploitasi awal tidak terdeteksi selama hampir satu bulan karena output yang meningkat tampak seperti output pribadi lainnya,”
kata tim tersebut. Setelah koin palsu masuk ke dalam sistem transaksi rahasia Zano, mengidentifikasi dengan tepat ke mana mereka pergi menjadi proposisi yang berbeda. Tanda tangan cincin mencampur pengeluaran dengan output lainnya, menyebabkan ketidakpastian menyebar setiap kali koin bergerak. Zano memindai setiap output yang mungkin terhubung ke tiga transaksi pencetakan. Pada blok 3.878.388, jejak menyentuh 117.941 output yang dibuat melalui 65.301 transaksi. Sekitar 165.700 output telah dibuat dari pencetakan pertama, mewakili sekitar 71% dari aktivitas jaringan selama periode tersebut.
“Itu adalah privasi yang berfungsi seperti yang diharapkan,”
kata Zano.
“Tidak ada yang, termasuk tim Zano, dapat menentukan dengan akurat output mana yang terpengaruh.”
Hal ini membuat proyek terjebak. Sifat privasi yang diharapkan pengguna dari Zano mencegah pengembang memisahkan secara bedah koin yang sah dari yang tidak sah.
“Satu-satunya cara untuk memverifikasi integritas pasokan adalah melanjutkan rantai dari titik sebelum eksploitasi pertama,”
jelas tim tersebut. Titik itu adalah blok 3.833.000, sebelum Hard Fork 6. Hard Fork 7 memulai kembali rantai dari sana dan menonaktifkan Gateway Addresses, yang berarti transaksi, hadiah staking, dan blok yang ditambang dari periode yang terpengaruh tidak lagi ada di buku besar yang diperbarui. Zano lebih lanjut mengatakan saldo yang terpengaruh akan dipulihkan sepenuhnya tanpa mengubah pasokan atau jadwal emisi ZANO. Pendanaan akan berasal dari dana pengembangan, uang pribadi anggota tim, dan kontributor luar. Pertukaran sekarang harus menyisir sebulan aktivitas, transaksi demi transaksi, sebelum membuka kembali akses.
“Tidak ada tindakan yang diperlukan saat ini,”
kata tim kepada pengguna di saluran media sosialnya. Tim Zano mengumumkan pada hari Selasa bahwa perbaikan cepat telah diterapkan dan “jaringan stabil di…”