zkPass adalah protokol oracle yang memungkinkan data internet privat untuk diverifikasi di atas blockchain. zkPass dibangun di atas zkTLS yang terdiri dari 3P-TLS dan teknologi ZK campuran, menyediakan alat dan aplikasi untuk berbagi data yang aman dan dapat diverifikasi, serta menjamin privasi dan integritas dari situs web HTTPS mana pun, tanpa perlu OAuth API.
zkPass bagaimana cara kerjanya? Struktur keseluruhan dan konsep inti
Bagaimana zkPass berfungsi? Untuk memahami strukturnya, Anda perlu mengenal tiga peran inti: P (Pembuktian/Penjamin), V (Validator/Bisnis/Nodal zkPass), S (Server TLS/Sumber Data). Dalam proses verifikasi data tradisional, penjamin mengirimkan informasi kepada validator, yang kemudian mengambil data ini dan bekerja sama dengan DataSource untuk melakukan pemeriksaan verifikasi. Model ini memiliki tiga masalah besar: penjamin menghadapi risiko mengungkapkan terlalu banyak informasi pribadi; sumber data meskipun terpercaya tetapi tidak dapat memberikan layanan verifikasi yang dipersonalisasi; validator menguasai semua data pribadi pelanggan, yang membawa risiko potensial besar terhadap kebocoran data.
zkPass mengajukan solusi revolusioner yang menempatkan pembuktian di antara validator dan sumber data. Berbeda dengan metode tradisional, pembuktian menggunakan token akses mereka untuk secara langsung memposisikan dan mengambil data dari sumber data, kemudian menghasilkan bukti nol-pengetahuan (ZKP) untuk diperiksa oleh validator. Proses ini memastikan bahwa validator masih tidak mengetahui informasi pribadi dari pembuktian. Arsitektur ini mengintegrasikan 3P-TLS, MPC (perhitungan multi-partai), dan teknologi ZK (nol-pengetahuan) campuran.
Komponen Teknologi Inti:
3P-TLS: Keamanan lapisan transport tiga pihak yang didasarkan pada protokol DH kurva elips, menggabungkan MPC dan Oblivious Transfer (OT) untuk mencegah kecurangan.
Hybrid ZK: Sistem bukti dua lapis yang menggabungkan ZK interaktif (VOLE-ZK 23) dan ZK non-interaktif (SNARK/Circom)
zkSBT: Token terikat jiwa yang berbasis pada standar NFT komposabel ERC998, menyimpan pernyataan utama dan pernyataan kueri.
3P-TLS dan MPC: Terobosan Teknologi Tiga Pihak
Kunci pertama cara kerja zkPass terletak pada protokol 3P-TLS. Transport Layer Security (TLS) adalah protokol komunikasi aman dari HTTPS, yang didukung hampir semua sumber data. zkPass membangun protokol 3P-TLS berdasarkan protokol DH kurva elips dan menggabungkannya dengan MPC dan Oblivious Transfer untuk mencapai komunikasi aman tiga pihak.
Tahap Pertama: Tiga pihak melakukan jabat tangan P, V, dan S bersama-sama menghasilkan kunci sesi, P dan V masing-masing mendapatkan bagian dari kunci tersebut. Ini diimplementasikan menggunakan algoritma enkripsi Paillier, yang menyediakan homomorfisme penjumlahan. Kunci utama sementara dibagi menjadi dua bagian, P dan V masing-masing mendapatkan setengahnya, sementara S menyimpan kunci utama sementara yang utuh. Untuk mencegah klien memalsukan situs web palsu, klien akan meminta server untuk mengembalikan sertifikat, memastikan kepercayaan terhadap sumber data.
Tahap Kedua: Pertukaran kunci dan melakukan perhitungan MPC dengan P dan V untuk mengenkode kunci (enc_key) dan kunci kode otentikasi pesan (mac_key). Desain kunci terletak pada V hanya memiliki sebagian dari mac_key dan tidak memiliki enc_key, yang memastikan V tidak dapat mengakses informasi pribadi pengguna. Sebaliknya, P memegang sebagian dari mac_key, dapat mengakses informasi identitas tertentu tetapi tidak dapat mengubahnya, setiap perubahan dapat dideteksi melalui mac_key untuk memverifikasi keaslian pesan.
Tahap Tiga: Persiapan TLS Standar dan ZKP Aplikasi data mengikuti prosedur protokol komunikasi TLS standar, P dan V bertukar kunci, mempersiapkan untuk tahap yang akan datang yang melibatkan bukti tanpa pengetahuan. Algoritma MPC zkPass telah dioptimalkan secara signifikan dalam waktu komunikasi, fungsi hash, dan operasi memori, meningkatkan efisiensi lebih dari tiga kali lipat. Menggunakan metode pembuktian AES128 yang baru, jumlah blok berkurang 300 kali, dan waktu eksekusi Garbler/Evaluator meningkat sepuluh kali lipat. Secara spesifik, zkPass menggunakan Silent OT untuk operasi OT, memanfaatkan GC tumpukan untuk mengurangi ukuran sirkuit acak, secara signifikan memperpendek waktu eksekusi keseluruhan proses MPC.
Campuran ZK: Kombinasi Sempurna Interaktif dan Non-Interaktif
Kunci kedua cara kerja zkPass terletak pada metode campuran zero-knowledge. Langkah terakhir dari protokol zkPass melibatkan klien yang menghasilkan bukti zero-knowledge, yang diverifikasi oleh kontrak pintar di blockchain. Metode campuran ini menggabungkan keuntungan dari protokol ZK interaktif dan non-interaktif.
Interaktif Zero-Knowledge (IZK): VOLE-ZK 23 zkPass menggunakan protokol ZK interaktif berbasis VOLE untuk autentikasi, memastikan data berasal dari sumber data yang akurat dan melindunginya dari pemalsuan klien. Protokol VOLE-ZK 23 adalah kerangka “komit dan buktikan”, di mana pembuktian (P) dan verifier (V) secara bersama-sama menghasilkan banyak instance VOLE, di mana setiap instance memenuhi rumus linier “m = k + w * delta”. P mengirimkan beberapa komponen dari rumus tersebut sebagai komitmen, dan V menyimpan komponen yang tersisa.
Tingkat linearitas ini adalah alasan kunci mengapa solusi ini memiliki biaya yang efektif, membedakannya dari solusi polinomial tingkat tinggi lainnya seperti SNARK. P hanya perlu mengirimkan dua elemen kolom kepada verifier, kemudian V menggunakan parameter VOLE-nya untuk memverifikasi relevansi. Pada tahap ini terdapat lima batasan utama, memastikan permintaan menggunakan kunci enkripsi, harus menggunakan token akses pengguna untuk menghasilkan permintaan, pengguna harus memiliki kunci enkripsi untuk mendekripsi respons, pengguna tidak dapat mengubah respons, dan data respons harus mematuhi kondisi tertentu yang dijelaskan dalam template.
Teknologi zkPass telah melakukan beberapa optimasi untuk meningkatkan kegunaan protokol. Memperkenalkan SoftSpoken mengurangi sekitar 50% overhead jaringan dan mempercepat generasi VOLE. Dengan memanfaatkan sifat homomorfik aditif dari VOLE, komitmen untuk gerbang XOR dan INV dikurangi menjadi nol. Untuk kasus penggunaan tertentu yang melibatkan operasi yang sama, parameter VOLE dapat digunakan kembali, mengubah operasi perkalian menjadi operasi penjumlahan, yang dikenal sebagai “masukan sinyal data ganda”, mirip dengan SIMD dalam arsitektur CPU.
Zero-Knowledge Non-Interactive (NIZK) kemudian beralih dari bukti IZK ke bukti NIZK, dengan tujuan menyembunyikan pola template yang sebenarnya, memungkinkan pengguna untuk secara selektif mengungkapkan bukti untuk verifikasi publik oleh pihak manapun. Menggunakan kerangka SNARK, khususnya Circom. Setelah klien berhasil melewati verifikasi IZK, node akan memberikan tanda tangan untuk hasil tersebut, klien akan menyisipkan hasil dan tanda tangan terkait ke dalam pohon Merkle, dan memperbarui akar dalam kontrak SBT. Ketika klien perlu membuktikan hasilnya, mereka hanya perlu memberikan bukti zero-knowledge, membuktikan bahwa hasil tersebut adalah sebuah daun dalam pohon Merkle, dan telah ditandatangani oleh node.
zkSBT: Sistem Token Terikat Jiwa yang Dapat Digabungkan
Kunci ketiga cara kerja zkPass terletak pada arsitektur zkSBT. zkPass mematuhi standar ERC998, yaitu standar NFT yang dapat digabungkan. tSBT mewakili kategori seperti identitas hukum, jaringan sosial, dan informasi keuangan, sementara dSBT mencakup sertifikat nyata yang diklaim oleh pengguna. Ada dua jenis deklarasi ini: deklarasi utama dan deklarasi kueri.
Klaim utama melibatkan pengguna yang mendapatkan data pribadi mereka dari sumber data setelah menjalankan MPC, seperti negara/wilayah, usia, jenis kelamin, dan informasi lain dari situs web pemerintah. Klaim tree dibangun berdasarkan data ini, di mana setiap node mewakili nilai hash dari child node-nya. Menggunakan tanda tangan babyjub untuk menambahkan angka acak guna mencegah serangan yang mendetail, menyimpan root hash dari klaim tree utama di dSBT, yang harus dihasilkan oleh kontrak pintar dan membuktikan kebenaran tree melalui pembuktian nol-pengetahuan.
Dalam hal query pernyataan, misalnya menentukan apakah usia pengguna lebih dari 18, pengguna hanya perlu memberikan bukti, yang menunjukkan bahwa daun yang mewakili usianya terdapat dalam struktur pohon, dan nilai daun tersebut lebih dari 18. Pengguna dapat langsung mengirimkan bukti ini kepada verifier, yang dapat menjalankan fungsi on-chain untuk memverifikasi bukti tersebut. Ini memastikan bahwa data pribadi pengguna yang sebenarnya tetap tersembunyi dari semua pihak yang relevan, hanya pernyataan tentang query data yang secara selektif diungkapkan kepada verifier tertentu.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Bagaimana zkPass berfungsi? 3P-TLS + campuran ZK menciptakan Mesin Oracle zero-knowledge
zkPass adalah protokol oracle yang memungkinkan data internet privat untuk diverifikasi di atas blockchain. zkPass dibangun di atas zkTLS yang terdiri dari 3P-TLS dan teknologi ZK campuran, menyediakan alat dan aplikasi untuk berbagi data yang aman dan dapat diverifikasi, serta menjamin privasi dan integritas dari situs web HTTPS mana pun, tanpa perlu OAuth API.
zkPass bagaimana cara kerjanya? Struktur keseluruhan dan konsep inti
Bagaimana zkPass berfungsi? Untuk memahami strukturnya, Anda perlu mengenal tiga peran inti: P (Pembuktian/Penjamin), V (Validator/Bisnis/Nodal zkPass), S (Server TLS/Sumber Data). Dalam proses verifikasi data tradisional, penjamin mengirimkan informasi kepada validator, yang kemudian mengambil data ini dan bekerja sama dengan DataSource untuk melakukan pemeriksaan verifikasi. Model ini memiliki tiga masalah besar: penjamin menghadapi risiko mengungkapkan terlalu banyak informasi pribadi; sumber data meskipun terpercaya tetapi tidak dapat memberikan layanan verifikasi yang dipersonalisasi; validator menguasai semua data pribadi pelanggan, yang membawa risiko potensial besar terhadap kebocoran data.
zkPass mengajukan solusi revolusioner yang menempatkan pembuktian di antara validator dan sumber data. Berbeda dengan metode tradisional, pembuktian menggunakan token akses mereka untuk secara langsung memposisikan dan mengambil data dari sumber data, kemudian menghasilkan bukti nol-pengetahuan (ZKP) untuk diperiksa oleh validator. Proses ini memastikan bahwa validator masih tidak mengetahui informasi pribadi dari pembuktian. Arsitektur ini mengintegrasikan 3P-TLS, MPC (perhitungan multi-partai), dan teknologi ZK (nol-pengetahuan) campuran.
Komponen Teknologi Inti:
3P-TLS: Keamanan lapisan transport tiga pihak yang didasarkan pada protokol DH kurva elips, menggabungkan MPC dan Oblivious Transfer (OT) untuk mencegah kecurangan.
Hybrid ZK: Sistem bukti dua lapis yang menggabungkan ZK interaktif (VOLE-ZK 23) dan ZK non-interaktif (SNARK/Circom)
zkSBT: Token terikat jiwa yang berbasis pada standar NFT komposabel ERC998, menyimpan pernyataan utama dan pernyataan kueri.
3P-TLS dan MPC: Terobosan Teknologi Tiga Pihak
Kunci pertama cara kerja zkPass terletak pada protokol 3P-TLS. Transport Layer Security (TLS) adalah protokol komunikasi aman dari HTTPS, yang didukung hampir semua sumber data. zkPass membangun protokol 3P-TLS berdasarkan protokol DH kurva elips dan menggabungkannya dengan MPC dan Oblivious Transfer untuk mencapai komunikasi aman tiga pihak.
Tahap Pertama: Tiga pihak melakukan jabat tangan P, V, dan S bersama-sama menghasilkan kunci sesi, P dan V masing-masing mendapatkan bagian dari kunci tersebut. Ini diimplementasikan menggunakan algoritma enkripsi Paillier, yang menyediakan homomorfisme penjumlahan. Kunci utama sementara dibagi menjadi dua bagian, P dan V masing-masing mendapatkan setengahnya, sementara S menyimpan kunci utama sementara yang utuh. Untuk mencegah klien memalsukan situs web palsu, klien akan meminta server untuk mengembalikan sertifikat, memastikan kepercayaan terhadap sumber data.
Tahap Kedua: Pertukaran kunci dan melakukan perhitungan MPC dengan P dan V untuk mengenkode kunci (enc_key) dan kunci kode otentikasi pesan (mac_key). Desain kunci terletak pada V hanya memiliki sebagian dari mac_key dan tidak memiliki enc_key, yang memastikan V tidak dapat mengakses informasi pribadi pengguna. Sebaliknya, P memegang sebagian dari mac_key, dapat mengakses informasi identitas tertentu tetapi tidak dapat mengubahnya, setiap perubahan dapat dideteksi melalui mac_key untuk memverifikasi keaslian pesan.
Tahap Tiga: Persiapan TLS Standar dan ZKP Aplikasi data mengikuti prosedur protokol komunikasi TLS standar, P dan V bertukar kunci, mempersiapkan untuk tahap yang akan datang yang melibatkan bukti tanpa pengetahuan. Algoritma MPC zkPass telah dioptimalkan secara signifikan dalam waktu komunikasi, fungsi hash, dan operasi memori, meningkatkan efisiensi lebih dari tiga kali lipat. Menggunakan metode pembuktian AES128 yang baru, jumlah blok berkurang 300 kali, dan waktu eksekusi Garbler/Evaluator meningkat sepuluh kali lipat. Secara spesifik, zkPass menggunakan Silent OT untuk operasi OT, memanfaatkan GC tumpukan untuk mengurangi ukuran sirkuit acak, secara signifikan memperpendek waktu eksekusi keseluruhan proses MPC.
Campuran ZK: Kombinasi Sempurna Interaktif dan Non-Interaktif
Kunci kedua cara kerja zkPass terletak pada metode campuran zero-knowledge. Langkah terakhir dari protokol zkPass melibatkan klien yang menghasilkan bukti zero-knowledge, yang diverifikasi oleh kontrak pintar di blockchain. Metode campuran ini menggabungkan keuntungan dari protokol ZK interaktif dan non-interaktif.
Interaktif Zero-Knowledge (IZK): VOLE-ZK 23 zkPass menggunakan protokol ZK interaktif berbasis VOLE untuk autentikasi, memastikan data berasal dari sumber data yang akurat dan melindunginya dari pemalsuan klien. Protokol VOLE-ZK 23 adalah kerangka “komit dan buktikan”, di mana pembuktian (P) dan verifier (V) secara bersama-sama menghasilkan banyak instance VOLE, di mana setiap instance memenuhi rumus linier “m = k + w * delta”. P mengirimkan beberapa komponen dari rumus tersebut sebagai komitmen, dan V menyimpan komponen yang tersisa.
Tingkat linearitas ini adalah alasan kunci mengapa solusi ini memiliki biaya yang efektif, membedakannya dari solusi polinomial tingkat tinggi lainnya seperti SNARK. P hanya perlu mengirimkan dua elemen kolom kepada verifier, kemudian V menggunakan parameter VOLE-nya untuk memverifikasi relevansi. Pada tahap ini terdapat lima batasan utama, memastikan permintaan menggunakan kunci enkripsi, harus menggunakan token akses pengguna untuk menghasilkan permintaan, pengguna harus memiliki kunci enkripsi untuk mendekripsi respons, pengguna tidak dapat mengubah respons, dan data respons harus mematuhi kondisi tertentu yang dijelaskan dalam template.
Teknologi zkPass telah melakukan beberapa optimasi untuk meningkatkan kegunaan protokol. Memperkenalkan SoftSpoken mengurangi sekitar 50% overhead jaringan dan mempercepat generasi VOLE. Dengan memanfaatkan sifat homomorfik aditif dari VOLE, komitmen untuk gerbang XOR dan INV dikurangi menjadi nol. Untuk kasus penggunaan tertentu yang melibatkan operasi yang sama, parameter VOLE dapat digunakan kembali, mengubah operasi perkalian menjadi operasi penjumlahan, yang dikenal sebagai “masukan sinyal data ganda”, mirip dengan SIMD dalam arsitektur CPU.
Zero-Knowledge Non-Interactive (NIZK) kemudian beralih dari bukti IZK ke bukti NIZK, dengan tujuan menyembunyikan pola template yang sebenarnya, memungkinkan pengguna untuk secara selektif mengungkapkan bukti untuk verifikasi publik oleh pihak manapun. Menggunakan kerangka SNARK, khususnya Circom. Setelah klien berhasil melewati verifikasi IZK, node akan memberikan tanda tangan untuk hasil tersebut, klien akan menyisipkan hasil dan tanda tangan terkait ke dalam pohon Merkle, dan memperbarui akar dalam kontrak SBT. Ketika klien perlu membuktikan hasilnya, mereka hanya perlu memberikan bukti zero-knowledge, membuktikan bahwa hasil tersebut adalah sebuah daun dalam pohon Merkle, dan telah ditandatangani oleh node.
zkSBT: Sistem Token Terikat Jiwa yang Dapat Digabungkan
Kunci ketiga cara kerja zkPass terletak pada arsitektur zkSBT. zkPass mematuhi standar ERC998, yaitu standar NFT yang dapat digabungkan. tSBT mewakili kategori seperti identitas hukum, jaringan sosial, dan informasi keuangan, sementara dSBT mencakup sertifikat nyata yang diklaim oleh pengguna. Ada dua jenis deklarasi ini: deklarasi utama dan deklarasi kueri.
Klaim utama melibatkan pengguna yang mendapatkan data pribadi mereka dari sumber data setelah menjalankan MPC, seperti negara/wilayah, usia, jenis kelamin, dan informasi lain dari situs web pemerintah. Klaim tree dibangun berdasarkan data ini, di mana setiap node mewakili nilai hash dari child node-nya. Menggunakan tanda tangan babyjub untuk menambahkan angka acak guna mencegah serangan yang mendetail, menyimpan root hash dari klaim tree utama di dSBT, yang harus dihasilkan oleh kontrak pintar dan membuktikan kebenaran tree melalui pembuktian nol-pengetahuan.
Dalam hal query pernyataan, misalnya menentukan apakah usia pengguna lebih dari 18, pengguna hanya perlu memberikan bukti, yang menunjukkan bahwa daun yang mewakili usianya terdapat dalam struktur pohon, dan nilai daun tersebut lebih dari 18. Pengguna dapat langsung mengirimkan bukti ini kepada verifier, yang dapat menjalankan fungsi on-chain untuk memverifikasi bukti tersebut. Ini memastikan bahwa data pribadi pengguna yang sebenarnya tetap tersembunyi dari semua pihak yang relevan, hanya pernyataan tentang query data yang secara selektif diungkapkan kepada verifier tertentu.