zk-SNARK: Bukti Tanpa Pengetahuan yang Inovatif dan penerapannya

Menengah11/28/2023, 12:24:18 PM
Teknologi zk-SNARK mewakili terobosan signifikan di bidang perlindungan privasi dan verifikasi terenkripsi. Hal ini tidak hanya menjanjikan dalam memberikan jaminan privasi yang kuat tetapi juga praktis dalam meningkatkan skalabilitas blockchain dan berbagai aplikasi lainnya.

Latar Belakang

Zero-knowledge proof (ZKP) merupakan teknologi kriptografi yang pertama kali dikemukakan oleh S. Goldwasser, S. Micali, dan C. Rackoff pada awal tahun 1980an dalam makalah berjudul The Knowledge Complexity Of Interactive Proof Systems. Dalam makalah ini, ini dikonseptualisasikan sebagai model teoritis untuk mengatasi masalah verifikasi pernyataan matematika tanpa mengungkapkan bukti. Konsep ini mendapat perhatian besar dari komunitas akademis karena menantang batasan teknik enkripsi tradisional dan memberikan pendekatan baru dalam menangani informasi sensitif.

Seiring berjalannya waktu, ZKP berkembang dari konsep teoritis abstrak menjadi protokol konkret yang dapat diintegrasikan ke dalam berbagai aplikasi. Pada tahun 2010, Groth menerbitkan makalah berjudul Argumen Pengetahuan Nol Non-interaktif Berbasis Pasangan Pendek, yang menjadi karya penting dalam pengembangan zk-SNARK, sebuah solusi penting dalam ZKP. Penerapan praktis ZKP yang paling signifikan adalah sistem zero-knowledge proof yang digunakan oleh Z-cash pada tahun 2015, yang mencapai perlindungan privasi untuk transaksi dan jumlah. Selanjutnya, zk-SNARK dikombinasikan dengan kontrak pintar, menghasilkan aplikasi yang lebih luas.

Prinsip Teknis zk-SNARK

Prinsip-prinsip yang perlu dipatuhi ZKP tradisional adalah sebagai berikut:

  • Kelengkapan: Jika suatu pernyataan benar, pembuktian yang jujur dapat meyakinkan pemeriksa mengenai kebenarannya.
  • Kewajaran: Jika suatu pernyataan salah, pembukti yang curang hanya mempunyai kemungkinan kecil untuk menyesatkan pemeriksa agar percaya bahwa pernyataan tersebut benar.
  • Pengetahuan nol: Jika suatu pernyataan benar, verifikator tidak akan mengetahui informasi tambahan apa pun selain fakta bahwa pernyataan tersebut benar. Dengan kata lain, proses verifikasi tidak mengungkapkan informasi apa pun yang dapat digunakan untuk membangun suatu bukti.

Prinsip ZKP dapat dipahami melalui contoh sederhana: Jika saya perlu membuktikan kepada A bahwa saya mempunyai nomor telepon B, saya tidak perlu langsung memberitahukan nomor telepon B. Sebaliknya, saya bisa langsung menghubungi nomor telepon B dan setelah panggilan tersambung, itu dapat membuktikan bahwa saya memang memiliki nomor telepon B. Proses ini tidak mengungkapkan informasi nomor B.

Dan zk-SNARK ditingkatkan lebih lanjut atas dasar ini, dengan karakteristik sebagai berikut:

  • Pengetahuan Nol: Verifikator tidak dapat memperoleh informasi berguna apa pun dari pembuktian.
  • Ringkas: Buktinya berukuran kecil (biasanya hanya beberapa puluh byte) dan waktu verifikasinya singkat (biasanya hanya beberapa milidetik).
  • Non-interaktif: Prover hanya perlu mengirimkan bukti ke verifikator satu kali saja, tanpa komunikasi lebih lanjut.
  • Parameter Tepercaya: Baik pembukti maupun pemverifikasi harus menggunakan String Referensi Umum (CRS) yang dihasilkan oleh pihak ketiga tepercaya. CRS mungkin berisi beberapa informasi sensitif, dan jika bocor atau dirusak, hal itu dapat mengancam keamanan sistem.

