ZK-Rollups: solusi perluasan lapisan 2 berdasarkan bukti tanpa pengetahuan

Berbeda dengan bukti penipuan [1], Zk-Rollup menggunakan bukti validitas. Ia menggunakan bukti tanpa pengetahuan untuk memastikan validitas transaksi. Zk-Rollup memverifikasi data melalui bukti tanpa pengetahuan sebelum data diunggah ke rantai, dan dibuktikan terlebih dahulu bahwa tidak ada masalah dengan transaksi tersebut, dan kemudian mengirimkan status terbaru, bukti transaksi dan data transaksi terkompresi ke rantai utama untuk memastikan validitas data terkait pada rantai dan keamanan dana.

Keamanan Zk-Rollup bergantung pada prinsip kriptografi, dan salah satu keunggulan utamanya adalah tidak memerlukan periode tantangan [2].

Saat ini, Zk-Rollup memiliki kemampuan komputasi umum yang buruk. Sebagian besar versi online hanya dapat mengimplementasikan transfer dan skenario aplikasi tertentu, yang tidak ramah bagi pengembang. Sekarang beberapa solusi Zk-Rollup terbaru sedang mempelajari solusi ekspansi L2 yang kompatibel dengan EVM umum. Jika berhasil, ini akan menjadi sangat penting.

Zk-Rollup lebih sesuai dengan gaya dunia kripto, menggunakan prinsip kriptografi untuk membuktikan kebenaran transaksi daripada menunggu orang lain melaporkan transaksi yang salah.

Tidak ada bukti pengetahuan

Bukti tanpa pengetahuan adalah konsep kriptografi, juga dikenal sebagai bukti tanpa kebocoran, dan terdiri dari pembukti dan pemverifikasi.

Pembuktian harus dijalankan pada perangkat keras khusus dan tidak dapat dipercaya, artinya keamanan sistem tidak perlu berasumsi bahwa pembuktian tersebut dapat dipercaya, atau bahwa perangkat keras yang dijalankannya dapat dipercaya, karena secara matematis tidak ada cara memalsukan yang palsu. bukti tanpa pengetahuan.

Verifikator tidak memerlukan perangkat keras khusus dan dapat dijalankan di node mana pun. Dalam istilah awam, pemverifikasi membuat bukti dari input sistem, dan verifikator memeriksa untuk memastikan bahwa pemver mengunggah hasil penghitungan yang sebenarnya tanpa perlu menghitung ulang. itu lagi.

Secara filosofis, jika saya ingin membuktikan bahwa akun Bitcoin tertentu adalah milik saya, saya ingin membuktikan bahwa saya mengetahui kunci pribadi akun ini, tetapi saya tidak dapat memberi tahu orang lain kunci pribadi tersebut. (Tanda tangan kunci pribadi, verifikasi kunci publik)

zk-SNARK

Apa yang lebih umum digunakan dalam blockchain adalah zk-SNARK, yang merupakan bukti tanpa pengetahuan khusus yang memerlukan non-interaktivitas (contoh sebelumnya dari bukti tanpa pengetahuan yang memverifikasi Bitcoin bukanlah non-interaktif dan harus diubah menjadi non-interaktif Dengan kata lain, saya hanya melakukan transaksi transfer dan mentransfer koin di akun tersebut ke akun lain, sehingga semua node dapat memverifikasi bahwa akun Bitcoin ini adalah milik saya. Untuk skenario blockchain, pembukti hanya perlu mengirimkan pesan Diterbitkan ke blockchain, semua node dapat memverifikasi, tidak perlu berinteraksi dengan pembukti, pemverifikasi semacam ini disebut Pemverifikasi Publik) ​​dan kesederhanaan (hanya diperlukan beberapa ratus byte, meskipun masukan aslinya besar, menghasilkan bukti sangat mudah kecil).​

Kerugiannya adalah beban kerja pembuktian untuk menghasilkan bukti sangat besar. Dibutuhkan beberapa detik untuk memulai transaksi transfer anonim saat mentransfer uang, dan hanya perlu beberapa milidetik untuk memverifikasi keabsahan transaksi.

