Penjelasan zk-SNARKs dan zk-STARKs

Bagikan
Copied to clipboard!
Penjelasan zk-SNARKs dan zk-STARKs

Privasi selalu dilihat sebagai sebuah fitur bernilai dalam komunitas mata uang digital. Hal ini menjadi pelopor kesepadanan, yang sangat penting untuk banyak jenis uang yang digunakan. Sama seperti halnya dengan pemegang aset crypto yang tidak ingin riwayat transaksi dan aset simpanannya untuk terpapar kepada publik. Dari banyak jenis fitur cryptography yang bertujuan untuk menyediakan privasi kepada blockchain, bukti zk-SNARK dan zk-START adalah dua contoh yang paling penting. 

zk-SNARK memiliki arti zero-knowledge succinct non-interactive argument of knowledge (pengetahuan kosong yang singkat pengetahuan non-interaktif. Bukti zk-SNARK sudah digunakan oleh Zcash, dan sistem pembayaran JP Morgan Chase yang berbasis blockchain, sebagai sebuah cara untuk mengamankan otentikasi relasi kepada server. Akan tetapi, zk-SNARK sedang dalam pengembangan untuk digunakan dan adopsi secara luas, akan tetapi bukti zk-STARK sekarang disebutkan sebagai versi terbaru dan terbaharui dari protokol tersebut, dengan memberikan penanganan terhadap banyak kelemahan dari zk-SNARK terdahulu.


Perumpamaan Goa Alibaba

Pada tahun 1990, sebuah tulisan berjudul “How to Explain Zero-Knowledge Protocols to Your Children” (Bagaimana cara menjelaskan protokol pengetahuan kosong kepada anak anda) diterbitkan oleh seorang cryptography Jean-Jacques Quisquater (dan beberapa kontributor lainnya). Tulisan ini memperkenalkan konsep bukti ZK dengan sebuah perumpamaan yang mengikutsertakan Goa Alibaba. Sejak penciptaannya, perumpamaan ini beberapa kali digunakan dan sekarang kita memiliki beberapa variasi. Akan tetapi, informasi mendasarnya tetap sama.

Bayangkan sebuah goa berbentuk lingkaran hanya dengan sebuah pintu masuk dan sebuah pintu sihir yang memisahkan kedua sisi jalan. Untuk dapat melewati pintu sihir tersebut, seseorang harus membisikkan kata rahasia yang benar. Jadi, anggap Alice (warna kuning) ingin membuktikan kepada Bob (warna biru) bahwa ia tahu apakah kata rahasia tersebut - sambil terus menjaga rahasia tersebut. Untuk dapat melakukan ini, Bob setuju untuk menunggu di luar, sedangkan Alice berjalan masuk ke dalam goa dan berjalan sampai kepada pemisah jalan tersebut. Dalam contoh ini, ia memutuskan untuk berjalan melalui jalan nomor 1.


Penjelasan zk-SNARKs dan zk-STARKs

Setelah beberapa saat, Bob memasuki pintu masuk dan meneriakkan ke arah dimana Bob ingin Alice untuk muncul (contohnya pada jalan nomor 2).

Penjelasan zk-SNARKs dan zk-STARKs

Jika Alice benar-benar tahu rahasianya, ia akan muncul dari arah yang Bob inginkan. 

Penjelasan zk-SNARKs dan zk-STARKs

Seluruh proses ini dapat diulang beberapa kali sebagai sebuah cara untuk mengkonfirmasi bahwa Alice tidak memilih jalan yang benar dikarenakan keberuntungannya.

Perumpamaan Goa Alibaba mengilustrasikan konsep bukti pengetahuan kosong, yang adalah bagian dari protokol zk-SNARK dan zk-STARK. Bukti ZK dapat digunakan untuk membuktikan kepemilikan dari sebuah pengetahuan tanpa membeberkan informasi apapun mengenai pengetahuan tersebut.


zk-SNARK

Zcash adalah yang pertama kali menggunakan zk-SNARK. Sementara banyak proyek privasi lainnya seperti Monero menggunakan tanda tangan lingkaran dan teknik lainnya - dengan secara efektif membuat sebuah tirai asap sekitar siapa yang mengirimkan apa - zk-SNARK secara dasar merubah bagaimana sebuah data dibagikan. Privasi Zcash diambil dari fakta bahwa transaksi dalam jaringan dapat tetapi terenkripsi tetapi masih dapat diverifikasi sebagai valid menggunakan bukti zero-knowledge (pengetahuan kosong). Sehingga mereka yang menegakkan aturan konsensus tidak dibutuhkan untuk mengetahui semua data yang mendasari setiap transaksi. Ini sangat penting untuk menjabarkan fitur privasi pada Zcash secara standarnya tidak dalam kondisi aktif, tetapi menjadi opsi dan bergantung dengan pengaturan manual.

Bukti pengetahuan kosong (zero-knowledge)  mengizinkan satu individu untuk membuktikan bahwa sebuah pernyataan adalah benar, tanpa membeberkan informasi apapun diluar validitas pernyataan tersebut. Semua pihak yang terkait secara umum disebut sebagai pembukti (prover) dan pemverifikasi (verifier), dam pernyataan yang mereka buat dalam kerahasiaan disebut sebagai saksi (witness). Tujuan utama dari bukti ini adalah untuk membeberkan sedikit mungkin data antara dua pihak. Dengan kata lain, seseorang tersebut dapat menggunakan bukti pengetahuan kosong (zero-knowledge) untuk membuktikan bahwa mereka memiliki sebuah pengetahuan tanpa harus membeberkan informasi lainnya mengenai pengetahuan tersebut.

Pada akronim SNARK, “succinct” berarti bahwa bukti ini adalah berukuran sangat kecil dan dapat secara cepat diverifikasi. “Non-interactive” berarti hanya ada sedikit atau tidak ada interaksi di antara pembukti dan pemverifikasi. Versi lama dari protokol pengetahuan kosong (zero-knowledge) biasanya membutuhkan pembukti dan pemverifikasi untuk berkomunikasi secara terus menerus, maka dari itu dianggap sebagai bukti zk “interaktif”. Akan tetapi pada konstruksi “non-interactive”, pembukti dan pemverifikasi hanya dibutuhkan untuk menukarkan satu bukti.

Sekarang ini, bukti zk-SNARK sangat bergantung kepada pengaturan awal di antara pembukti dan pemverifikasi, berarti sebuah rangkap parameter publik dibutuhkan untuk membuat bukti pengetahuan kosong (zero knowledge) dan menjadi transaksi privat. Parameter tersebut menjadi seperti sebuah aturan dalam sebuah permainan, dimana mereka di encode ke dalam protokol dan menjadi satu faktor penting dalam membuktikan bahwa transaksi tersebut adalah valid. Akan tetapi, ini membuat sebuah potensi sentralisasi menjadi masalah dikarenakan parameter tersebut seringkali diformulasi menjadi grup yang sangat kecil.

Walaupun pengaturan awal publik adalah sangat penting terhadap implementasi zk-SNARK hari ini, peneliti bekerja untuk mencari alternatif lain sebagai sebuah cara untuk mengurangi jumlah kepercayaan yang dibutuhkan dalam proses tersebut. Tahap pengaturan awal ini sangatlah penting untuk mencegah pemalsuan transaksi dikarenakan jika seseorang memiliki akses kepada sifat acak yang dibuat oleh parameter, mereka dapat membuat sebuah bukti palsu yang terlihat valid kepada verifier. Dalam Zcash, tahap pengaturan awal ini dikenal sebagai Parameter Generation Ceremony (Upacara Pembuatan Parameter).

Masuk kepada “ARguments” pada akronim. Zk-SNARK dianggap logis secara komputasi, yang berarti bahwa pembukti yang tidak jujur memiliki kesempatan yang sangat rendah untuk dapat berhasil menipu sistem. Sifat ini dikenal sebagai kelogisan dan mengasumsikan bahwa pembukti memiliki jumlah tenaga komputasi yang terbatas. Secara teoritis, seorang pembukti dengan tenaga komputasi yang cukup dapat membuat bukti palsu, dan ini menjadi salah satu alasan mengapa komputasi quantum dianggap sebagai ancaman kepada sistem zk-SNARK dan blockchain.

Terakhir dalam teka-teki akronim tersebut adalah “of Knowledge,” yang berarti tidak mungkin untuk pembukti untuk membuat sebuah bukti tanpa memiliki sebuah pengetahuan (atau saksi) untuk mendukung pernyataan mereka.

Bukti pengetahuan kosong (zero knowledge) sangatlah cepat untuk diverifikasi dan biasanya menggunakan jauh lebih sedikit data dibandingkan dengan standar transaksi Bitcoin. Ini membuka sebuah jalan bagi teknologi zk-SNARK untuk dapat digunakan sebagai solusi privasi dan penskalaan.


zk-STARK

zk_STARK dibuat sebagai sebuah versi alternatif terhadap bukti zk-SNARK dan dianggap sebagai sebuah pengimplementasian teknologi yang lebih cepat dan murah. Akan tetapi, terlebih penting, zk-STARK tidak membutuhkan sebuah pengaturan awal kepercayaan (maka dari itu “T” sebagai transparan).

Secara teknis, zk-STARK tidak membutuhkan pengaturan awal kepercayaan dikarenakan mereka bergantung kepada leaner symmetric cryptography melalui fungsi hash tahan bentrokan. Pendekatan ini juga menghilangkan asumsi angka teoritis dari zk-SNARK yang secara komputasi adalah mahal dan secara teoritis rentan terhadap serangan komputasi quantum.

Salah satu alasan mengapa zk-STARK menawarkan sebuah implementasi yang lebih cepat dan murah adalah dikarenakan jumlah komunikasi antara pembukti dan pemverifikasi tetap konstan walaupun adanya peningkatan daya komputasi. Sebagai pembangding, pada zk-SNARK, jika kebutuhan komputasi meningkat, semakin banyak komunikasi yang harus terjadi antar pihak yang terkait. Maka dari itu ukuran keseluruhan dari zk-SNARK akan menjadi lebih besar dibandingkan dengan dalam bukti zk-STARK.

Sangatlah jelas bahwa kedua zk-SNARK dan zk-STARK memberikan sebuah solusi mengenai privasi. Dalam dunia mata uang digital, kedua protokol ini memiliki potensi yang besar dan dapat menjadi sebuah jalan menuju adopsi masal.

Loading