Dalam makalah Groth, ia mengusulkan metode pembuktian tanpa pengetahuan non-interaktif berdasarkan pasangan yang mengubah masalah komputasi menjadi Program Aritmatika Kuadrat (QAP), dan kemudian membuat bukti yang efisien menggunakan kriptografi kurva elips dan fungsi hash. Desain zk-SNARK selanjutnya umumnya melibatkan empat langkah:

  • Penyiapan: Dilakukan oleh pihak ketiga tepercaya, ini menghasilkan CRS yang mencakup kunci pembuktian (pk) untuk menghasilkan bukti dan kunci verifikasi (vk) untuk memverifikasi bukti. Proses ini hanya perlu dijalankan satu kali, dan CRS dapat digunakan kembali beberapa kali.
  • Pengkodean Masalah: Masalah komputasi f(x) = y ditransformasikan ke dalam bentuk QAP A(x)·B(x) = C(x)·Z(x), dimana A(x), B(x), C (x) adalah polinomial yang ditentukan oleh struktur rangkaian f, Z(x) adalah polinomial tetap, x adalah titik yang dipilih secara acak, dan y adalah keluaran dari f. Langkah ini dapat dilakukan oleh pihak pembuktian atau verifikator, atau dapat dilakukan terlebih dahulu oleh pihak ketiga.
  • Pembuatan Bukti: Dilakukan oleh peribahasa, menggunakan pk, x, dan masukan w dari f untuk menghasilkan bukti π untuk membuktikan bahwa mereka mengetahui aw yang memenuhi f(w) = y, tanpa mengungkapkan nilai spesifik w. Proses ini melibatkan perhitungan polinomial, operasi kurva elips, dan operasi fungsi hash, yang pada akhirnya menghasilkan π yang terdiri dari beberapa titik kurva elips dan nilai hash.
  • Verifikasi Pembuktian: Dilakukan oleh verifikator, menggunakan vk, x, y, dan π untuk memverifikasi apakah pembukti memang mengetahui aw yang memenuhi f(w) = y. Proses ini juga melibatkan perhitungan polinomial, operasi kurva elips, dan operasi fungsi hash, yang pada akhirnya menghasilkan nilai Boolean yang menunjukkan validitas pembuktian.

Untuk membantu memahaminya, mari kita perhatikan contoh sederhana: Misalkan Anda memiliki peta harta karun yang dapat memandu Anda ke lokasi pasti harta karun yang terpendam. Anda ingin membuktikan kepada seseorang bahwa Anda mengetahui lokasi harta karun tersebut tanpa mengungkapkan isi peta atau lokasi sebenarnya dari harta karun tersebut. Jika Anda menggunakan teknologi zk-SNARK, Anda perlu membuat teka-teki peta harta karun yang rumit. Anda memilih sepotong kecil teka-teki (sebuah bukti) dan menunjukkannya kepada orang tersebut, yang meyakinkan mereka bahwa Anda tahu bagaimana keseluruhan teka-teki itu cocok, yaitu lokasi harta karun, tanpa melihat keseluruhan teka-teki. Namun, untuk mencapainya, Anda perlu mendapatkan tanda khusus dari percetakan terpercaya, yang menjadi bukti bahwa potongan puzzle Anda asli.

Mengapa kita membutuhkan zk-SNARK?

Pendekatan tradisional terhadap pembuktian tanpa pengetahuan melibatkan metode pembuktian interaktif, di mana pembuktian berulang kali menanyakan pemverifikasi “ya atau tidak?” pertanyaan sampai jawaban yang benar tercapai. Proses ini tidak efisien. Namun, zk-SNARK menghilangkan kebutuhan akan interaksi berulang dengan memperoleh CRS dari pihak ketiga yang tepercaya. Semua pembukti dapat langsung membandingkan CRS untuk menentukan kebenarannya. Hal ini sangat meningkatkan efisiensi pembuktian tanpa pengetahuan.

Selain itu, zk-SNARK menawarkan keuntungan sebagai berikut:

  • Perlindungan privasi: zk-SNARK memungkinkan pembukti untuk menunjukkan pengetahuan atau pemenuhan kondisi tertentu kepada verifikator tanpa mengungkapkan informasi pribadi apa pun. Hal ini sangat berguna dalam skenario yang melibatkan data sensitif atau pribadi, seperti autentikasi identitas, pemungutan suara anonim, dan transaksi pribadi.
  • Skalabilitas: zk-SNARK memampatkan masalah komputasi yang kompleks menjadi bukti yang kecil dan cepat, mengurangi beban komputasi dan kebutuhan penyimpanan untuk verifikator. Hal ini bermanfaat dalam skenario yang memerlukan verifikasi efisien dan penyimpanan data dalam jumlah besar, seperti komputasi awan, skalabilitas blockchain, dan komputasi yang dapat diverifikasi.
  • Keamanan: zk-SNARK didasarkan pada masalah yang sulit secara matematis, seperti masalah logaritma diskrit dan masalah pemetaan bilinear, yang memberikan keamanan tinggi. Berdasarkan asumsi komputasi non-kuantum, kecuali pihak ketiga yang tepercaya membocorkan atau mengutak-atik CRS, mustahil bagi pembukti memalsukan bukti atau verifikator memalsukan hasil verifikasi.

Aplikasi zk-SNARK di dunia nyata

Aplikasi pertama zk-SNARK adalah Zcash, yang memungkinkan pengguna untuk terlibat dalam transaksi anonim sepenuhnya dengan menyembunyikan informasi seperti pengirim, penerima, dan jumlah menggunakan zk-SNARK. Di ruang Web3 saat ini, teknologi zk-SNARK memainkan peran penting dalam skalabilitas blockchain dan manajemen cadangan pertukaran.

Skalabilitas Blockchain

