zk-SNARKs dalam Blockchain: Tantangan Keamanan dan Solusi
zk-SNARKs(ZKP) sebagai salah satu teknologi kriptografi yang canggih, semakin banyak diterapkan di bidang Blockchain. Dengan semakin banyaknya proyek yang mengadopsi teknologi ZKP seperti protokol Layer 2 dan blockchain publik khusus, kompleksitas sistemnya juga meningkat, menghadirkan tantangan keamanan baru. Artikel ini akan membahas dari sudut pandang keamanan tentang kemungkinan kerentanan yang muncul dalam proses penggabungan ZKP dan Blockchain, untuk memberikan referensi bagi perlindungan keamanan proyek terkait.
Fitur Inti dari ZKP
Sebuah sistem zk-SNARKs yang lengkap perlu memenuhi tiga karakteristik kunci secara bersamaan:
Kelengkapan: untuk pernyataan yang benar, pembuktian dapat berhasil membuktikan kebenarannya kepada pemeriksa.
Keandalan: Untuk pernyataan yang salah, pembuktian jahat tidak dapat menipu verifier.
Sifat nol-pengetahuan: Selama proses verifikasi, verifier tidak akan mendapatkan informasi apapun dari prover tentang data itu sendiri.
Tiga karakteristik ini adalah dasar keamanan dan keefektifan sistem ZKP. Jika kelengkapan tidak terpenuhi, sistem mungkin tidak dapat memberikan bukti yang benar di bawah kondisi tertentu, yang mengarah pada penolakan layanan. Kurangnya keandalan dapat memungkinkan penyerang untuk memalsukan bukti, menyebabkan masalah bypass izin yang serius. Hilangnya sifat zero-knowledge dapat menyebabkan kebocoran parameter asli, memungkinkan penyerang untuk membangun bukti serangan atau penipuan oleh prover. Oleh karena itu, selama proses layanan keamanan, perlu fokus pada perlindungan karakteristik ini.
Fokus Keamanan Proyek ZKP
1. zk-SNARKs circuit
Sirkuit ZKP adalah inti dari seluruh sistem, perlu memperhatikan aspek-aspek berikut:
Desain sirkuit: Mungkin ada kesalahan logika yang menyebabkan proses pembuktian tidak memenuhi atribut keamanan. Misalnya, kesalahan desain sirkuit yang ditemukan pada upgrade Sapling Zcash pada tahun 2018, yang dapat menyebabkan pencetakan token yang tidak terbatas.
Implementasi primitif kriptografi: Jika ada kesalahan dalam implementasi fungsi hash, algoritma enkripsi, dan primitif lainnya, dapat membahayakan keamanan seluruh sistem.
Perlindungan Keberuntungan: Proses pembuktian bergantung pada generator angka acak, jika keberuntungan tidak cukup dapat mengakibatkan kerentanan keamanan. Seperti yang ditemukan Dfinity pada tahun 2018, kerentanan angka acak dapat merusak karakteristik zk-SNARKs dari sirkuit.
2. Keamanan Kontrak Cerdas
Untuk proyek koin privasi yang menggunakan Layer 2 atau kontrak pintar, keamanan kontrak sangat penting. Selain kerentanan umum, kerentanan dalam verifikasi pesan lintas rantai dan verifikasi proof dapat langsung mengakibatkan kegagalan keandalan. Misalnya, kerentanan pada kontrak Verify dari Circom dapat menyebabkan serangan double spend dengan nama samaran.
3. Ketersediaan data
Pastikan data off-chain dapat diakses dan diverifikasi dengan aman dan efektif. Masalah ketersediaan data yang terjadi di plasma chain pada tahun 2019 menyebabkan pengguna tidak dapat mengajukan transaksi atau menarik dana, menyoroti pentingnya masalah ini. Selain menggunakan bukti ketersediaan data, perlindungan host dan pemantauan status data juga dapat diperkuat.
4. Mekanisme insentif ekonomi
Evaluasi mekanisme insentif proyek untuk memastikan dapat secara wajar mendorong semua pihak yang terlibat untuk menjaga keamanan dan stabilitas sistem. Fokus pada desain model insentif, distribusi hadiah, dan mekanisme hukuman.
5. Perlindungan Privasi
Untuk proyek yang melibatkan perlindungan privasi, perlu diaudit implementasi skema privasinya. Pastikan data pengguna terlindungi dengan baik selama proses transmisi, penyimpanan, dan verifikasi, sambil mempertahankan ketersediaan dan keandalan sistem. Dapat dilakukan dengan menganalisis alur komunikasi protokol untuk menyimpulkan apakah ada kebocoran privasi dari pemberi bukti, atau apakah verifier mungkin dapat merekonstruksi pengetahuan pemberi bukti.
6. Optimasi Kinerja
Menilai strategi optimasi kinerja proyek, termasuk kecepatan pemrosesan transaksi, efisiensi proses verifikasi, dll. Mengaudit langkah-langkah optimasi dalam implementasi kode untuk memastikan memenuhi kebutuhan kinerja.
7. Mekanisme toleransi kesalahan dan pemulihan
Strategi toleransi kesalahan dan pemulihan untuk proyek audit menghadapi situasi tak terduga ( seperti gangguan jaringan, serangan jahat, dan lain-lain ). Memastikan sistem dapat secara otomatis pulih dan mempertahankan operasi normal jika memungkinkan.
8. Kualitas kode
Menilai kualitas keseluruhan kode proyek audit, dengan fokus pada keterbacaan, pemeliharaan, dan kekuatan. Menilai apakah terdapat praktik pemrograman yang tidak sesuai, kode redundan, kesalahan potensial, dan masalah lainnya.
Ringkasan
Dalam membahas keamanan proyek ZKP, perlu terlebih dahulu memperjelas di mana proyek menggunakan ZKP. Fokus keamanan dari berbagai jenis proyek ( seperti Layer 2, koin privasi, dan blockchain publik ) memiliki perbedaan. Namun demikian, harus dipastikan bahwa tiga karakteristik inti ZKP: kelengkapan, keandalan, dan sifat tanpa pengetahuan dijamin dengan efektif. Hanya dengan mempertimbangkan semua faktor keamanan ini secara menyeluruh, kita dapat membangun proyek blockchain ZKP yang benar-benar aman dan dapat diandalkan.
Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
6 Suka
Hadiah
6
7
Bagikan
Komentar
0/400
LiquidationKing
· 07-08 05:58
Saya sudah menonton beberapa kali tetapi masih sedikit pusing, zkp terlalu rumit ya.
Lihat AsliBalas0
gas_fee_therapist
· 07-06 19:06
L2 yang tidak bisa membuat sirkuit pasti hanya bermain-main, kan?
Lihat AsliBalas0
OnChainDetective
· 07-06 17:42
menelusuri 6 eksploitasi zkp bulan lalu... kompleksitas = kerentanan
Lihat AsliBalas0
AirdropBuffet
· 07-06 17:33
Semua terlalu rumit, lebih baik langsung hodl.
Lihat AsliBalas0
GasFeeCrier
· 07-06 17:30
zkp jangan-jangan bahkan tidak memiliki dasar yang kuat.
Lihat AsliBalas0
WenMoon
· 07-06 17:29
Sudah melakukan formalisme lagi, bagaimana dengan keamanan?
Tantangan keamanan ZKP dalam Blockchain: Analisis 8 poin kunci
zk-SNARKs dalam Blockchain: Tantangan Keamanan dan Solusi
zk-SNARKs(ZKP) sebagai salah satu teknologi kriptografi yang canggih, semakin banyak diterapkan di bidang Blockchain. Dengan semakin banyaknya proyek yang mengadopsi teknologi ZKP seperti protokol Layer 2 dan blockchain publik khusus, kompleksitas sistemnya juga meningkat, menghadirkan tantangan keamanan baru. Artikel ini akan membahas dari sudut pandang keamanan tentang kemungkinan kerentanan yang muncul dalam proses penggabungan ZKP dan Blockchain, untuk memberikan referensi bagi perlindungan keamanan proyek terkait.
Fitur Inti dari ZKP
Sebuah sistem zk-SNARKs yang lengkap perlu memenuhi tiga karakteristik kunci secara bersamaan:
Kelengkapan: untuk pernyataan yang benar, pembuktian dapat berhasil membuktikan kebenarannya kepada pemeriksa.
Keandalan: Untuk pernyataan yang salah, pembuktian jahat tidak dapat menipu verifier.
Sifat nol-pengetahuan: Selama proses verifikasi, verifier tidak akan mendapatkan informasi apapun dari prover tentang data itu sendiri.
Tiga karakteristik ini adalah dasar keamanan dan keefektifan sistem ZKP. Jika kelengkapan tidak terpenuhi, sistem mungkin tidak dapat memberikan bukti yang benar di bawah kondisi tertentu, yang mengarah pada penolakan layanan. Kurangnya keandalan dapat memungkinkan penyerang untuk memalsukan bukti, menyebabkan masalah bypass izin yang serius. Hilangnya sifat zero-knowledge dapat menyebabkan kebocoran parameter asli, memungkinkan penyerang untuk membangun bukti serangan atau penipuan oleh prover. Oleh karena itu, selama proses layanan keamanan, perlu fokus pada perlindungan karakteristik ini.
Fokus Keamanan Proyek ZKP
1. zk-SNARKs circuit
Sirkuit ZKP adalah inti dari seluruh sistem, perlu memperhatikan aspek-aspek berikut:
Desain sirkuit: Mungkin ada kesalahan logika yang menyebabkan proses pembuktian tidak memenuhi atribut keamanan. Misalnya, kesalahan desain sirkuit yang ditemukan pada upgrade Sapling Zcash pada tahun 2018, yang dapat menyebabkan pencetakan token yang tidak terbatas.
Implementasi primitif kriptografi: Jika ada kesalahan dalam implementasi fungsi hash, algoritma enkripsi, dan primitif lainnya, dapat membahayakan keamanan seluruh sistem.
Perlindungan Keberuntungan: Proses pembuktian bergantung pada generator angka acak, jika keberuntungan tidak cukup dapat mengakibatkan kerentanan keamanan. Seperti yang ditemukan Dfinity pada tahun 2018, kerentanan angka acak dapat merusak karakteristik zk-SNARKs dari sirkuit.
2. Keamanan Kontrak Cerdas
Untuk proyek koin privasi yang menggunakan Layer 2 atau kontrak pintar, keamanan kontrak sangat penting. Selain kerentanan umum, kerentanan dalam verifikasi pesan lintas rantai dan verifikasi proof dapat langsung mengakibatkan kegagalan keandalan. Misalnya, kerentanan pada kontrak Verify dari Circom dapat menyebabkan serangan double spend dengan nama samaran.
3. Ketersediaan data
Pastikan data off-chain dapat diakses dan diverifikasi dengan aman dan efektif. Masalah ketersediaan data yang terjadi di plasma chain pada tahun 2019 menyebabkan pengguna tidak dapat mengajukan transaksi atau menarik dana, menyoroti pentingnya masalah ini. Selain menggunakan bukti ketersediaan data, perlindungan host dan pemantauan status data juga dapat diperkuat.
4. Mekanisme insentif ekonomi
Evaluasi mekanisme insentif proyek untuk memastikan dapat secara wajar mendorong semua pihak yang terlibat untuk menjaga keamanan dan stabilitas sistem. Fokus pada desain model insentif, distribusi hadiah, dan mekanisme hukuman.
5. Perlindungan Privasi
Untuk proyek yang melibatkan perlindungan privasi, perlu diaudit implementasi skema privasinya. Pastikan data pengguna terlindungi dengan baik selama proses transmisi, penyimpanan, dan verifikasi, sambil mempertahankan ketersediaan dan keandalan sistem. Dapat dilakukan dengan menganalisis alur komunikasi protokol untuk menyimpulkan apakah ada kebocoran privasi dari pemberi bukti, atau apakah verifier mungkin dapat merekonstruksi pengetahuan pemberi bukti.
6. Optimasi Kinerja
Menilai strategi optimasi kinerja proyek, termasuk kecepatan pemrosesan transaksi, efisiensi proses verifikasi, dll. Mengaudit langkah-langkah optimasi dalam implementasi kode untuk memastikan memenuhi kebutuhan kinerja.
7. Mekanisme toleransi kesalahan dan pemulihan
Strategi toleransi kesalahan dan pemulihan untuk proyek audit menghadapi situasi tak terduga ( seperti gangguan jaringan, serangan jahat, dan lain-lain ). Memastikan sistem dapat secara otomatis pulih dan mempertahankan operasi normal jika memungkinkan.
8. Kualitas kode
Menilai kualitas keseluruhan kode proyek audit, dengan fokus pada keterbacaan, pemeliharaan, dan kekuatan. Menilai apakah terdapat praktik pemrograman yang tidak sesuai, kode redundan, kesalahan potensial, dan masalah lainnya.
Ringkasan
Dalam membahas keamanan proyek ZKP, perlu terlebih dahulu memperjelas di mana proyek menggunakan ZKP. Fokus keamanan dari berbagai jenis proyek ( seperti Layer 2, koin privasi, dan blockchain publik ) memiliki perbedaan. Namun demikian, harus dipastikan bahwa tiga karakteristik inti ZKP: kelengkapan, keandalan, dan sifat tanpa pengetahuan dijamin dengan efektif. Hanya dengan mempertimbangkan semua faktor keamanan ini secara menyeluruh, kita dapat membangun proyek blockchain ZKP yang benar-benar aman dan dapat diandalkan.