Daftar Isi[Bersembunyi][Menunjukkan]
Baik dalam kehidupan nyata maupun dunia digital, kita sering ingin membuktikan sesuatu kepada orang lain. Sebelum memasuki gedung perkantoran, karyawan biasanya memberikan beberapa jenis ID sebelum masuk ke dalam.
Saat pengguna mencoba masuk ke aplikasi seperti Facebook atau Twitter, layanan ini harus terlebih dahulu meminta pengguna untuk masuk dengan kata sandi dan terkadang kode sandi satu kali (OTP) dikirim ke perangkat seluler mereka.
Kelemahan dari memberikan bukti adalah kita sering memberikan jenis informasi lain. Memberikan kata sandi ke situs web tetap berarti situs web itu sendiri menyimpan salinan kata sandi yang di-hash di servernya. Jika seseorang meretas pemindai ID karyawan gedung kantor, mereka mungkin dapat memperoleh kunci pribadi semua orang.
Bukti tanpa pengetahuan atau ZKP menyediakan cara untuk memvalidasi identitas atau transaksi tanpa harus memberikan informasi tambahan. Karena aplikasinya dalam kriptografi, ZKP telah diadaptasi oleh: blockchains untuk membuat protokol validasi yang aman dan terukur.
Apa itu Bukti Tanpa Pengetahuan?
Bukti tanpa pengetahuan pertama kali diusulkan oleh peneliti MIT Silvio Micali, Charles Rackoff, dan Shafi Goldwasser pada tahun 1985 dalam makalah mereka “Kompleksitas Pengetahuan Sistem Bukti Interaktif”
Makalah ini memperkenalkan konsep kompleksitas pengetahuan. Ini mengacu pada jumlah pengetahuan tentang bukti yang ditransfer dari pembukti ke pemeriksa. Pembuktian tanpa pengetahuan bertujuan untuk memungkinkan suatu pihak membuktikan bahwa suatu pernyataan tertentu benar bagi pihak lain tanpa harus mengungkapkan informasi lain apa pun.
ZKP dapat digunakan sebagai alternatif yang aman untuk sistem otentikasi saat ini dan juga dapat ditambahkan ke protokol blockchain untuk menjaga transaksi tetap pribadi.
Bagaimana Cara Kerja ZKP?
Contoh Dunia Nyata
Untuk mengilustrasikan cara kerja bukti tanpa pengetahuan, mari kita lihat contoh abstrak ZKP.
Katakanlah Anda memiliki teman yang buta warna merah-hijau. Anda memiliki dua bola identik yang hanya berbeda warnanya: satu merah, dan satu hijau. Bagi teman Anda, mereka terlihat identik, tetapi sebagai orang yang tidak buta warna, Anda dapat dengan mudah membedakannya.
Apakah mungkin bagi Anda untuk membuktikan kepada teman Anda bahwa mereka memiliki warna yang berbeda tanpa mengungkapkan bola mana yang berwarna merah atau hijau?
Sebenarnya, ada cara untuk membuktikan ini tanpa mengungkapkan warna bolanya. Pertama, Anda harus membiarkan teman Anda meletakkan kedua bola di belakang punggungnya dan menyuruhnya untuk menunjukkan bola apa saja dan menyembunyikannya lagi. Selanjutnya, Anda memberi tahu teman Anda bahwa dia memiliki pilihan untuk menunjukkan bola yang sama lagi atau menukarnya dengan yang lain.
Setiap kali bola baru ditampilkan, Anda dapat memberi tahu dia apakah dia mengganti bola atau tidak. Jika Anda terus menebak panggilan yang tepat, kemungkinan besar bola akan berwarna berbeda. Teman Anda sekarang harus diyakinkan bahwa bola-bola itu berwarna berbeda tanpa harus memberi tahu dia bola mana yang memiliki warna apa.
Aplikasi Praktis
Contoh paling praktis dari bukti tanpa pengetahuan terbagi menjadi dua jenis.
Pertama, ZKP dapat digunakan saat merancang protokol. Kami dapat memastikan bahwa pihak yang berbeda tidak dapat menipu atau memanfaatkan protokol. Kedua, ZKP dapat digunakan untuk identifikasi.
Misalnya, kita dapat menggunakan ZKP untuk masuk ke aplikasi web dengan aman tanpa harus mengungkapkan kata sandi itu sendiri.
Mari kita lihat beberapa contoh bagaimana kita dapat menggunakan bukti tanpa pengetahuan.
Pemungutan Suara Elektronik
Salah satu penerapan ZKP yang umum dibahas adalah kemungkinan perannya dalam pemungutan suara online. Katakanlah kita memiliki referendum mendatang di mana pengguna dapat memberikan suara pada kebijakan yang diusulkan. Setiap pemilih yang memenuhi syarat diizinkan untuk memilih 1 atau 0 pada surat suara.
Dengan menggunakan ZKP, pemilih dapat membuktikan haknya untuk memberikan suara tanpa mengungkapkan identitasnya. Ini memastikan bahwa setiap suara akan benar-benar anonim. ZKP tambahan juga akan digunakan untuk membuktikan bahwa suara pengguna tertentu adalah bagian dari penghitungan suara akhir.
Mengenai isi surat suara itu sendiri, sistem pemungutan suara juga dapat menghasilkan bukti tanpa pengetahuan bahwa setiap surat suara mengandung angka 1 atau 0. Hal ini dilakukan tanpa harus mengetahui isi surat suara itu sendiri.
Privasi Blockchain
Blockchains seperti Bitcoin dan Ethereum tidak secara asli mendukung transaksi pribadi. Selama dompet Bitcoin Anda bersifat publik, siapa pun dapat membuka penjelajah blok seperti Blokir untuk melihat semua transaksi yang menjadi bagian dari dompet tersebut.
Sementara itu, menggunakan layanan seperti bank atau layanan pembayaran seperti Cash App atau Venmo memberi Anda kemampuan untuk bertransaksi secara pribadi. Kenyamanan ini, bagaimanapun, datang dengan biaya mengungkapkan informasi Anda ke layanan terpusat.
Kami dapat menggabungkan anonimitas dengan desentralisasi dengan menambahkan ZKP ke protokol blockchain. Cryptocurrency seperti ZCash menggunakan ZKP untuk membuat transaksi pribadi yang memungkinkan pemegang koin untuk mempertahankan anonimitas mereka. Beberapa dari cryptocurrency ini menggunakan jenis ZKP yang dikenal sebagai zk-SNARK.
ZKP ini tidak memerlukan interaksi antara Prover dan Verifikator.
Rollup Tanpa Pengetahuan
ZK-rollup adalah solusi skalabilitas yang memungkinkan transaksi off-chain diverifikasi secara instan dan dengan biaya gas minimal. Mereka adalah cara untuk menggabungkan sejumlah besar transaksi Layer 2 dan mengirimkannya ke protokol Layer 1.
Selain memberikan privasi, ZKP memungkinkan penskalaan sistem yang kompleks. Protokol Blockchain dapat menggunakan ZKP untuk membuktikan bahwa pengguna telah menyelesaikan transaksi yang tepat, memiliki saldo yang sesuai, dan sebagainya. Solusi aman namun terukur ini hanya dimungkinkan melalui pembuktian matematis yang dilakukan secara off-chain di ZKP.
Protokol seperti Loopring menggunakan bukti tanpa pengetahuan untuk membantu memproses transaksi off-chain tanpa harus mengorbankan keamanan.
Manfaat Bukti Tanpa Pengetahuan
- ZKP menggantikan bentuk otentikasi yang kurang dapat diandalkan seperti PIN atau kartu identitas
- ZKPS meningkatkan skalabilitas blockchain
- Implementasi ZKP membutuhkan metode enkripsi sederhana
- Penggunaan ZKPS dapat membuat sistem lebih aman dengan tidak memerlukan informasi yang tidak perlu untuk disimpan dalam sistem.
Kesimpulan
Privasi data sudah menjadi masalah utama dalam sistem terpusat dan terdesentralisasi. Bukti tanpa pengetahuan memberikan cara bagi berbagai pihak untuk membuktikan atau memvalidasi transaksi dan identitas tanpa harus mengungkapkan transaksi atau identitas tersebut.
Karena teknologi blockchain semakin banyak digunakan, adopsi ZKP untuk menangani verifikasi dengan aman akan menjadi kunci masalah skalabilitas.
Tinggalkan Balasan