Karena mekanisme konsensus dan persyaratan keamanan blockchain, keluaran dan efisiensinya sangat terbatas. Untuk mengatasi masalah ini, solusi umum adalah dengan menggunakan teknologi Layer2, yang membangun lapisan tambahan di atas blockchain untuk memigrasikan sejumlah besar transaksi atau komputasi dari rantai utama (Layer1) ke Layer2, sehingga meningkatkan kinerja dan kegunaan sistem. .

zk-SNARK memainkan peran penting dalam solusi ini, karena dapat memampatkan transaksi atau komputasi pada Layer2 menjadi bukti kecil dan cepat, yang kemudian diserahkan untuk verifikasi pada rantai utama, memastikan kebenaran dan konsistensi Layer2. Saat ini, ada dua solusi Layer2 utama berdasarkan zk-SNARK: ZK-rollup dan Validium.

  • ZK-rollup: Solusi ini menyimpan semua data status pada rantai utama tetapi menggunakan bukti untuk memverifikasi validitas transisi status. Hal ini memastikan ketersediaan dan keamanan data Layer2 tetapi meningkatkan beban penyimpanan pada rantai utama. Misalnya, zkSync menyimpan data negara bagian pada rantai utama Ethereum dan memastikan validitas transisi negara melalui bukti tanpa pengetahuan. Proyek serupa termasuk Polygon zkEVM dan Scroll.
  • Validium: Solusi ini menyimpan semua data negara pada Layer2 atau pihak ketiga tepercaya lainnya, dan hanya menggunakan bukti untuk memverifikasi validitas transisi negara, mengirimkan bukti ke rantai utama. Hal ini mengurangi beban penyimpanan pada rantai utama namun dapat menurunkan ketersediaan dan keamanan data Layer2. DeversiFi menggunakan teknologi Validium untuk menjaga kecepatan dan efisiensi transaksi Layer2 sekaligus memastikan privasi data. Loopring menyediakan mode Validium untuk mengurangi tekanan penyimpanan pada rantai utama.

Cadangan Dana di Bursa

Karena volatilitas dan ketidakpastian pasar mata uang kripto, banyak bursa perlu memiliki sejumlah dana cadangan untuk mengatasi potensi risiko atau permintaan. Namun, dana cadangan ini seringkali kurang transparan dan tidak dapat dipercaya, sehingga membuat pengguna tidak yakin apakah bursa benar-benar memiliki dana cadangan yang cukup untuk menjaga aset mereka.

zk-SNARK dapat memberikan solusi dalam hal ini dengan memungkinkan bursa membuktikan kepada pengguna atau badan pengatur bahwa mereka memiliki jumlah dan nilai dana cadangan yang memadai tanpa mengungkapkan rincian atau lokasi aset tertentu.

Contoh tipikalnya adalah Gate.io, yang menggunakan kombinasi pohon zk-SNARK dan Merkle. Mereka mengenkripsi data pengguna dan menghasilkan bukti dana cadangan 100 token berbeda menggunakan sirkuit terbatas untuk menunjukkan kemampuan solvabilitas 100%.

Sumber: https://www.gate.io/proof-of-resers

Bacaan Lebih Lanjut: Bagaimana zk-SNARK meningkatkan Bukti Cadangan Gate.io

Selain aplikasi Web3, zk-SNARK juga dapat digunakan di domain non-blockchain, seperti:

  • Otentikasi Identitas: zk-SNARK memungkinkan pengguna untuk membuktikan kepemilikan atribut atau kualifikasi identitas tertentu kepada pihak ketiga tanpa mengungkapkan informasi pribadi apa pun, seperti usia, kebangsaan, pendidikan, dll. Hal ini berguna dalam skenario yang memerlukan autentikasi atau otorisasi identitas, seperti belanja online, pendidikan online, tanda tangan digital, dll.
  • Pemungutan Suara Elektronik: zk-SNARK memungkinkan pengguna untuk membuktikan partisipasi mereka dalam aktivitas pemungutan suara tertentu dan kepatuhan terhadap protokol atau aturan tertentu kepada pihak ketiga tanpa mengungkapkan konten atau metadata pemungutan suara apa pun. Hal ini bermanfaat dalam skenario yang memerlukan perlindungan privasi dan keamanan pemungutan suara, seperti pemilu demokratis, tata kelola komunitas, pengambilan keputusan publik, dan lain-lain.

Keterbatasan dan Tantangan Teknis