zk-SNARK memerlukan pengaturan kepercayaan, mengharuskan sekumpulan parameter publik yang dibagikan oleh semua anggota dibuat secara acak selama inisialisasi. Sumber acak yang digunakan selama inisialisasi harus dimusnahkan. Jika bocor, sistem keamanan akan runtuh, dan penyerang jahat dapat membuat secara berurutan untuk menghindari risiko ini, proses inisialisasi zk-SNARK melibatkan banyak pihak Selama salah satu dari mereka menghancurkan sumber acak yang digunakan dalam inisialisasi, sistem aman.

Penerapan zk-SNARK di blockchain

    

Salah satu aplikasi yang mewakili adalah Zcash dan yang lainnya adalah Filecoin. Kedua proyek ini bukan L2. Mereka hanya digunakan di sini untuk menggambarkan skenario aplikasi zk-SNARK.

Zcash menggunakan zk-SNARK untuk menyembunyikan informasi transaksi, identitas kedua belah pihak dan jumlah transaksi. Zcash dapat memverifikasi keabsahan transaksi tanpa mengetahui alamat pengirim, alamat penerima, iuput.nilai, nilai keluar. Berbeda sekali dengan Bitcoin, setiap transaksi di Bitcoin harus menjelaskan sumber mata uangnya dan transaksi sebelumnya dari mana mata uang tersebut berasal. Hanya dengan cara inilah kita dapat membuktikan bahwa mata uang yang kita belanjakan adalah sah, bukan dibuat-buat . Untuk Zcash, hanya perlu dibuktikan secara matematis bahwa mata uang yang Anda belanjakan adalah mata uang sah yang ada di sistem saat ini. Tidak perlu disebutkan yang mana, sehingga tidak ada cara untuk melacak sumber mata uang tersebut.

Filecoin adalah jaringan zk-SNARK terbesar yang digunakan hingga saat ini, menghasilkan jutaan bukti tanpa pengetahuan setiap hari. Penambang Filecoin mendapatkan hadiah blok dengan menyimpan data dan perlu membuktikan secara teratur bahwa mereka menyimpan data yang dijanjikan. Penambang ini adalah pembuktian dalam protokol zk-SNARK dan perlu memberikan dua jenis bukti, bukti replikasi[3] dan ruang-waktu. bukti[ 4 ].

Bukti replikasi hanya terjadi satu kali. Saat pengguna dan penyedia penyimpanan pertama kali mencapai transaksi penyimpanan, penyedia penyimpanan perlu membuktikan bahwa mereka memang menyimpan data pengguna. Bukti ruang-waktu perlu diberikan secara berkala untuk membuktikan bahwa penyedia penyimpanan terus menyimpan dari waktu ke waktu. Untuk data asli, penyedia penyimpanan perlu menjaminkan File token yang sesuai ketika setuju untuk menyimpan data untuk pelanggan untuk pertama kalinya. Jika penyedia gagal memberikan bukti ruang-waktu selama periode perjanjian, itu akan dihukum dan mungkin kehilangan token File yang dijanjikan.

Keunggulan teknologi zk-SNARK adalah bukti yang dihasilkan sangat singkat, menghemat bandwidth jaringan, dan memiliki kecepatan verifikasi yang cepat. Filecoin tidak mengimplementasikan komputasi pribadi dalam arti sebenarnya Sejauh ini, hampir semua sirkuit zk-SNARK adalah sirkuit terintegrasi khusus aplikasi, yang merupakan teknologi tanpa pengetahuan yang disesuaikan secara khusus sesuai dengan aplikasi yang berbeda. Kontrak pintar Ethereum sudah lengkap, dan teknologi zk-SNARK belum bersifat universal.

Proyek perwakilan ZK-Rollup

ZK Rollup memiliki dua proyek perwakilan, zkSync dan STARKWARE.

zkSync

zkSync menggunakan algoritma zero-knowledge zk-SNARK, dan keamanan bergantung pada pengaturan kepercayaan awal (angka acak dirumuskan oleh beberapa peserta termasuk pendiri Ethereum V God, membutuhkan setidaknya satu peserta untuk jujur, maka sistem ini dapat dibuktikan aman ).

