ZK (Zero-Knowledge Proof) metode kriptografi untuk mengkonfirmasi tanpa mengungkapkan informasi.
Operasi ini melibatkan 2 sisi:
- Prover (Sesungguhnya ia mempunyai pengetahuan yang luas) tentang segala sesuatu.
- Verifier (Mengverifikasi) dia memeriksa.
Contoh: kredit#
Pemberi pinjaman ingin memastikan kemampuan peminjam, tapi peminjam ingin tetap Inkonognito.
→ ZK-bukti memberikan jaminan kemampuan pembayaran tanpa mengungkapkan identitas dan keamanan.
Sejarah#
1985 Silvio Micali, Avi Vigderson, Oded Goldreich menerbitkan Komplikasi pengetahuan sistem bukti interaktif.
Di tempat kerja:
- Termasuk istilah bukti dengan pengungkapan nol;
- Teknologi kriptografi dijelaskan;
- Bukti Tidak membuka data pribadi, tapi menginstruksikan komunikasi.
Kategori-kategori#
zk-SNARKs
Zero-Knowledge Succinct Non-Interactive Argument of Knowledge.
- Bukti tanpa mengungkapkan informasi;
- Memerlukan kunci rahasia, yang dibentuk Sebelumnya;
- Contoh aplikasi: Zcash Token privasi pertama yang tersedia secara luas di zk-SNARKs;
- Saat mentransfer Zcash → konfirmasi datang tanpa mengungkapkan pihak dan jumlah.
zk-STARKs
Zero-Knowledge Scalable Transparent Arguments of Knowledge.
- Terbuka secara acak dianalisis bukti;
- Tidak memerlukan pengaturan awal;
- Tidak mengungkapkan data rahasia pihak ketiga;
- Juga disebut dengan protokol Arthur-Merlin.
Perbandingan
| Parameter | zk-SNARKs | zk-STARKs |
|---|---|---|
| Ukuran bukti | Kecil | Lebih banyak |
| Trusted setup | Ya. | Tidak. |
| Post-quantum security | Cacat | Tahan lama |
| Kecepatan Verifikasi | Cepat ! | Lebih cepat untuk data besar |
Properti ZK#
- Keakuratan (Completeness) true konfirmasi → dapat meyakinkan verifier;
- Keaslian (Soundness) false assertion → tidak bisa meyakinkan verifier;
- Keamanan penuh Verifier tidak tahu apa-apa kecuali fakta yang benar.
Penggunaan#
| Lingkungan | Penggunaan |
|---|---|
| Blockchain | Transaksi dengan konfirmasi tanpa mengungkapkan data |
| Keuangan | Perlindungan data klien + norma regulasi |
| Identifikasi | Mengkonfirmasi identitas tanpa mengungkapkan |
| Pengobatan | Akses ke data pasien tanpa melanggar privasi |
ZK untuk TON#
| Fungsi | Deskripsi |
|---|---|
| Identifikasi | Verifikasi tanpa mengungkapkan informasi pribadi |
| Keamanan Siber | Memverifikasi Keaslian Data Tanpa Membuka Kunci |
| Protokol Pertukaran | Pembuktian kondisi tanpa mengungkapkan data awal |
Proyek-proyek
- ZK on TON dokumentasi dan tutorial;
- Tonnel Network transaksi pribadi (Tornado di TON), GitHub.
Sumbernya#
- ZK-STARK di Wikipedia;
- What are zk-SNARKs (Zcash);
- ZK dalam blockchain TON (tonblockchain.ru);
- Binance Academy: zk-SNARKs vs zk-STARKs.