Pada bagian sebelumnya, kami memperkenalkan prinsip teknis zk-SNARK, yang menyebutkan bahwa zk-SNARK meningkatkan efisiensi pembuktian dengan mencari pihak ketiga yang tepercaya untuk menghasilkan CRS. Namun, hal ini juga menyebabkan beberapa keterbatasan dan tantangan yang melekat pada zk-SNARK.

  • Parameter Tepercaya: zk-SNARK memerlukan CRS yang dihasilkan oleh pihak ketiga tepercaya, yang mungkin berisi informasi sensitif. Jika bocor atau dirusak, hal ini dapat membahayakan keamanan sistem. Untuk mengatasi masalah ini, beberapa proyek telah mengadopsi pendekatan Multi-Party Computation (MPC) untuk menghasilkan CRS, dimana banyak partisipan secara bersama-sama berkontribusi pada proses pembuatan dan menghancurkan informasi rahasia mereka. Namun pendekatan ini masih menghadapi tantangan seperti integritas peserta, biaya komunikasi, dan kesulitan koordinasi.
  • Universalitas: Saat ini, zk-SNARK hanya dapat diterapkan pada masalah komputasi tertentu, seperti QAP atau R1CS, dan tidak dapat diterapkan pada masalah komputasi sembarangan. Untuk mengatasi keterbatasan ini, beberapa proyek telah mengeksplorasi penggunaan General Circuits (GC) atau General Recursive Proof (GRS) untuk memperluas penerapan zk-SNARK. Namun, pendekatan ini memiliki kelemahan seperti peningkatan ukuran bukti, penurunan efisiensi, dan peningkatan kompleksitas.
  • Verifiabilitas: Meskipun zk-SNARK memastikan bahwa pembukti tidak membocorkan informasi pribadi apa pun, hal ini tidak menjamin bahwa pembukti tidak akan menipu atau menipu pemverifikasi. Untuk mengatasi masalah ini, beberapa proyek telah memperkenalkan Fungsi Acak yang Dapat Diverifikasi (VRF) atau Fungsi Penundaan yang Dapat Diverifikasi (VDF) untuk meningkatkan integritas pembuktian. Namun, pendekatan ini juga meningkatkan kompleksitas dan overhead sistem.

Singkatnya, ada berbagai pendekatan untuk mengatasi keterbatasan inheren zk-SNARK.

Skenario Aplikasi Masa Depan

zk-SNARK, sebagai teknologi kriptografi inovatif, memiliki skenario penerapan masa depan yang luas, terutama di bidang privasi:

  • Kontrak Cerdas Privasi: zk-SNARK memungkinkan pengguna untuk membuktikan kepada pihak ketiga bahwa mereka telah mengeksekusi kontrak pintar tertentu dan memperoleh keluaran yang benar tanpa mengungkapkan logika atau status kontrak apa pun. Hal ini sangat berguna dalam skenario yang melibatkan rahasia dagang atau aturan sensitif, seperti manajemen rantai pasokan, klaim asuransi, perlindungan hak cipta, dll.1
  • Komputasi yang menjaga privasi: zk-SNARK memungkinkan pengguna untuk membuktikan kepada pihak ketiga bahwa mereka telah melakukan tugas komputasi tertentu dan memperoleh hasil yang benar tanpa mengungkapkan data masukan atau keluaran apa pun. Hal ini berlaku dalam skenario yang melibatkan data sensitif atau pribadi, seperti diagnosis medis, analisis data, pembelajaran mesin, dll.
  • Komunikasi yang menjaga privasi: zk-SNARK memungkinkan pengguna untuk membuktikan kepada pihak ketiga bahwa mereka telah terlibat dalam aktivitas komunikasi tertentu dan mematuhi protokol atau aturan tertentu tanpa mengungkapkan konten atau metadata komunikasi apa pun. Hal ini bermanfaat dalam skenario di mana privasi atau keamanan komunikasi perlu dilindungi, seperti pesan instan, jejaring sosial, email, dll.

Kesimpulan

Teknologi zk-SNARK mewakili terobosan signifikan di bidang perlindungan privasi dan verifikasi terenkripsi. Hal ini tidak hanya menjanjikan dalam memberikan jaminan privasi yang kuat tetapi juga praktis dalam meningkatkan skalabilitas blockchain dan berbagai aplikasi lainnya. Meskipun terdapat tantangan dan keterbatasan teknis, melalui penelitian dan inovasi berkelanjutan, kami berharap zk-SNARK akan terus berkembang, mengoptimalkan sistem yang ada, dan menginspirasi model aplikasi baru untuk mendorong kemajuan perlindungan privasi dan teknologi enkripsi. Dengan kematangan teknologi dan meningkatnya penekanan pada privasi data di masyarakat, zk-SNARK berpotensi menjadi alat yang sangat diperlukan di era digital, memberdayakan pengguna dengan kontrol lebih besar atas informasi mereka dan mendorong interaksi digital yang aman dan transparan.

Penulis: Wayne
Penerjemah: Sonia
Pengulas: KOWEI、Piccolo、Elisa、Ashley He、Joyce
* Informasi ini tidak bermaksud untuk menjadi dan bukan merupakan nasihat keuangan atau rekomendasi lain apa pun yang ditawarkan atau didukung oleh Gate.io.
* Artikel ini tidak boleh di reproduksi, di kirim, atau disalin tanpa referensi Gate.io. Pelanggaran adalah pelanggaran Undang-Undang Hak Cipta dan dapat dikenakan tindakan hukum.