Dalam hal kompatibilitas EVM, zkSync memiliki kompiler yang dapat mengubah kontrak pintar menjadi opcode yang didukung oleh zkEVM untuk mencapai kompatibilitas Soliditas.​

Dalam hal ketersediaan data, zkSync menyediakan dua solusi ketersediaan data. Pengguna dapat memilih untuk mengunggah data ke rantai (yaitu, menyimpannya di rantai L1 atau menyimpannya di Ethereum untuk mendapatkan keamanan yang lebih tinggi. Pada saat yang sama, mereka perlu melakukannya membayar lebih dari jaringan). Dengan kata lain, zkSync mendukung mode penyimpanan data on-chain dan off-chain. Beberapa orang berpikir bahwa data off-chain bukanlah L2 dalam arti sebenarnya, karena L2 harus memastikan keamanan yang sama seperti L1 -chain, ketersediaannya sama dengan L1. Ada bedanya, kalau disimpan di penyedia layanan cloud off-chain, bertentangan dengan konsep desentralisasi tidak ada cara untuk menjamin ketersediaan data (ada di IPFS dan berbeda jika ada di Ethereum). Di blockchain seperti Ethereum dan Bitcoin, data yang disimpan di dalamnya tidak akan hilang, tetapi IPFS tidak menjamin tidak dapat dirusak. .

StarkWare

Saat ini, dua sistem paling umum untuk menghasilkan bukti tanpa pengetahuan di pasaran adalah zk-SNARK dan zk-STARK.

zk-Sync menggunakan zk-SNARK, dan StarkWare adalah teknologi kriptografi berdasarkan bukti zk-STARK. zk-STARK Teknologi ini ditemukan oleh tim StarkWare. Ini dapat dianggap sebagai versi upgrade dari teknologi zk-SNARK, yang dapat membuat blockchain lebih terukur rantai. Data transaksi dan penyimpanan beberapa data ditransfer ke off-chain untuk solusi. Data yang diproses secara batch di luar rantai dapat dikemas untuk menghasilkan sertifikat STARK, yang dapat dikirim ke rantai untuk pihak yang berkepentingan. memverifikasi keasliannya. STARK memiliki tiga keunggulan utama dibandingkan SNARK yang digunakan oleh zk-Sync. Keunggulan pertama adalah transparansi, artinya sistem ini tidak memerlukan pengaturan kepercayaan untuk beroperasi, sedangkan bukti SNARK memerlukan pengaturan kepercayaan Jika peserta dalam pengaturan awal tidak jujur, sertifikat palsu dan transaksi palsu dapat dibuat, sedangkan zk-STARK tidak memerlukan pengaturan kepercayaan eksternal. Ini dapat mencegah pihak mana pun menghancurkan atau mengubah parameter melalui verifikasi publik secara acak nilai keunggulan yang dimilikinya tidak jelas. (Guru Xiao menganggap keuntungan ini tidak terlalu penting)

Keuntungan kedua adalah skalabilitas. StarkWare mengklaim bahwa zk-STARK mengurangi kompleksitas komputasi dan menghasilkan bukti STARK lebih cepat daripada SNARK, namun pernyataan ini agak kontroversial.

Keunggulan ketiga adalah ketahanan terhadap serangan kuantum. Secara teoritis, zk-STARK menggunakan fungsi hash anti-tabrakan untuk meningkatkan kemampuannya dalam menahan serangan kuantum.

Kerugian dari STARK adalah teknologinya jauh lebih matang dibandingkan SNARK, dan tingkat penetrasinya kurang baik. Keunggulan StarkWare adalah tim teknisnya sangat kecil, termasuk penemu kedua teknologi STARK dan SNARK bahwa ekologi komunitas masih tertinggal jauh. Hal ini juga terkait dengan rendahnya tingkat penetrasi STARK.

