Zero-Knowledge Proof (ZKP) merupakan teknologi kriptografi yang pertama kali diperkenalkan dalam makalah berjudul “The Knowledge Complexity Of Interactive Proof Systems” pada awal tahun 1980-an oleh S.Goldwasser, S.Micali, dan C.Rackoff. Awalnya dipahami sebagai model teoretis, model ini bertujuan untuk mengatasi tantangan dalam memverifikasi pernyataan matematika tanpa mengungkapkan bukti apa pun. Konsep ini mendapat perhatian luas di dunia akademis karena menantang batasan teknik enkripsi tradisional dan menawarkan 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. Di awal abad ke-21, dengan pesatnya pertumbuhan internet dan komunikasi digital, potensi ZKP mulai digali di dunia nyata. Khususnya dengan munculnya blockchain dan mata uang kripto, ZKP menunjukkan kemampuannya untuk meningkatkan privasi dan keamanan sekaligus menjaga efisiensi transaksi dan pemrosesan data.
Saat ini, ZKP tidak hanya menjadi topik hangat dalam penelitian kriptografi tetapi juga telah diintegrasikan ke dalam berbagai platform dan aplikasi blockchain. Misalnya, aplikasi zk-SNARKs di Ethereum Layer2 menawarkan transaksi anonim tanpa mengungkapkan detail transaksi. Transisi dari teori ke penerapan praktis tidak hanya membuktikan nilai praktis ZKP tetapi juga mendorong eksplorasi interaksi digital yang lebih efisien dan aman. Dengan kemajuan teknologi yang berkelanjutan, ZKP memainkan peran yang semakin penting dalam melindungi privasi pribadi, memastikan keamanan data, dan membangun sistem digital yang dapat dipercaya.
Zero-Knowledge Proof (ZKP) adalah metode enkripsi yang memungkinkan satu pihak (yang membuktikan) untuk membuktikan kebenaran suatu pernyataan kepada pihak lain (verifikator) tanpa mengungkapkan informasi tambahan apa pun, yaitu tanpa mengungkapkan pengetahuan apa pun yang menjadi dasar kebenaran pernyataan tersebut. pernyataan itu tergantung. Proses ini tidak hanya melindungi privasi pembuktian tetapi juga memastikan bahwa pemverifikasi tidak dapat meniru proses pembuktian atau menggunakannya untuk mendapatkan informasi tambahan.
Diagram Konseptual Bukti Tanpa Pengetahuan (Sumber: ChainLink)
Prinsip inti Zero-Knowledge Proofs (ZKP) dapat didefinisikan dengan tiga atribut berikut:
Prinsip ZKP sering dipahami melalui contoh sederhana: Jika saya perlu membuktikan kepada orang A bahwa saya mempunyai nomor telepon orang B, saya tidak perlu langsung mengungkapkan nomor B kepada A. Sebaliknya, saya dapat membuktikannya dengan menelepon nomor B. . Setelah panggilan tersambung, itu menunjukkan bahwa saya memang memiliki nomor B, tanpa mengungkapkan informasi apa pun tentang nomor itu sendiri.
Dalam penerapan praktisnya, ZKP biasanya memerlukan konstruksi matematika yang kompleks seperti persamaan polinomial, kurva elips, atau tantangan matematika lainnya. Keamanan konstruksi ini didasarkan pada kesulitan komputasi masalah seperti faktorisasi atau logaritma diskrit. Dengan kemajuan kriptografi, berbagai implementasi ZKP telah muncul, seperti zk-SNARKs dan zk-STARKs, menawarkan perlindungan privasi yang efektif dalam berbagai konteks, terutama di bidang blockchain dan mata uang kripto.
Bentuk dasar pembuktian tanpa pengetahuan terdiri dari tiga elemen: saksi, tantangan, dan respons.
Saksi: Dalam pembuktian tanpa pengetahuan, pembuktian ingin menunjukkan pengetahuan tentang beberapa informasi tersembunyi. Informasi rahasia ini bertindak sebagai “saksi” pembuktian. Pembuktian, berdasarkan pengetahuannya tentang saksi, mengajukan serangkaian pertanyaan yang hanya dapat dijawab oleh orang yang mengetahui informasi tersebut. Jadi, pemverifikasi secara acak memilih pertanyaan untuk memulai pembuktian, menghitung jawabannya, dan kemudian mengirimkannya ke verifikator.
Tantangan: Verifikator secara acak memilih pertanyaan lain dari kumpulan pertanyaan tersebut dan meminta pembuktian untuk menjawabnya.
Respon: Prover menerima pertanyaan, menghitung jawabannya, dan mengirimkannya kembali ke verifikator. Tanggapan pihak pembukti memungkinkan pemeriksa memeriksa apakah pembukti memang mempunyai akses terhadap saksi. Untuk memastikan bahwa pembukti tidak hanya menebak-nebak dengan benar secara kebetulan, pemverifikasi memilih pertanyaan lain untuk ditanyakan. Dengan mengulangi proses ini berkali-kali, kemungkinan pembukti mengarang kebenaran akan sangat berkurang hingga pemverifikasi puas.
Pada contoh panggilan telepon di atas, “Saya” adalah saksi yang tidak mau mengungkapkan informasi, sedangkan A adalah verifikator, dan tantangan yang diberikan adalah “Buktikan bahwa 'Saya' mempunyai nomor B”. Proses responsnya melibatkan “saya” yang menghubungkan panggilan ke nomor B untuk membuktikan bahwa saya benar-benar memilikinya.
Seperti yang telah dibahas sebelumnya, Zero-Knowledge Proofs (ZKP) secara inheren menawarkan keuntungan yang signifikan dalam bidang perlindungan privasi. Di era informasi yang berlebihan saat ini, data pribadi sering kali disimpan di platform pihak ketiga, sehingga meningkatkan risiko pelanggaran data. Selain itu, karena hambatan teknis dan lambatnya sanksi hukum, keamanan informasi sebagian besar bergantung pada kendala etika, sehingga menyulitkan pengguna untuk benar-benar mengontrol informasi pribadi mereka. Munculnya teknologi ZKP memberikan solusi yang melindungi privasi dan meningkatkan efisiensi dan keamanan verifikasi.
Dibandingkan dengan teknologi enkripsi lainnya, ZKP memiliki banyak keunggulan:
Baik dalam domain Web 2.0 tradisional atau domain Web 3.0 yang sedang berkembang, prospek penerapan ZKP sangat luas.
Ada beberapa implementasi bukti tanpa pengetahuan, seperti zk-SNARKs, zk-STARKs, PLONK, dan Bulletproofs. Masing-masing jenis mempunyai kelebihan dan kekurangan dalam hal ukuran pembuktian, waktu pembuktian, dan waktu verifikasi. Artikel ini berfokus pada pengenalan empat tipe yang paling umum digunakan dalam skenario aplikasi.
zk-SNARKs, singkatan dari “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,” adalah alat kriptografi yang digunakan untuk membuktikan bahwa seseorang mengetahui suatu informasi tanpa mengungkapkan informasi itu sendiri. Dalam zk-SNARKs, “zero-knowledge” berarti pembuktian dapat membuktikan suatu pernyataan benar tanpa memberikan informasi apa pun selain kebenarannya. “Ringkasan” mengacu pada kecilnya ukuran bukti dan kecepatan proses verifikasi. “Non-interaktif” berarti setelah suatu bukti dihasilkan, bukti tersebut dapat diverifikasi oleh siapa pun tanpa interaksi lebih lanjut antara pembukti dan verifikator. Komponen inti zk-SNARK meliputi:
zk-SNARK digunakan dalam berbagai skenario pelestarian privasi, seperti mata uang kripto dengan transaksi anonim, sistem pemungutan suara yang aman, otentikasi dan pembagian data yang menjaga privasi, dan teknologi skalabilitas blockchain.
zk-STARKs, atau “Argumen Pengetahuan Transparan yang Dapat Diskalakan Tanpa Pengetahuan,” memungkinkan satu pihak (pemeriksa) untuk membuktikan kepada pihak lain (verifikator) bahwa mereka mengetahui informasi tertentu tanpa mengungkapkan informasi itu sendiri. Berbeda dengan zk-SNARKs, zk-STARKs tidak memerlukan proses setup yang terpercaya. Artinya, mereka tidak bergantung pada kerahasiaan informasi pribadi tertentu, sebuah fitur yang sering dianggap penting untuk keamanan, karena pengaturan tepercaya dapat menimbulkan kerentanan sistem.
zk-STARK bekerja berdasarkan konsep dari beberapa bidang matematika, termasuk fungsi hash, perhitungan polinomial, dan teori koreksi kesalahan. Mereka menggunakan konstruksi yang dikenal sebagai “argumen transparan yang dapat diskalakan tanpa pengetahuan”, yang memungkinkan pembuatan bukti tanpa pengaturan yang tepercaya. Potensi penerapan zk-STARK serupa dengan zk-SNARK, namun karena skalabilitas dan transparansinya, zk-STARK sangat cocok untuk aplikasi skala besar, termasuk mata uang kripto yang menjaga privasi, teknologi skalabilitas blockchain, dan verifikasi aman dalam komputasi awan. .
PLONK, bukan akronim, mengacu pada nama belakang penciptanya. Ini dirancang untuk memberikan solusi ZKP yang universal dan efisien, terutama dalam aplikasi blockchain seperti kontrak pintar dan transaksi yang dilindungi privasi. Inti dari PLONK adalah penggunaan teknik “penyembunyian homomorfik”, yang memungkinkan operasi aritmatika pada data tanpa mengungkapkan data asli. Ini menggunakan algoritma khusus - skema komitmen polinomial - untuk membuat bukti, memungkinkan pembukti secara efisien membuktikan bahwa mereka memiliki hasil perhitungan yang benar untuk sekumpulan data.
Salah satu fitur utama PLONK adalah universalitasnya. Setelah parameter ditetapkan untuk tugas komputasi tertentu (melalui pengaturan tepercaya satu kali), parameter tersebut dapat digunakan kembali beberapa kali untuk membuat bukti baru, tanpa memerlukan pengaturan baru setiap saat. Hal ini membuat PLONK sangat efisien dalam membuat dan memverifikasi bukti dan sering kali dirancang untuk mendukung berbagai tugas komputasi di blockchain dan sistem terdistribusi lainnya.
Antipeluru, solusi ZKP yang baru diperkenalkan, tidak memerlukan pengaturan tepercaya dan dirancang khusus untuk membuat bukti rentang dan jenis bukti aritmatika tertentu. Diusulkan oleh Benedikt Bunz, Jonathan Bootle, Dan Boneh, dan lainnya pada tahun 2017, Bulletproofs beroperasi pada konstruksi matematika yang kompleks seperti enkripsi homomorfik dan kriptografi kurva elips. Mereka memanfaatkan serangkaian teknik matematika yang memungkinkan pembukti membuat bukti jangkauan yang efektif untuk suatu bilangan tanpa mengungkapkan nilai pastinya. Khususnya dalam domain mata uang kripto, hal ini dapat digunakan untuk membuktikan bahwa nilai transaksi berada dalam kisaran hukum tanpa mengungkapkan jumlah transaksi sebenarnya.
Karena fitur antipelurunya, Antipeluru banyak digunakan di bidang mata uang kripto dan blockchain, khususnya pada koin privasi seperti Monero, untuk menyembunyikan jumlah transaksi sekaligus memverifikasi keabsahan transaksi. Selain itu, mereka dapat digunakan dalam aplikasi lain yang memerlukan privasi numerik.
Mari kita lebih memahami keempat teknologi Zero-Knowledge Proof (ZKP) yang berbeda ini—zk-SNARKs, zk-STARKs, PLONK, dan Bulletproofs—melalui analogi peta harta karun.
Bayangkan Anda memiliki peta harta karun yang mengarah ke lokasi pasti harta karun yang terpendam. Anda ingin membuktikan kepada seseorang bahwa Anda mengetahui di mana harta karun itu berada tanpa mengungkapkan isi peta atau lokasi sebenarnya harta karun itu.
zk-SNARKs: Anda membuat teka-teki rumit dari peta harta karun. Anda memilih bagian kecil yang penting dari teka-teki ini (sebuah bukti) dan menunjukkannya kepada pihak lain, cukup untuk meyakinkan mereka bahwa Anda tahu cara menyusun teka-teki yang lengkap, yaitu lokasi harta karun, tanpa mengungkapkan keseluruhan teka-teki. Namun, untuk melakukannya, Anda memerlukan spidol khusus dari percetakan terpercaya untuk membuktikan bahwa potongan puzzle Anda asli.
zk-STARKs: Anda menunjukkan bagian dari peta harta karun kepada pihak lain, memberi tahu mereka bahwa mereka dapat menggunakan kaca pembesar khusus (algoritme verifikasi) untuk secara acak memeriksa detail peta untuk memverifikasi bahwa peta tersebut memang menunjuk ke harta karun tersebut, tanpa perlu mengetahuinya lokasi pasti harta karun itu. Kaca pembesar ini begitu kuat sehingga bahkan teknologi masa depan (komputer kuantum) tidak dapat memecahkan rahasia peta harta karun Anda.
PLONK: Kali ini, Anda membuat serangkaian teka-teki, masing-masing menunjuk ke lokasi harta karun. Anda memberikan metode universal untuk memverifikasi solusi terhadap teka-teki ini (penyiapan universal) kepada pihak lain, cukup bagi mereka untuk percaya bahwa Anda mengetahui semua jawaban tanpa harus menyelesaikan setiap teka-teki satu per satu.
Antipeluru: Anda memutuskan untuk membuktikan bahwa Anda mengetahui perkiraan lokasi harta karun tanpa mengungkapkan posisi pastinya. Anda memberikan serangkaian solusi masalah matematika yang menunjukkan jangkauan lokasi harta karun. Metode Anda tidak memerlukan spidol atau teknik pencetakan khusus, yang berarti tidak ada persyaratan kepercayaan awal.
Dalam analogi ini:
Setiap metode memiliki kelemahan dalam penerapan praktisnya, dan pilihannya bergantung pada skenario penerapan spesifik serta kebutuhan keamanan.
Sebelum membandingkan, kita perlu memahami kriteria penilaian ZKP:
Sekarang, mari kita bandingkan zk-SNARKs, zk-STARKs, PLONK, dan Bulletproofs berdasarkan indikator-indikator ini dan diskusikan kelebihan dan kekurangannya.
Kelebihan
Kontra
Kelebihan
Kontra
Kelebihan
Kontra
Kelebihan
Kontra
Di Web3, ada banyak kasus penerapan ZKP, dan kami telah memilih dua kasus umum untuk dipelajari.
zk-Rollups adalah solusi Lapisan 2 yang menggabungkan ratusan atau ribuan transaksi off-chain dan menghasilkan bukti zk-SNARK. Bukti ini, bersama dengan data transaksi, dikirimkan ke rantai utama Ethereum. Hal ini memungkinkan validasi transaksi tanpa rantai utama memproses setiap transaksi, sehingga mengurangi biaya dan meningkatkan throughput. zk-Sync Era dan Starknet telah mengadopsi teknologi zk-rollup, dan Polygon baru-baru ini memperkenalkan Polygon zk-EVM menggunakan zk-rollup.
Demonstrasi aplikasi zk-SNARKs di Layer 2 (Sumber: Simon Brown)
Bukti cadangan bursa mengacu pada verifikasi saldo yang dimiliki oleh bursa mata uang kripto atau lembaga keuangan lainnya, untuk memastikan bahwa aset yang dicatat sesuai dengan aset sebenarnya yang dimiliki. Awalnya, bursa menggunakan pohon Merkle dan firma audit pihak ketiga untuk verifikasi ini, namun proses ini bergantung pada pihak ketiga dan dapat membocorkan data pengguna pribadi seperti saldo akun. Pertukaran seperti Gate.io sekarang menggunakan teknologi zk-SNARKs untuk bukti cadangan, mengenkripsi data pengguna, dan mendapatkan nomor aset pengguna melalui sirkuit zk-SNARK, sehingga mengeluarkan laporan bukti cadangan lengkap.
Beragam solusi teknologi zero-knowledge proof menyoroti potensi kuatnya di Web3. Dari perlindungan privasi data hingga penskalaan blockchain, ZKP penting untuk membangun infrastruktur Web3 yang aman dan efisien. Meskipun berbagai pendekatan memiliki kelebihan dan keterbatasannya masing-masing, pendekatan-pendekatan tersebut secara kolektif mengarah pada masa depan digital yang lebih dapat dipercaya dan dilindungi privasi. Seiring kemajuan teknologi, tantangan optimalisasi kinerja dan keamanan dengan ZKP secara bertahap akan teratasi, hal ini menunjukkan semakin signifikannya peran ZKP di dunia digital.
Zero-Knowledge Proof (ZKP) merupakan teknologi kriptografi yang pertama kali diperkenalkan dalam makalah berjudul “The Knowledge Complexity Of Interactive Proof Systems” pada awal tahun 1980-an oleh S.Goldwasser, S.Micali, dan C.Rackoff. Awalnya dipahami sebagai model teoretis, model ini bertujuan untuk mengatasi tantangan dalam memverifikasi pernyataan matematika tanpa mengungkapkan bukti apa pun. Konsep ini mendapat perhatian luas di dunia akademis karena menantang batasan teknik enkripsi tradisional dan menawarkan 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. Di awal abad ke-21, dengan pesatnya pertumbuhan internet dan komunikasi digital, potensi ZKP mulai digali di dunia nyata. Khususnya dengan munculnya blockchain dan mata uang kripto, ZKP menunjukkan kemampuannya untuk meningkatkan privasi dan keamanan sekaligus menjaga efisiensi transaksi dan pemrosesan data.
Saat ini, ZKP tidak hanya menjadi topik hangat dalam penelitian kriptografi tetapi juga telah diintegrasikan ke dalam berbagai platform dan aplikasi blockchain. Misalnya, aplikasi zk-SNARKs di Ethereum Layer2 menawarkan transaksi anonim tanpa mengungkapkan detail transaksi. Transisi dari teori ke penerapan praktis tidak hanya membuktikan nilai praktis ZKP tetapi juga mendorong eksplorasi interaksi digital yang lebih efisien dan aman. Dengan kemajuan teknologi yang berkelanjutan, ZKP memainkan peran yang semakin penting dalam melindungi privasi pribadi, memastikan keamanan data, dan membangun sistem digital yang dapat dipercaya.
Zero-Knowledge Proof (ZKP) adalah metode enkripsi yang memungkinkan satu pihak (yang membuktikan) untuk membuktikan kebenaran suatu pernyataan kepada pihak lain (verifikator) tanpa mengungkapkan informasi tambahan apa pun, yaitu tanpa mengungkapkan pengetahuan apa pun yang menjadi dasar kebenaran pernyataan tersebut. pernyataan itu tergantung. Proses ini tidak hanya melindungi privasi pembuktian tetapi juga memastikan bahwa pemverifikasi tidak dapat meniru proses pembuktian atau menggunakannya untuk mendapatkan informasi tambahan.
Diagram Konseptual Bukti Tanpa Pengetahuan (Sumber: ChainLink)
Prinsip inti Zero-Knowledge Proofs (ZKP) dapat didefinisikan dengan tiga atribut berikut:
Prinsip ZKP sering dipahami melalui contoh sederhana: Jika saya perlu membuktikan kepada orang A bahwa saya mempunyai nomor telepon orang B, saya tidak perlu langsung mengungkapkan nomor B kepada A. Sebaliknya, saya dapat membuktikannya dengan menelepon nomor B. . Setelah panggilan tersambung, itu menunjukkan bahwa saya memang memiliki nomor B, tanpa mengungkapkan informasi apa pun tentang nomor itu sendiri.
Dalam penerapan praktisnya, ZKP biasanya memerlukan konstruksi matematika yang kompleks seperti persamaan polinomial, kurva elips, atau tantangan matematika lainnya. Keamanan konstruksi ini didasarkan pada kesulitan komputasi masalah seperti faktorisasi atau logaritma diskrit. Dengan kemajuan kriptografi, berbagai implementasi ZKP telah muncul, seperti zk-SNARKs dan zk-STARKs, menawarkan perlindungan privasi yang efektif dalam berbagai konteks, terutama di bidang blockchain dan mata uang kripto.
Bentuk dasar pembuktian tanpa pengetahuan terdiri dari tiga elemen: saksi, tantangan, dan respons.
Saksi: Dalam pembuktian tanpa pengetahuan, pembuktian ingin menunjukkan pengetahuan tentang beberapa informasi tersembunyi. Informasi rahasia ini bertindak sebagai “saksi” pembuktian. Pembuktian, berdasarkan pengetahuannya tentang saksi, mengajukan serangkaian pertanyaan yang hanya dapat dijawab oleh orang yang mengetahui informasi tersebut. Jadi, pemverifikasi secara acak memilih pertanyaan untuk memulai pembuktian, menghitung jawabannya, dan kemudian mengirimkannya ke verifikator.
Tantangan: Verifikator secara acak memilih pertanyaan lain dari kumpulan pertanyaan tersebut dan meminta pembuktian untuk menjawabnya.
Respon: Prover menerima pertanyaan, menghitung jawabannya, dan mengirimkannya kembali ke verifikator. Tanggapan pihak pembukti memungkinkan pemeriksa memeriksa apakah pembukti memang mempunyai akses terhadap saksi. Untuk memastikan bahwa pembukti tidak hanya menebak-nebak dengan benar secara kebetulan, pemverifikasi memilih pertanyaan lain untuk ditanyakan. Dengan mengulangi proses ini berkali-kali, kemungkinan pembukti mengarang kebenaran akan sangat berkurang hingga pemverifikasi puas.
Pada contoh panggilan telepon di atas, “Saya” adalah saksi yang tidak mau mengungkapkan informasi, sedangkan A adalah verifikator, dan tantangan yang diberikan adalah “Buktikan bahwa 'Saya' mempunyai nomor B”. Proses responsnya melibatkan “saya” yang menghubungkan panggilan ke nomor B untuk membuktikan bahwa saya benar-benar memilikinya.
Seperti yang telah dibahas sebelumnya, Zero-Knowledge Proofs (ZKP) secara inheren menawarkan keuntungan yang signifikan dalam bidang perlindungan privasi. Di era informasi yang berlebihan saat ini, data pribadi sering kali disimpan di platform pihak ketiga, sehingga meningkatkan risiko pelanggaran data. Selain itu, karena hambatan teknis dan lambatnya sanksi hukum, keamanan informasi sebagian besar bergantung pada kendala etika, sehingga menyulitkan pengguna untuk benar-benar mengontrol informasi pribadi mereka. Munculnya teknologi ZKP memberikan solusi yang melindungi privasi dan meningkatkan efisiensi dan keamanan verifikasi.
Dibandingkan dengan teknologi enkripsi lainnya, ZKP memiliki banyak keunggulan:
Baik dalam domain Web 2.0 tradisional atau domain Web 3.0 yang sedang berkembang, prospek penerapan ZKP sangat luas.
Ada beberapa implementasi bukti tanpa pengetahuan, seperti zk-SNARKs, zk-STARKs, PLONK, dan Bulletproofs. Masing-masing jenis mempunyai kelebihan dan kekurangan dalam hal ukuran pembuktian, waktu pembuktian, dan waktu verifikasi. Artikel ini berfokus pada pengenalan empat tipe yang paling umum digunakan dalam skenario aplikasi.
zk-SNARKs, singkatan dari “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,” adalah alat kriptografi yang digunakan untuk membuktikan bahwa seseorang mengetahui suatu informasi tanpa mengungkapkan informasi itu sendiri. Dalam zk-SNARKs, “zero-knowledge” berarti pembuktian dapat membuktikan suatu pernyataan benar tanpa memberikan informasi apa pun selain kebenarannya. “Ringkasan” mengacu pada kecilnya ukuran bukti dan kecepatan proses verifikasi. “Non-interaktif” berarti setelah suatu bukti dihasilkan, bukti tersebut dapat diverifikasi oleh siapa pun tanpa interaksi lebih lanjut antara pembukti dan verifikator. Komponen inti zk-SNARK meliputi:
zk-SNARK digunakan dalam berbagai skenario pelestarian privasi, seperti mata uang kripto dengan transaksi anonim, sistem pemungutan suara yang aman, otentikasi dan pembagian data yang menjaga privasi, dan teknologi skalabilitas blockchain.
zk-STARKs, atau “Argumen Pengetahuan Transparan yang Dapat Diskalakan Tanpa Pengetahuan,” memungkinkan satu pihak (pemeriksa) untuk membuktikan kepada pihak lain (verifikator) bahwa mereka mengetahui informasi tertentu tanpa mengungkapkan informasi itu sendiri. Berbeda dengan zk-SNARKs, zk-STARKs tidak memerlukan proses setup yang terpercaya. Artinya, mereka tidak bergantung pada kerahasiaan informasi pribadi tertentu, sebuah fitur yang sering dianggap penting untuk keamanan, karena pengaturan tepercaya dapat menimbulkan kerentanan sistem.
zk-STARK bekerja berdasarkan konsep dari beberapa bidang matematika, termasuk fungsi hash, perhitungan polinomial, dan teori koreksi kesalahan. Mereka menggunakan konstruksi yang dikenal sebagai “argumen transparan yang dapat diskalakan tanpa pengetahuan”, yang memungkinkan pembuatan bukti tanpa pengaturan yang tepercaya. Potensi penerapan zk-STARK serupa dengan zk-SNARK, namun karena skalabilitas dan transparansinya, zk-STARK sangat cocok untuk aplikasi skala besar, termasuk mata uang kripto yang menjaga privasi, teknologi skalabilitas blockchain, dan verifikasi aman dalam komputasi awan. .
PLONK, bukan akronim, mengacu pada nama belakang penciptanya. Ini dirancang untuk memberikan solusi ZKP yang universal dan efisien, terutama dalam aplikasi blockchain seperti kontrak pintar dan transaksi yang dilindungi privasi. Inti dari PLONK adalah penggunaan teknik “penyembunyian homomorfik”, yang memungkinkan operasi aritmatika pada data tanpa mengungkapkan data asli. Ini menggunakan algoritma khusus - skema komitmen polinomial - untuk membuat bukti, memungkinkan pembukti secara efisien membuktikan bahwa mereka memiliki hasil perhitungan yang benar untuk sekumpulan data.
Salah satu fitur utama PLONK adalah universalitasnya. Setelah parameter ditetapkan untuk tugas komputasi tertentu (melalui pengaturan tepercaya satu kali), parameter tersebut dapat digunakan kembali beberapa kali untuk membuat bukti baru, tanpa memerlukan pengaturan baru setiap saat. Hal ini membuat PLONK sangat efisien dalam membuat dan memverifikasi bukti dan sering kali dirancang untuk mendukung berbagai tugas komputasi di blockchain dan sistem terdistribusi lainnya.
Antipeluru, solusi ZKP yang baru diperkenalkan, tidak memerlukan pengaturan tepercaya dan dirancang khusus untuk membuat bukti rentang dan jenis bukti aritmatika tertentu. Diusulkan oleh Benedikt Bunz, Jonathan Bootle, Dan Boneh, dan lainnya pada tahun 2017, Bulletproofs beroperasi pada konstruksi matematika yang kompleks seperti enkripsi homomorfik dan kriptografi kurva elips. Mereka memanfaatkan serangkaian teknik matematika yang memungkinkan pembukti membuat bukti jangkauan yang efektif untuk suatu bilangan tanpa mengungkapkan nilai pastinya. Khususnya dalam domain mata uang kripto, hal ini dapat digunakan untuk membuktikan bahwa nilai transaksi berada dalam kisaran hukum tanpa mengungkapkan jumlah transaksi sebenarnya.
Karena fitur antipelurunya, Antipeluru banyak digunakan di bidang mata uang kripto dan blockchain, khususnya pada koin privasi seperti Monero, untuk menyembunyikan jumlah transaksi sekaligus memverifikasi keabsahan transaksi. Selain itu, mereka dapat digunakan dalam aplikasi lain yang memerlukan privasi numerik.
Mari kita lebih memahami keempat teknologi Zero-Knowledge Proof (ZKP) yang berbeda ini—zk-SNARKs, zk-STARKs, PLONK, dan Bulletproofs—melalui analogi peta harta karun.
Bayangkan Anda memiliki peta harta karun yang mengarah ke lokasi pasti harta karun yang terpendam. Anda ingin membuktikan kepada seseorang bahwa Anda mengetahui di mana harta karun itu berada tanpa mengungkapkan isi peta atau lokasi sebenarnya harta karun itu.
zk-SNARKs: Anda membuat teka-teki rumit dari peta harta karun. Anda memilih bagian kecil yang penting dari teka-teki ini (sebuah bukti) dan menunjukkannya kepada pihak lain, cukup untuk meyakinkan mereka bahwa Anda tahu cara menyusun teka-teki yang lengkap, yaitu lokasi harta karun, tanpa mengungkapkan keseluruhan teka-teki. Namun, untuk melakukannya, Anda memerlukan spidol khusus dari percetakan terpercaya untuk membuktikan bahwa potongan puzzle Anda asli.
zk-STARKs: Anda menunjukkan bagian dari peta harta karun kepada pihak lain, memberi tahu mereka bahwa mereka dapat menggunakan kaca pembesar khusus (algoritme verifikasi) untuk secara acak memeriksa detail peta untuk memverifikasi bahwa peta tersebut memang menunjuk ke harta karun tersebut, tanpa perlu mengetahuinya lokasi pasti harta karun itu. Kaca pembesar ini begitu kuat sehingga bahkan teknologi masa depan (komputer kuantum) tidak dapat memecahkan rahasia peta harta karun Anda.
PLONK: Kali ini, Anda membuat serangkaian teka-teki, masing-masing menunjuk ke lokasi harta karun. Anda memberikan metode universal untuk memverifikasi solusi terhadap teka-teki ini (penyiapan universal) kepada pihak lain, cukup bagi mereka untuk percaya bahwa Anda mengetahui semua jawaban tanpa harus menyelesaikan setiap teka-teki satu per satu.
Antipeluru: Anda memutuskan untuk membuktikan bahwa Anda mengetahui perkiraan lokasi harta karun tanpa mengungkapkan posisi pastinya. Anda memberikan serangkaian solusi masalah matematika yang menunjukkan jangkauan lokasi harta karun. Metode Anda tidak memerlukan spidol atau teknik pencetakan khusus, yang berarti tidak ada persyaratan kepercayaan awal.
Dalam analogi ini:
Setiap metode memiliki kelemahan dalam penerapan praktisnya, dan pilihannya bergantung pada skenario penerapan spesifik serta kebutuhan keamanan.
Sebelum membandingkan, kita perlu memahami kriteria penilaian ZKP:
Sekarang, mari kita bandingkan zk-SNARKs, zk-STARKs, PLONK, dan Bulletproofs berdasarkan indikator-indikator ini dan diskusikan kelebihan dan kekurangannya.
Kelebihan
Kontra
Kelebihan
Kontra
Kelebihan
Kontra
Kelebihan
Kontra
Di Web3, ada banyak kasus penerapan ZKP, dan kami telah memilih dua kasus umum untuk dipelajari.
zk-Rollups adalah solusi Lapisan 2 yang menggabungkan ratusan atau ribuan transaksi off-chain dan menghasilkan bukti zk-SNARK. Bukti ini, bersama dengan data transaksi, dikirimkan ke rantai utama Ethereum. Hal ini memungkinkan validasi transaksi tanpa rantai utama memproses setiap transaksi, sehingga mengurangi biaya dan meningkatkan throughput. zk-Sync Era dan Starknet telah mengadopsi teknologi zk-rollup, dan Polygon baru-baru ini memperkenalkan Polygon zk-EVM menggunakan zk-rollup.
Demonstrasi aplikasi zk-SNARKs di Layer 2 (Sumber: Simon Brown)
Bukti cadangan bursa mengacu pada verifikasi saldo yang dimiliki oleh bursa mata uang kripto atau lembaga keuangan lainnya, untuk memastikan bahwa aset yang dicatat sesuai dengan aset sebenarnya yang dimiliki. Awalnya, bursa menggunakan pohon Merkle dan firma audit pihak ketiga untuk verifikasi ini, namun proses ini bergantung pada pihak ketiga dan dapat membocorkan data pengguna pribadi seperti saldo akun. Pertukaran seperti Gate.io sekarang menggunakan teknologi zk-SNARKs untuk bukti cadangan, mengenkripsi data pengguna, dan mendapatkan nomor aset pengguna melalui sirkuit zk-SNARK, sehingga mengeluarkan laporan bukti cadangan lengkap.
Beragam solusi teknologi zero-knowledge proof menyoroti potensi kuatnya di Web3. Dari perlindungan privasi data hingga penskalaan blockchain, ZKP penting untuk membangun infrastruktur Web3 yang aman dan efisien. Meskipun berbagai pendekatan memiliki kelebihan dan keterbatasannya masing-masing, pendekatan-pendekatan tersebut secara kolektif mengarah pada masa depan digital yang lebih dapat dipercaya dan dilindungi privasi. Seiring kemajuan teknologi, tantangan optimalisasi kinerja dan keamanan dengan ZKP secara bertahap akan teratasi, hal ini menunjukkan semakin signifikannya peran ZKP di dunia digital.