zk-SNARK: Bukti Tanpa Pengetahuan yang Inovatif dan penerapannya

Menengah11/28/2023, 12:24:18 PM
Teknologi zk-SNARK mewakili terobosan signifikan di bidang perlindungan privasi dan verifikasi terenkripsi. Hal ini tidak hanya menjanjikan dalam memberikan jaminan privasi yang kuat tetapi juga praktis dalam meningkatkan skalabilitas blockchain dan berbagai aplikasi lainnya.

Latar Belakang

Zero-knowledge proof (ZKP) merupakan teknologi kriptografi yang pertama kali dikemukakan oleh S. Goldwasser, S. Micali, dan C. Rackoff pada awal tahun 1980an dalam makalah berjudul The Knowledge Complexity Of Interactive Proof Systems. Dalam makalah ini, ini dikonseptualisasikan sebagai model teoritis untuk mengatasi masalah verifikasi pernyataan matematika tanpa mengungkapkan bukti. Konsep ini mendapat perhatian besar dari komunitas akademis karena menantang batasan teknik enkripsi tradisional dan memberikan pendekatan baru dalam menangani informasi sensitif.

Seiring berjalannya waktu, ZKP berkembang dari konsep teoritis abstrak menjadi protokol konkret yang dapat diintegrasikan ke dalam berbagai aplikasi. Pada tahun 2010, Groth menerbitkan makalah berjudul Argumen Pengetahuan Nol Non-interaktif Berbasis Pasangan Pendek, yang menjadi karya penting dalam pengembangan zk-SNARK, sebuah solusi penting dalam ZKP. Penerapan praktis ZKP yang paling signifikan adalah sistem zero-knowledge proof yang digunakan oleh Z-cash pada tahun 2015, yang mencapai perlindungan privasi untuk transaksi dan jumlah. Selanjutnya, zk-SNARK dikombinasikan dengan kontrak pintar, menghasilkan aplikasi yang lebih luas.

Prinsip Teknis zk-SNARK

Prinsip-prinsip yang perlu dipatuhi ZKP tradisional adalah sebagai berikut:

  • Kelengkapan: Jika suatu pernyataan benar, pembuktian yang jujur dapat meyakinkan pemeriksa mengenai kebenarannya.
  • Kewajaran: Jika suatu pernyataan salah, pembukti yang curang hanya mempunyai kemungkinan kecil untuk menyesatkan pemeriksa agar percaya bahwa pernyataan tersebut benar.
  • Pengetahuan nol: Jika suatu pernyataan benar, verifikator tidak akan mengetahui informasi tambahan apa pun selain fakta bahwa pernyataan tersebut benar. Dengan kata lain, proses verifikasi tidak mengungkapkan informasi apa pun yang dapat digunakan untuk membangun suatu bukti.

Prinsip ZKP dapat dipahami melalui contoh sederhana: Jika saya perlu membuktikan kepada A bahwa saya mempunyai nomor telepon B, saya tidak perlu langsung memberitahukan nomor telepon B. Sebaliknya, saya bisa langsung menghubungi nomor telepon B dan setelah panggilan tersambung, itu dapat membuktikan bahwa saya memang memiliki nomor telepon B. Proses ini tidak mengungkapkan informasi nomor B.

Dan zk-SNARK ditingkatkan lebih lanjut atas dasar ini, dengan karakteristik sebagai berikut:

  • Pengetahuan Nol: Verifikator tidak dapat memperoleh informasi berguna apa pun dari pembuktian.
  • Ringkas: Buktinya berukuran kecil (biasanya hanya beberapa puluh byte) dan waktu verifikasinya singkat (biasanya hanya beberapa milidetik).
  • Non-interaktif: Prover hanya perlu mengirimkan bukti ke verifikator satu kali saja, tanpa komunikasi lebih lanjut.
  • Parameter Tepercaya: Baik pembukti maupun pemverifikasi harus menggunakan String Referensi Umum (CRS) yang dihasilkan oleh pihak ketiga tepercaya. CRS mungkin berisi beberapa informasi sensitif, dan jika bocor atau dirusak, hal itu dapat mengancam keamanan sistem.