Masalah lainnya adalah kompatibilitas EVM. EVM Ethereum sudah lengkap dengan Turing, dan jika STARK ingin mencapai kelengkapan Turing, akan sulit untuk kompatibel dengan EVM. Bahasa kontrak pintar Ethereum Soliditas perlu diubah menjadi format yang kompatibel dengan STARK sangat rumit, sehingga tim StarkWare membuat bahasa pemrograman khusus Cario untuk menjalankan program yang didukung oleh STARK. Biaya pembelajaran Cario relatif tinggi, dan tidak kompatibel dengan EVM, menyebabkan Dapps yang ada di Ethereum menjadi sangat kompleks sulit untuk bermigrasi, itulah salah satu alasan mengapa ekosistem StarkWare tidak mudah untuk dibangun. Dari perspektif lain, ada juga keuntungan menggunakan bahasa baru, yang tidak memiliki beban sejarah dan dapat mencapai beberapa fungsi yang tidak bisa dilakukan oleh Ethereum.

Dalam hal ketersediaan data, StarkWare menyediakan dua solusi ketersediaan data. StarkWare memiliki sistem Voluation yang memungkinkan pengguna untuk memilih setiap transaksi apakah akan menggunakan solusi Rollup di mana data on-chain tersedia atau solusi Validium di mana data off-chain tersedia. .

Komite ketersediaan data skema validium terdiri dari beberapa entitas enkripsi terkemuka. Dari sudut pandang keamanan data, data yang disimpan dalam rantai adalah yang paling aman. Kerugiannya adalah biayanya relatif tinggi, sehingga cocok untuk dana dalam jumlah besar dan situasi persyaratan real-time yang rendah; penyimpanan data off-chain akan mengorbankan sejumlah keamanan tertentu. Keuntungannya adalah biayanya kecil, dan cocok untuk skenario aplikasi dengan jumlah dana yang relatif kecil dan persyaratan real-time yang tinggi. , seperti GameFi.​

Interpretasi kata benda

Bukti penipuan: Dalam sistem terdistribusi, bukti penipuan digunakan untuk mendeteksi dan memperbaiki pembaruan status yang salah, sering kali digunakan dalam Optimistic Rollup, yang berasumsi bahwa sebagian besar operasi sudah benar tetapi menyediakan mekanisme untuk menantang dan memperbaiki operasi yang salah.

Periode Tantangan: Periode tantangan adalah jangka waktu yang ditentukan yang memungkinkan validator memeriksa dan mengonfirmasi kebenaran pembaruan status, yang sangat penting dalam memastikan keamanan dan keadilan sistem.

Bukti replikasi: Bukti replikasi membuktikan bahwa data tertentu memang disimpan di lokasi tertentu pada titik waktu tertentu dan banyak salinan telah dibuat.

Bukti ruang-waktu: Bukti ruang-waktu adalah mekanisme pembuktian yang menggabungkan ruang (penyimpanan) dan waktu (penyimpanan berkelanjutan), yang menunjukkan bahwa suatu data terus disimpan selama jangka waktu tertentu.

Kesimpulan

Pada bulan Januari 2021, pendiri Ethereum Buterin mengatakan: "Dalam jangka pendek, Optimistic-Rollups akan menang karena kompatibilitas EVM, dan ZK-Rollups akan lebih mungkin menang dalam kasus penggunaan seperti transaksi sederhana. Dalam jangka menengah hingga panjang, Seiring dengan kemajuan teknologi zk-SNARK, ZK-Rollups pada akhirnya akan memenangkan semua kasus penggunaan."

Chainyuan Technology adalah perusahaan yang berfokus pada keamanan blockchain. Pekerjaan inti kami mencakup penelitian keamanan blockchain, analisis data on-chain, serta penyelamatan kerentanan aset dan kontrak, dan kami telah berhasil memulihkan banyak aset digital yang dicuri untuk individu dan institusi. Pada saat yang sama, kami berkomitmen untuk menyediakan laporan analisis keselamatan proyek, keterlacakan on-chain, dan layanan konsultasi/dukungan teknis kepada organisasi industri.

Terima kasih telah membaca, kami akan terus fokus dan berbagi konten keamanan blockchain.