Apa itu Zero-Knowledge Proof & Perannya di Dunia Blockchain?
Diterbitkan: 2020-01-09Selama beberapa tahun terakhir, kami telah terbiasa dengan cara bank besar dan perusahaan lain mengakses dan menggunakan informasi pribadi kami untuk memberikan kami pengalaman yang lebih baik. Kami dari waktu ke waktu telah memberi mereka 'sinyal hijau' untuk mekanisme yang menggunakan detail sensitif kami untuk membantu kami mempertahankan dengan cara tertentu.
Tapi kemudian memasuki teknologi Blockchain dan itu benar-benar mengubah segalanya.
Teknologi Blockchain membawa berbagai karakteristik seperti transparansi, kekekalan, desentralisasi, dan buku besar terdistribusi menjadi ada. Ini memungkinkan pengguna untuk bertindak secara anonim dan melakukan transaksi dengan keamanan kelas atas.
[Sebelum kita melihat lebih jauh, kami sangat menyarankan meluangkan waktu untuk memahami dasar-dasar Blockchain .]
Blockchain, secara sederhana, memberi pengguna kendali atas privasi dan masa depan mereka kembali.
Tapi, apakah Blockchain benar-benar berhasil melakukannya?
Dalam satu kata, jawabannya adalah TIDAK .
Banyak jaringan blockchain menggunakan database publik. Jadi, siapa pun yang memiliki koneksi internet dapat melihat daftar riwayat transaksi jaringan. Mereka dapat melihat semua detail yang terkait dengan transaksi dan detail dompet Anda, tetapi nama pengguna tetap tidak diketahui oleh mereka. Sebaliknya, mereka akan tampil sebagai kunci publik – kode unik yang mewakili pengguna di jaringan blockchain.
Dengan cara ini, kunci publik yang dibuat melalui teknik kriptografi menjaga privasi Anda sampai batas tertentu. Tapi, masih mungkin bagi seseorang untuk mengekspos Anda melalui teknik lain.
Ini membuat sampul anonim Anda meledak; membongkar mitos anonimitas dan privasi Blockchain, dan membuat Anda menyadari bahwa –
Informasi sensitif pengguna yang disimpan di jaringan Blockchain hanya bersifat rahasia, bukan anonim .
Demikian juga, ada berbagai jaringan blockchain yang diatur oleh algoritme konsensus untuk memberikan privasi dan stabilitas kelas atas, tetapi desentralisasi dianggap sebagai prioritas kedua dalam kasus tersebut. Dalam banyak kasus seperti itu, kedua pihak tidak saling percaya. [Untuk membaca tentang model konsensus ini secara rinci, lihat panduan algoritma konsensus blockchain ini .]
Ini, secara keseluruhan, memberikan indikasi yang jelas bahwa Blockchain tidak begitu anonim dan terdesentralisasi seperti yang diyakini oleh banyak penggemarnya. Bahkan melahirkan berbagai pertanyaan, seperti –
Apakah jaringan Blockchain benar-benar harus anonim? Bagaimana Blockchain dapat menawarkan lebih banyak anonimitas dan perlindungan privasi yang lebih baik kepada penggunanya?
Dalam jaringan Blockchain saat ini, transaksi dicatat dalam buku besar publik dan bersifat transparan. Karena itu, berbagai merek dan pasar terkenal seperti Wall Street ragu-ragu untuk mengadopsi teknologi tanpa bukti pengetahuan karena kerahasiaan klien dan transaksi adalah suatu keharusan bagi mereka. Ini, secara keseluruhan, mempertanyakan apakah Blockchain web 3.0 akan dapat berdampak pada bisnis .
Datang ke pertanyaan kedua, ada berbagai konsep dan metode seperti pencampuran koin, Ringct , dan Coin Join yang membuat transaksi anonim di Blockchain, tetapi yang sangat dihargai adalah Zero-Knowledge Proof .
Salah satu yang akan kami bahas secara rinci dalam artikel ini.
Jadi, mari kita mulai dengan definisi sederhana tentang blockchain tanpa pengetahuan .
Apa itu Bukti Tanpa Pengetahuan?
Zero-knowledge Proof adalah skema enkripsi yang diusulkan oleh peneliti MIT Silvio Micali , Shafi Goldwasser, dan Charles Rackoff pada 1980-an. Dalam metode ini, satu pihak (Prover) dapat membuktikan bahwa suatu pernyataan tertentu benar bagi pihak lain (Verifier) tanpa mengungkapkan informasi tambahan apapun.
Enkripsi Pengetahuan Nol memastikan bahwa tidak seorang pun, kecuali Anda (bahkan penyedia layanan atau agen pengembangan aplikasi blockchain) dapat mengakses data aman Anda.
Dengan definisi yang sudah jelas, mari kita ambil contoh untuk memahami cara kerja ZKP .
Contoh: Anak-anak dan Permen
Misalkan, dua anak – Bob dan Alice, telah menerima beberapa permen dari sebuah pesta. Bob ingin tahu apakah Alice mendapat jumlah permen yang sama atau tidak. Tetapi, pada saat yang sama, tidak satu pun dari mereka yang bersedia mengungkapkan jumlah pastinya.
Jadi, yang mereka lakukan adalah Bob membawa empat kotak yang dapat dikunci di sebuah ruangan, dengan asumsi jumlah permen yang diterima adalah 10, 20, 30, dan 40. Dia memberi label pada setiap kotak dengan nilai yang sesuai dengan jumlah permen.
Kemudian, Bob menyimpan kunci kotak yang menunjukkan jumlah permen yang dia terima di sakunya (misalkan dia mendapat 30 permen) dan membuang kunci semua kotak lainnya. Dan dia meninggalkan ruangan.
Sekarang, Alice memasuki ruangan dengan 4 lembar kertas kecil dan menulis '+' di salah satunya sementara '-' di kertas lainnya. Di sini, '+' menunjukkan jumlah permen yang dia dapatkan, sementara '-' mewakili setiap nilai lainnya.
Dia menyelipkan potongan kertas dengan tanda '+' di satu kotak (misalkan di kotak yang mewakili 20 batang permen) dan '-' di kotak lainnya. Dan dia pergi.
Sekarang, Bob memasuki ruangan lagi dan membuka kotak yang kuncinya ada di sakunya. Kemudian, dia memeriksa apakah kotak itu memiliki selembar kertas bertanda '+' atau '-'. Jika itu adalah tanda '+', dia menyadari bahwa Alice memiliki jumlah permen yang sama. Sementara, dalam kasus lain, dia tidak.
Seperti yang kita ketahui bahwa Alice memiliki 20 permen dan Bob memiliki 30 permen, jelas Bob akan menemukan tanda '-' di kotak yang dapat dikunci yang kuncinya dia miliki. Ini akan membuatnya jelas bahwa mereka berdua tidak memiliki jumlah permen yang sama.
Pada saat yang sama, Alice akan masuk kembali ke ruangan dan menemukan tanda '-' di tangan Bob dan dia juga akan mengetahui bahwa mereka memiliki jumlah permen yang berbeda.
Catatan: Dengan metode ini, Bob akan belajar bahwa mereka tidak memiliki jumlah permen yang sama. Tapi, dia masih tidak akan tahu apakah Alice memiliki lebih banyak atau lebih sedikit permen daripada dia, dan sebaliknya.
Dengan demikian, zero knowledge proof ethereum menjaga privasi informasi sensitif pengguna, saat melakukan transaksi (dalam hal ini, transaksi menemukan apakah mereka memiliki jumlah candy bar yang sama atau tidak).
Meskipun contoh ini akan membantu Anda dalam memahami apa sebenarnya Zero Knowledge Proofs (ZKPs), mari segarkan konsep dengan gambar-
Sekarang, ketika konsep bukti tanpa pengetahuan (ZKP) dijelaskan, ini adalah waktu terbaik untuk melihat apa yang membuat semua orang lebih menyukainya daripada opsi lain yang tersedia. Mari gali pro dan kontra tanpa bukti pengetahuan:
Manfaat Zero Knowledge Proof (ZKP)
- Sederhana – Salah satu keuntungan utama dari kriptografi tanpa pengetahuan adalah tidak melibatkan metode enkripsi yang rumit.
- Aman – Tidak memerlukan siapa pun untuk mengungkapkan informasi apa pun.
- Transaksi Manfaat meyakinkan lainnya yang terkait dengan ZKP mengacu pada pemendekan transaksi di blockchain. Akibatnya, pengguna tidak perlu khawatir tentang penyimpanan informasi untuk menyertakan kompatibilitas dan identitas dengan berbagai jenis aset.
Meskipun ini adalah kelebihan dari bukti tanpa pengetahuan, konsep ini juga memiliki beberapa kelemahan. Beberapa di antaranya adalah:-
- Panjang – Dalam teknologi pengetahuan nol , ada sekitar 2k komputasi, dengan masing-masing membutuhkan sejumlah waktu tertentu untuk diproses. Ini adalah penipu utama untuk pergi dengan bukti tanpa pengetahuan.
- Imperfect – Pesan yang dikirimkan ke verifier/prover mungkin akan dimusnahkan atau diubah.
- Terbatas – Protokol tanpa pengetahuan menuntut rahasia menjadi nilai numerik. Dalam kasus lain, terjemahan diperlukan.
Dengan membahas ini, mari gali lebih dalam ke teknis sebelum kita mengevaluasi kapan dan bagaimana protokol Zero-knowledge dapat diperkenalkan ke dalam ekosistem Blockchain.
Dimulai dengan apa karakteristik inti dari bukti tanpa pengetahuan.
Sifat-sifat Bukti Tanpa Pengetahuan
1. Kelengkapan
Jika pernyataan itu benar dan kedua pengguna mengikuti aturan secara religius, maka pemeriksa akan diyakinkan tanpa bantuan dari luar.
2. Kesehatan
Jika pernyataan itu salah, pemverifikasi tidak akan yakin dalam skenario apa pun (bahkan jika pembuatnya mengatakan bahwa pernyataan itu benar untuk beberapa kemungkinan kecil).
3. Pengetahuan Nol
Dalam kedua kasus tersebut, pemeriksa tidak akan dapat mengetahui informasi apa pun selain pernyataan itu benar atau salah.
Sementara prinsip- prinsip ZKP dibahas, mari kita bicara tentang berbagai jenis ZKP yang dapat diinvestasikan oleh penggemar bisnis.
Jenis Bukti Pengetahuan Nol
1. Bukti Tanpa Pengetahuan Interaktif
Dalam pembuktian tanpa pengetahuan interaktif , seorang pembukti melakukan serangkaian tindakan di bawah mekanisme probabilitas matematis untuk meyakinkan pemverifikasi fakta tertentu.
2. Bukti Tanpa Pengetahuan Non-Interaktif (NIZKP)
Seperti yang digambarkan dari namanya, bukti pengetahuan nol non-interaktif tidak memerlukan proses interaktif. Artinya, Prover dapat menghasilkan semua tantangan sekaligus dan Verifikator nantinya dapat merespons. Ini membatasi kemungkinan kolusi. Namun, dibutuhkan mesin dan perangkat lunak tambahan untuk mengetahui urutan percobaan.
Catatan: Dimungkinkan untuk melakukan transisi dari ZKP non-interaktif ke ZKP interaktif.
Di mana Menerapkan Bukti Tanpa Pengetahuan dalam Sistem Blockchain?
1. Perpesanan
Dalam perpesanan, enkripsi ujung ke ujung sangat penting agar tidak ada yang bisa membaca pesan pribadi Anda selain orang yang berkomunikasi dengan Anda. Untuk memastikan keamanan, platform perpesanan meminta pengguna untuk memverifikasi identitas mereka ke server dan sebaliknya.
Namun, dengan munculnya ZKP, mereka akan dapat membangun kepercayaan ujung-ke-ujung di dunia perpesanan tanpa membocorkan informasi tambahan apa pun. Ini adalah salah satu aplikasi utama dari bukti tanpa pengetahuan di dunia blockchain.
2. Otentikasi
Bukti tanpa pengetahuan juga dapat memfasilitasi transmisi informasi sensitif seperti informasi otentikasi dengan keamanan yang lebih baik. Itu dapat membangun saluran yang aman bagi pengguna untuk menggunakan informasi mereka tanpa mengungkapkannya. Dan dengan cara ini, hindari kebocoran data dalam skenario terburuk.
3. Perlindungan Penyimpanan
Kasus penggunaan lain yang mungkin dari bukti tanpa pengetahuan (ZKP) adalah di bidang utilitas penyimpanan.
Bukti tanpa pengetahuan hadir dengan protokol yang tidak hanya melindungi unit penyimpanan, tetapi juga informasi di dalamnya. Tak perlu dikatakan, saluran akses juga dilindungi untuk memberikan pengalaman yang mulus dan aman.
4. Mengirim Transaksi Blockchain Pribadi
Ketika berbicara tentang pengiriman transaksi blockchain pribadi, sangat penting untuk menjauhkannya dari jangkauan pihak ketiga. Sekarang, sementara metode tradisional agak protektif, mereka memiliki beberapa celah.
Ini adalah area lain di mana ZKP ikut bermain. Konsepnya, ketika diintegrasikan dengan bijak, membantu membuatnya hampir tidak mungkin untuk meretas atau mencegat transaksi blockchain pribadi.
5. Dokumentasi Kompleks
Karena bukti tanpa pengetahuan memiliki potensi untuk mengenkripsi data dalam potongan, ini memungkinkan seseorang untuk mengontrol blok tertentu untuk memberikan akses ke pengguna tertentu, sambil membatasi akses untuk orang lain. Dengan cara ini, konsep melindungi dokumentasi kompleks dari mereka yang tidak berwenang untuk melihatnya.
6. Kontrol Sistem File
Tempat lain di mana Anda dapat melihat implementasi bukti tanpa pengetahuan yang efektif adalah sistem file.
Konsep ini menambahkan lapisan keamanan yang berbeda ke file, pengguna, dan bahkan login yang membuatnya cukup sulit bagi seseorang untuk meretas atau memanipulasi data yang disimpan.
7. Mengirimkan Transaksi Blockchain Pribadi
Transmisi pertukaran blockchain pribadi adalah salah satu pemberitahuan mencolok di antara berbagai eksekusi terkemuka ZKP di blockchain. Transaksi Blockchain pribadi harus dilindungi dari pihak ketiga mana pun saat mengirimnya.
Kekhawatiran utama dalam mengirim transaksi blockchain pribadi menyinggung berbagai celah yang terlihat dalam strategi reguler. Integrasi ZKP yang kuat dengan transaksi blockchain pribadi dapat membuatnya serbaguna terhadap semua jenis peretasan atau gangguan.
8. Demokratisasi Verifikasi Suara
Contoh paling jelas dari penerapan ZKP dengan blockchain menyinggung peran demokratis mereka dalam memeriksa suara. ZKP dapat memberikan jawaban yang andal untuk pemungutan suara yang dapat diaudit dengan merekam suara di blockchain publik (seperti ethereum).
Selanjutnya, proses pemungutan suara tidak memerlukan konfirmasi pihak ketiga selain mengecualikan persyaratan pembatasan. ZKP dapat mengizinkan pemilih untuk menunjukkan kelayakan mereka untuk memberikan suara, di sepanjang garis ini mencegah paparan data pribadi sensitif mereka. Demikian juga, pemilih dapat meminta bukti yang tidak dapat diubah untuk pertimbangan suara mereka dalam penghitungan suara akhir.
9. Keamanan untuk Informasi Sensitif
Last but not least, bukti Zero-pengetahuan juga menyempurnakan cara teknologi blockchain memperbaiki transaksi .
ZKP menambahkan tingkat keamanan kelas atas ke setiap blok yang berisi informasi perbankan sensitif seperti detail dan riwayat kartu kredit Anda, sehingga bank hanya perlu memanipulasi blok yang diperlukan saat pengguna meminta informasi. Blok lain tetap tak tersentuh dan dengan demikian, dilindungi.
Misalnya
ZoKrates (kotak peralatan digital) digunakan oleh pengembang terampil untuk merancang dan memverifikasi ZKP melalui Solidity — bahasa pemrograman berorientasi objek yang digunakan untuk membuat kontrak pintar berbasis Ethereum.
Aztec berusaha membawa bukti pengetahuan nol ethereum ke jaringan Ethereum yang ada dengan mengembangkan setumpuk kontrak pintar yang berfokus pada privasi.
Jadi, ini adalah beberapa kasus penggunaan bukti tanpa pengetahuan dalam layanan pengembangan blockchain . Untuk membuat kehadiran merek Anda di pasar dengan membangun salah satunya, sewalah perusahaan pengembangan aplikasi blockchain .
Dan jika Anda bingung tentang implementasinya di dunia nyata, periksa proyek-proyek yang ada berikut ini yang beroperasi dengan konvergensi dua.
Contoh Kehidupan Nyata dari Konvergensi Bukti Pengetahuan Nol dan Blockchain
1. ZCash
Zcash adalah platform blockchain open-source dan tanpa izin yang menawarkan fungsionalitas untuk menjaga transaksi 'transparan' dan 'terlindung' sesuai kebutuhan.
Dalam kasus sebelumnya, transaksi diatur oleh t-addr, seperti halnya transaksi bitcoin. Sementara dalam kasus terakhir, bukti tanpa pengetahuan yang disebut zk-SNARKs digunakan dan transaksi dikendalikan oleh z-addr.
Ini adalah kasus penggunaan cryptocurrency pertama dan penerapan ZKP di dunia crypto. Ini adalah cryptocurrency tanpa pengetahuan pertama yang menggunakan teknologi ini.
2. ING
ING adalah bank yang berbasis di Belanda yang telah memperkenalkan blockchain tanpa pengetahuannya sendiri. Namun, mereka telah memodifikasi sistem tanpa pengetahuan mereka untuk menjadikannya bukti rentang pengetahuan tanpa pengetahuan untuk menurunkan kebutuhan akan daya komputasi.
Dengan cara ini, mereka telah mempersiapkan sistem tanpa pengetahuan mereka untuk meningkatkan dampak blockchain di fintech .
3. ZCoin
Perusahaan menggunakan protokol Zerocoin, yang didasarkan pada bukti tanpa pengetahuan, untuk meningkatkan keamanan dan anonimitas dalam proses transaksi. Namun, yang membuatnya berbeda dari proyek lain yang mengerjakan konsep ini adalah ia juga menawarkan skalabilitas.
Meskipun berbagai aktor internasional mulai menunjukkan minat untuk menerapkan konsep bukti tanpa pengetahuan ke dalam blockchain, kecepatan adopsinya terlalu lambat. Dan alasan utama di baliknya adalah serangkaian tantangan berikut yang terkait dengan penambahan ZKP ke dalam lingkungan blockchain.
Tantangan yang Mungkin Anda Hadapi Saat Mengintegrasikan ZKP ke Proyek Blockchain Anda
1. Tidak Ada Standar
Karena teknologi blockchain itu sendiri berada pada tahap adopsi awal, tidak ada standar, sistem, dan bahasa homogen yang memungkinkan pengembang aplikasi dan prospek bisnis untuk berinteraksi dengan konsep ZKP dan memanfaatkan potensinya dengan cara yang efisien.
2. Skalabilitas
Tantangan lain yang membatasi adopsi bukti tanpa pengetahuan di lingkungan blockchain adalah skalabilitas, asalkan algoritma tersebut membutuhkan kapasitas komputasi yang tinggi untuk beroperasi pada tingkat tinggi.
Membungkus
Sekarang konsep ZKP dan cakupannya dalam domain Blockchain (bersama dengan contoh kehidupan nyata) jelas bagi Anda, kami berharap Anda berinvestasi dalam penerapan konsep yang lebih luas sambil melangkah ke dunia yang terdesentralisasi.
Namun, jika Anda masih memiliki pertanyaan, hubungi konsultan Blockchain kami atau pakar kami di layanan pengembangan aplikasi blockchain AS.