Dalam makalah Groth, ia mengusulkan metode pembuktian tanpa pengetahuan non-interaktif berdasarkan pasangan yang mengubah masalah komputasi menjadi Program Aritmatika Kuadrat (QAP), dan kemudian membuat bukti yang efisien menggunakan kriptografi kurva elips dan fungsi hash. Desain zk-SNARK selanjutnya umumnya melibatkan empat langkah:

  • Penyiapan: Dilakukan oleh pihak ketiga tepercaya, ini menghasilkan CRS yang mencakup kunci pembuktian (pk) untuk menghasilkan bukti dan kunci verifikasi (vk) untuk memverifikasi bukti. Proses ini hanya perlu dijalankan satu kali, dan CRS dapat digunakan kembali beberapa kali.
  • Pengkodean Masalah: Masalah komputasi f(x) = y ditransformasikan ke dalam bentuk QAP A(x)·B(x) = C(x)·Z(x), dimana A(x), B(x), C (x) adalah polinomial yang ditentukan oleh struktur rangkaian f, Z(x) adalah polinomial tetap, x adalah titik yang dipilih secara acak, dan y adalah keluaran dari f. Langkah ini dapat dilakukan oleh pihak pembuktian atau verifikator, atau dapat dilakukan terlebih dahulu oleh pihak ketiga.
  • Pembuatan Bukti: Dilakukan oleh peribahasa, menggunakan pk, x, dan masukan w dari f untuk menghasilkan bukti π untuk membuktikan bahwa mereka mengetahui aw yang memenuhi f(w) = y, tanpa mengungkapkan nilai spesifik w. Proses ini melibatkan perhitungan polinomial, operasi kurva elips, dan operasi fungsi hash, yang pada akhirnya menghasilkan π yang terdiri dari beberapa titik kurva elips dan nilai hash.
  • Verifikasi Pembuktian: Dilakukan oleh verifikator, menggunakan vk, x, y, dan π untuk memverifikasi apakah pembukti memang mengetahui aw yang memenuhi f(w) = y. Proses ini juga melibatkan perhitungan polinomial, operasi kurva elips, dan operasi fungsi hash, yang pada akhirnya menghasilkan nilai Boolean yang menunjukkan validitas pembuktian.

Untuk membantu memahaminya, mari kita perhatikan contoh sederhana: Misalkan Anda memiliki peta harta karun yang dapat memandu Anda ke lokasi pasti harta karun yang terpendam. Anda ingin membuktikan kepada seseorang bahwa Anda mengetahui lokasi harta karun tersebut tanpa mengungkapkan isi peta atau lokasi sebenarnya dari harta karun tersebut. Jika Anda menggunakan teknologi zk-SNARK, Anda perlu membuat teka-teki peta harta karun yang rumit. Anda memilih sepotong kecil teka-teki (sebuah bukti) dan menunjukkannya kepada orang tersebut, yang meyakinkan mereka bahwa Anda tahu bagaimana keseluruhan teka-teki itu cocok, yaitu lokasi harta karun, tanpa melihat keseluruhan teka-teki. Namun, untuk mencapainya, Anda perlu mendapatkan tanda khusus dari percetakan terpercaya, yang menjadi bukti bahwa potongan puzzle Anda asli.

Mengapa kita membutuhkan zk-SNARK?

Pendekatan tradisional terhadap pembuktian tanpa pengetahuan melibatkan metode pembuktian interaktif, di mana pembuktian berulang kali menanyakan pemverifikasi “ya atau tidak?” pertanyaan sampai jawaban yang benar tercapai. Proses ini tidak efisien. Namun, zk-SNARK menghilangkan kebutuhan akan interaksi berulang dengan memperoleh CRS dari pihak ketiga yang tepercaya. Semua pembukti dapat langsung membandingkan CRS untuk menentukan kebenarannya. Hal ini sangat meningkatkan efisiensi pembuktian tanpa pengetahuan.

Selain itu, zk-SNARK menawarkan keuntungan sebagai berikut:

  • Perlindungan privasi: zk-SNARK memungkinkan pembukti untuk menunjukkan pengetahuan atau pemenuhan kondisi tertentu kepada verifikator tanpa mengungkapkan informasi pribadi apa pun. Hal ini sangat berguna dalam skenario yang melibatkan data sensitif atau pribadi, seperti autentikasi identitas, pemungutan suara anonim, dan transaksi pribadi.
  • Skalabilitas: zk-SNARK memampatkan masalah komputasi yang kompleks menjadi bukti yang kecil dan cepat, mengurangi beban komputasi dan kebutuhan penyimpanan untuk verifikator. Hal ini bermanfaat dalam skenario yang memerlukan verifikasi efisien dan penyimpanan data dalam jumlah besar, seperti komputasi awan, skalabilitas blockchain, dan komputasi yang dapat diverifikasi.
  • Keamanan: zk-SNARK didasarkan pada masalah yang sulit secara matematis, seperti masalah logaritma diskrit dan masalah pemetaan bilinear, yang memberikan keamanan tinggi. Berdasarkan asumsi komputasi non-kuantum, kecuali pihak ketiga yang tepercaya membocorkan atau mengutak-atik CRS, mustahil bagi pembukti memalsukan bukti atau verifikator memalsukan hasil verifikasi.

Aplikasi zk-SNARK di dunia nyata

Aplikasi pertama zk-SNARK adalah Zcash, yang memungkinkan pengguna untuk terlibat dalam transaksi anonim sepenuhnya dengan menyembunyikan informasi seperti pengirim, penerima, dan jumlah menggunakan zk-SNARK. Di ruang Web3 saat ini, teknologi zk-SNARK memainkan peran penting dalam skalabilitas blockchain dan manajemen cadangan pertukaran.

Skalabilitas Blockchain

