Pertimbangan Keamanan dalam Kombinasi zk-SNARKs dan Blockchain
zk-SNARKs(ZKP) sebagai sistem pembuktian, dalam beberapa tahun terakhir telah banyak diterapkan di bidang Blockchain. Seiring dengan semakin banyaknya protokol Layer 2 dan blockchain publik khusus yang mengadopsi teknologi ZKP, kompleksitas sistem tersebut juga membawa tantangan keamanan baru. Artikel ini akan membahas dari sudut pandang keamanan, kemungkinan kerentanan yang muncul dalam proses penggabungan ZKP dan Blockchain, untuk memberikan referensi bagi layanan keamanan proyek terkait.
Karakteristik Inti ZKP
Sistem zk-SNARKs yang efektif harus memenuhi tiga karakteristik kunci secara bersamaan:
Kecukupan: untuk pernyataan yang benar, pembuktian selalu dapat berhasil membuktikan kebenarannya kepada verifier.
Keandalan: untuk pernyataan yang salah, pembuktian jahat tidak dapat menipu verifier.
Sifat nol pengetahuan: Dalam proses verifikasi, verifier tidak akan mendapatkan informasi apa pun dari prover tentang data asli.
Ketiga fitur ini menentukan apakah sistem aman dan efektif, dan perlu diperhatikan dengan seksama selama proses layanan keamanan. Jika ketidaklengkapan tidak terpenuhi, sistem dapat mengalami keadaan penolakan layanan; jika keandalan tidak terpenuhi, masalah penghindaran otorisasi mungkin muncul; jika sifat nol-pengetahuan tidak terpenuhi, ini dapat menyebabkan kebocoran parameter asli, yang pada gilirannya dapat memicu lebih banyak risiko keamanan.
Poin Keamanan Utama
Untuk proyek blockchain berbasis ZKP, perlu memperhatikan beberapa aspek keamanan berikut:
1. zk-SNARKs circuit
Kesalahan desain sirkuit: dapat menyebabkan proses pembuktian tidak memenuhi atribut keamanan. Misalnya, kesalahan desain sirkuit yang ditemukan dalam pembaruan Sapling Zcash 2018, yang mungkin memungkinkan pencetakan token yang tidak terbatas.
Kesalahan implementasi primitive kriptografi: Jika fungsi hash, algoritma enkripsi, dll. diimplementasikan dengan salah, dapat mempengaruhi keamanan seluruh sistem.
Hilangnya keacakan: Jika ada masalah dalam proses pembuatan angka acak, ini dapat mengurangi keamanan bukti. Dfinity pernah menemukan celah semacam ini.
2. Keamanan Kontrak Pintar
Selain kerentanan umum, kontrak proyek ZKP sangat penting dalam hal lintas rantai aset dan verifikasi proof. Kerentanan dalam verifikasi pesan lintas rantai dan verifikasi proof dapat langsung mempengaruhi keandalan sistem.
3. Ketersediaan Data
Perlu memastikan bahwa data off-chain dapat diakses dan diverifikasi dengan aman dan efektif. Fokus pada penyimpanan data, mekanisme verifikasi, proses transmisi, dan aspek lainnya. Pada tahun 2019, Plasma chain pernah mengalami masalah ketersediaan data, yang menyebabkan pengguna tidak dapat melakukan transaksi dengan normal.
4. Insentif Ekonomi
Menilai apakah mekanisme insentif proyek wajar, dan apakah dapat secara efektif mendorong pihak-pihak untuk menjaga keamanan dan stabilitas sistem. Perhatikan desain model insentif, distribusi hadiah, mekanisme hukuman, dan lainnya.
5. Perlindungan Privasi
Implementasi skema privasi untuk proyek audit, memastikan bahwa data pengguna dilindungi sepenuhnya selama seluruh proses. Dapat melalui analisis alur komunikasi protokol, untuk menyimpulkan apakah privasi pembuktian telah bocor.
6. Optimasi Kinerja
Menilai kecepatan pemrosesan transaksi, efisiensi verifikasi, dan indikator kinerja lainnya, serta menilai apakah langkah-langkah optimasi terkait wajar.
7. Mekanisme toleransi kesalahan dan pemulihan
Strategi toleransi kesalahan dan pemulihan sistem audit menghadapi situasi seperti gangguan jaringan dan serangan jahat, memastikan dapat secara otomatis pulih ke operasi normal.
8. Kualitas kode
Mengaudit kualitas kode secara keseluruhan, memperhatikan keterbacaan, pemeliharaan, dan ketahanan, serta mengevaluasi apakah ada ketidakberesan atau potensi kesalahan.
Ringkasan
Dalam mengevaluasi keamanan proyek ZKP, perlu untuk menentukan fokus berdasarkan skenario aplikasi spesifik ( seperti Layer2, koin privasi, blockchain publik, dan lain-lain ). Namun, bagaimanapun juga, harus memastikan tiga sifat inti ZKP: kelengkapan, keandalan, dan sifat tanpa pengetahuan dijamin dengan efektif. Hanya dengan mempertimbangkan faktor-faktor keamanan ini secara menyeluruh, kita dapat membangun sistem blockchain ZKP yang benar-benar aman dan andal.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Analisis tantangan keamanan dan strategi dalam kombinasi ZKP dan Blockchain
Pertimbangan Keamanan dalam Kombinasi zk-SNARKs dan Blockchain
zk-SNARKs(ZKP) sebagai sistem pembuktian, dalam beberapa tahun terakhir telah banyak diterapkan di bidang Blockchain. Seiring dengan semakin banyaknya protokol Layer 2 dan blockchain publik khusus yang mengadopsi teknologi ZKP, kompleksitas sistem tersebut juga membawa tantangan keamanan baru. Artikel ini akan membahas dari sudut pandang keamanan, kemungkinan kerentanan yang muncul dalam proses penggabungan ZKP dan Blockchain, untuk memberikan referensi bagi layanan keamanan proyek terkait.
Karakteristik Inti ZKP
Sistem zk-SNARKs yang efektif harus memenuhi tiga karakteristik kunci secara bersamaan:
Kecukupan: untuk pernyataan yang benar, pembuktian selalu dapat berhasil membuktikan kebenarannya kepada verifier.
Keandalan: untuk pernyataan yang salah, pembuktian jahat tidak dapat menipu verifier.
Sifat nol pengetahuan: Dalam proses verifikasi, verifier tidak akan mendapatkan informasi apa pun dari prover tentang data asli.
Ketiga fitur ini menentukan apakah sistem aman dan efektif, dan perlu diperhatikan dengan seksama selama proses layanan keamanan. Jika ketidaklengkapan tidak terpenuhi, sistem dapat mengalami keadaan penolakan layanan; jika keandalan tidak terpenuhi, masalah penghindaran otorisasi mungkin muncul; jika sifat nol-pengetahuan tidak terpenuhi, ini dapat menyebabkan kebocoran parameter asli, yang pada gilirannya dapat memicu lebih banyak risiko keamanan.
Poin Keamanan Utama
Untuk proyek blockchain berbasis ZKP, perlu memperhatikan beberapa aspek keamanan berikut:
1. zk-SNARKs circuit
Kesalahan desain sirkuit: dapat menyebabkan proses pembuktian tidak memenuhi atribut keamanan. Misalnya, kesalahan desain sirkuit yang ditemukan dalam pembaruan Sapling Zcash 2018, yang mungkin memungkinkan pencetakan token yang tidak terbatas.
Kesalahan implementasi primitive kriptografi: Jika fungsi hash, algoritma enkripsi, dll. diimplementasikan dengan salah, dapat mempengaruhi keamanan seluruh sistem.
Hilangnya keacakan: Jika ada masalah dalam proses pembuatan angka acak, ini dapat mengurangi keamanan bukti. Dfinity pernah menemukan celah semacam ini.
2. Keamanan Kontrak Pintar
Selain kerentanan umum, kontrak proyek ZKP sangat penting dalam hal lintas rantai aset dan verifikasi proof. Kerentanan dalam verifikasi pesan lintas rantai dan verifikasi proof dapat langsung mempengaruhi keandalan sistem.
3. Ketersediaan Data
Perlu memastikan bahwa data off-chain dapat diakses dan diverifikasi dengan aman dan efektif. Fokus pada penyimpanan data, mekanisme verifikasi, proses transmisi, dan aspek lainnya. Pada tahun 2019, Plasma chain pernah mengalami masalah ketersediaan data, yang menyebabkan pengguna tidak dapat melakukan transaksi dengan normal.
4. Insentif Ekonomi
Menilai apakah mekanisme insentif proyek wajar, dan apakah dapat secara efektif mendorong pihak-pihak untuk menjaga keamanan dan stabilitas sistem. Perhatikan desain model insentif, distribusi hadiah, mekanisme hukuman, dan lainnya.
5. Perlindungan Privasi
Implementasi skema privasi untuk proyek audit, memastikan bahwa data pengguna dilindungi sepenuhnya selama seluruh proses. Dapat melalui analisis alur komunikasi protokol, untuk menyimpulkan apakah privasi pembuktian telah bocor.
6. Optimasi Kinerja
Menilai kecepatan pemrosesan transaksi, efisiensi verifikasi, dan indikator kinerja lainnya, serta menilai apakah langkah-langkah optimasi terkait wajar.
7. Mekanisme toleransi kesalahan dan pemulihan
Strategi toleransi kesalahan dan pemulihan sistem audit menghadapi situasi seperti gangguan jaringan dan serangan jahat, memastikan dapat secara otomatis pulih ke operasi normal.
8. Kualitas kode
Mengaudit kualitas kode secara keseluruhan, memperhatikan keterbacaan, pemeliharaan, dan ketahanan, serta mengevaluasi apakah ada ketidakberesan atau potensi kesalahan.
Ringkasan
Dalam mengevaluasi keamanan proyek ZKP, perlu untuk menentukan fokus berdasarkan skenario aplikasi spesifik ( seperti Layer2, koin privasi, blockchain publik, dan lain-lain ). Namun, bagaimanapun juga, harus memastikan tiga sifat inti ZKP: kelengkapan, keandalan, dan sifat tanpa pengetahuan dijamin dengan efektif. Hanya dengan mempertimbangkan faktor-faktor keamanan ini secara menyeluruh, kita dapat membangun sistem blockchain ZKP yang benar-benar aman dan andal.