Karena mekanisme konsensus dan persyaratan keamanan blockchain, keluaran dan efisiensinya sangat terbatas. Untuk mengatasi masalah ini, solusi umum adalah dengan menggunakan teknologi Layer2, yang membangun lapisan tambahan di atas blockchain untuk memigrasikan sejumlah besar transaksi atau komputasi dari rantai utama (Layer1) ke Layer2, sehingga meningkatkan kinerja dan kegunaan sistem. .

zk-SNARK memainkan peran penting dalam solusi ini, karena dapat memampatkan transaksi atau komputasi pada Layer2 menjadi bukti kecil dan cepat, yang kemudian diserahkan untuk verifikasi pada rantai utama, memastikan kebenaran dan konsistensi Layer2. Saat ini, ada dua solusi Layer2 utama berdasarkan zk-SNARK: ZK-rollup dan Validium.

  • ZK-rollup: Solusi ini menyimpan semua data status pada rantai utama tetapi menggunakan bukti untuk memverifikasi validitas transisi status. Hal ini memastikan ketersediaan dan keamanan data Layer2 tetapi meningkatkan beban penyimpanan pada rantai utama. Misalnya, zkSync menyimpan data negara bagian pada rantai utama Ethereum dan memastikan validitas transisi negara melalui bukti tanpa pengetahuan. Proyek serupa termasuk Polygon zkEVM dan Scroll.
  • Validium: Solusi ini menyimpan semua data negara pada Layer2 atau pihak ketiga tepercaya lainnya, dan hanya menggunakan bukti untuk memverifikasi validitas transisi negara, mengirimkan bukti ke rantai utama. Hal ini mengurangi beban penyimpanan pada rantai utama namun dapat menurunkan ketersediaan dan keamanan data Layer2. DeversiFi menggunakan teknologi Validium untuk menjaga kecepatan dan efisiensi transaksi Layer2 sekaligus memastikan privasi data. Loopring menyediakan mode Validium untuk mengurangi tekanan penyimpanan pada rantai utama.

Cadangan Dana di Bursa

Karena volatilitas dan ketidakpastian pasar mata uang kripto, banyak bursa perlu memiliki sejumlah dana cadangan untuk mengatasi potensi risiko atau permintaan. Namun, dana cadangan ini seringkali kurang transparan dan tidak dapat dipercaya, sehingga membuat pengguna tidak yakin apakah bursa benar-benar memiliki dana cadangan yang cukup untuk menjaga aset mereka.

zk-SNARK dapat memberikan solusi dalam hal ini dengan memungkinkan bursa membuktikan kepada pengguna atau badan pengatur bahwa mereka memiliki jumlah dan nilai dana cadangan yang memadai tanpa mengungkapkan rincian atau lokasi aset tertentu.

Contoh tipikalnya adalah Gate.io, yang menggunakan kombinasi pohon zk-SNARK dan Merkle. Mereka mengenkripsi data pengguna dan menghasilkan bukti dana cadangan 100 token berbeda menggunakan sirkuit terbatas untuk menunjukkan kemampuan solvabilitas 100%.

Sumber: https://www.gate.io/proof-of-resers

Bacaan Lebih Lanjut: Bagaimana zk-SNARK meningkatkan Bukti Cadangan Gate.io

Selain aplikasi Web3, zk-SNARK juga dapat digunakan di domain non-blockchain, seperti:

  • Otentikasi Identitas: zk-SNARK memungkinkan pengguna untuk membuktikan kepemilikan atribut atau kualifikasi identitas tertentu kepada pihak ketiga tanpa mengungkapkan informasi pribadi apa pun, seperti usia, kebangsaan, pendidikan, dll. Hal ini berguna dalam skenario yang memerlukan autentikasi atau otorisasi identitas, seperti belanja online, pendidikan online, tanda tangan digital, dll.
  • Pemungutan Suara Elektronik: zk-SNARK memungkinkan pengguna untuk membuktikan partisipasi mereka dalam aktivitas pemungutan suara tertentu dan kepatuhan terhadap protokol atau aturan tertentu kepada pihak ketiga tanpa mengungkapkan konten atau metadata pemungutan suara apa pun. Hal ini bermanfaat dalam skenario yang memerlukan perlindungan privasi dan keamanan pemungutan suara, seperti pemilu demokratis, tata kelola komunitas, pengambilan keputusan publik, dan lain-lain.

Keterbatasan dan Tantangan Teknis

Pada bagian sebelumnya, kami memperkenalkan prinsip teknis zk-SNARK, yang menyebutkan bahwa zk-SNARK meningkatkan efisiensi pembuktian dengan mencari pihak ketiga yang tepercaya untuk menghasilkan CRS. Namun, hal ini juga menyebabkan beberapa keterbatasan dan tantangan yang melekat pada zk-SNARK.

  • Parameter Tepercaya: zk-SNARK memerlukan CRS yang dihasilkan oleh pihak ketiga tepercaya, yang mungkin berisi informasi sensitif. Jika bocor atau dirusak, hal ini dapat membahayakan keamanan sistem. Untuk mengatasi masalah ini, beberapa proyek telah mengadopsi pendekatan Multi-Party Computation (MPC) untuk menghasilkan CRS, dimana banyak partisipan secara bersama-sama berkontribusi pada proses pembuatan dan menghancurkan informasi rahasia mereka. Namun pendekatan ini masih menghadapi tantangan seperti integritas peserta, biaya komunikasi, dan kesulitan koordinasi.
  • Universalitas: Saat ini, zk-SNARK hanya dapat diterapkan pada masalah komputasi tertentu, seperti QAP atau R1CS, dan tidak dapat diterapkan pada masalah komputasi sembarangan. Untuk mengatasi keterbatasan ini, beberapa proyek telah mengeksplorasi penggunaan General Circuits (GC) atau General Recursive Proof (GRS) untuk memperluas penerapan zk-SNARK. Namun, pendekatan ini memiliki kelemahan seperti peningkatan ukuran bukti, penurunan efisiensi, dan peningkatan kompleksitas.
  • Verifiabilitas: Meskipun zk-SNARK memastikan bahwa pembukti tidak membocorkan informasi pribadi apa pun, hal ini tidak menjamin bahwa pembukti tidak akan menipu atau menipu pemverifikasi. Untuk mengatasi masalah ini, beberapa proyek telah memperkenalkan Fungsi Acak yang Dapat Diverifikasi (VRF) atau Fungsi Penundaan yang Dapat Diverifikasi (VDF) untuk meningkatkan integritas pembuktian. Namun, pendekatan ini juga meningkatkan kompleksitas dan overhead sistem.

Singkatnya, ada berbagai pendekatan untuk mengatasi keterbatasan inheren zk-SNARK.

Skenario Aplikasi Masa Depan

zk-SNARK, sebagai teknologi kriptografi inovatif, memiliki skenario penerapan masa depan yang luas, terutama di bidang privasi:

  • Kontrak Cerdas Privasi: zk-SNARK memungkinkan pengguna untuk membuktikan kepada pihak ketiga bahwa mereka telah mengeksekusi kontrak pintar tertentu dan memperoleh keluaran yang benar tanpa mengungkapkan logika atau status kontrak apa pun. Hal ini sangat berguna dalam skenario yang melibatkan rahasia dagang atau aturan sensitif, seperti manajemen rantai pasokan, klaim asuransi, perlindungan hak cipta, dll.1
  • Komputasi yang menjaga privasi: zk-SNARK memungkinkan pengguna untuk membuktikan kepada pihak ketiga bahwa mereka telah melakukan tugas komputasi tertentu dan memperoleh hasil yang benar tanpa mengungkapkan data masukan atau keluaran apa pun. Hal ini berlaku dalam skenario yang melibatkan data sensitif atau pribadi, seperti diagnosis medis, analisis data, pembelajaran mesin, dll.
  • Komunikasi yang menjaga privasi: zk-SNARK memungkinkan pengguna untuk membuktikan kepada pihak ketiga bahwa mereka telah terlibat dalam aktivitas komunikasi tertentu dan mematuhi protokol atau aturan tertentu tanpa mengungkapkan konten atau metadata komunikasi apa pun. Hal ini bermanfaat dalam skenario di mana privasi atau keamanan komunikasi perlu dilindungi, seperti pesan instan, jejaring sosial, email, dll.

Kesimpulan

Teknologi zk-SNARK mewakili terobosan signifikan di bidang perlindungan privasi dan verifikasi terenkripsi. Hal ini tidak hanya menjanjikan dalam memberikan jaminan privasi yang kuat tetapi juga praktis dalam meningkatkan skalabilitas blockchain dan berbagai aplikasi lainnya. Meskipun terdapat tantangan dan keterbatasan teknis, melalui penelitian dan inovasi berkelanjutan, kami berharap zk-SNARK akan terus berkembang, mengoptimalkan sistem yang ada, dan menginspirasi model aplikasi baru untuk mendorong kemajuan perlindungan privasi dan teknologi enkripsi. Dengan kematangan teknologi dan meningkatnya penekanan pada privasi data di masyarakat, zk-SNARK berpotensi menjadi alat yang sangat diperlukan di era digital, memberdayakan pengguna dengan kontrol lebih besar atas informasi mereka dan mendorong interaksi digital yang aman dan transparan.

Penulis: Wayne
Penerjemah: Sonia
Pengulas: KOWEI、Piccolo、Elisa、Ashley He、Joyce
* Informasi ini tidak bermaksud untuk menjadi dan bukan merupakan nasihat keuangan atau rekomendasi lain apa pun yang ditawarkan atau didukung oleh Gate.io.
* Artikel ini tidak boleh di reproduksi, di kirim, atau disalin tanpa referensi Gate.io. Pelanggaran adalah pelanggaran Undang-Undang Hak Cipta dan dapat dikenakan tindakan hukum.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!