TL;DR
Hari ini, solusi layer-2 melakukan trade-off antara skalabilitas untuk fragmentasi state. Kami memperkenalkan desain layer-2 (L2), =nil;, yang mendorong batas skalabilitas Ethereum tanpa mengorbankan manfaat dari lingkungan eksekusi yang terpadu. Solusi ini menggabungkan mekanisme sharding dinamis dengan akses verifikasi ke data Ethereum, yang diamankan oleh teknologi pengetahuan nol. Elemen kunci termasuk:
Melalui zkSharding =nil; mendapatkan manfaat dari keuntungan desain monolitik dan modular termasuk:
Skalabilitas
Lingkungan Pelaksanaan Terpadu
Keamanan
Fungsionalitas
Pada tingkat yang lebih rendah, status =nil; dipartisi menjadi shard utama dan beberapa shard sekunder. Peran shard utama adalah untuk menyinkronkan dan mengkonsolidasikan data dari shard-shard sekunder. Ini menggunakan Ethereum baik sebagai Lapisan Ketersediaan Data dan sebagai verifikator untuk bukti transisi status, mirip dengan operasi zkRollups tipikal.
Shard sekunder berfungsi sebagai "pekerja", menjalankan transaksi pengguna. Shard-shard ini mempertahankan likuiditas dan data yang bersatu melalui protokol pesan lintas shard, menghilangkan segala fragmentasi di antara mereka.
Setiap shard diawasi oleh sebuah komite validator. Ada rotasi periodik validator ini di seluruh shard. Selain itu, pembaruan keadaan shard diverifikasi ke shard utama menggunakan zkEVM.
Untuk menggambarkan alur transaksi dari inisiasi oleh pengguna hingga konfirmasi di Ethereum, pertimbangkan langkah-langkah berikut:
Rangkuman ini mengasumsikan bahwa transaksi pengguna tidak mengaktifkan protokol pesan lintas shard. Namun, dalam kasus ini alur transaksi tetap sama dengan perbedaan bahwa transaksi pengguna dapat memicu pembuatan transaksi baru di shard lain.
Dengan semua akun didistribusikan di antara shard, ini mungkin terlihat mirip dengan masalah fragmentasi data yang ditemukan dalam pendekatan rollups khusus aplikasi. Namun, perbedaan kunci terletak pada bagaimana komunikasi lintas shard ditangani: itu terintegrasi langsung ke dalam protokol keseluruhan, alih-alih dikelola oleh jembatan eksternal terpisah.
Untuk menjamin keamanan setiap shard sekunder, komite validator nya berkewajiban untuk membuktikan transisi state nya ke shard primer untuk memastikan tidak ada kecurangan yang terjadi di dalam kelompok validator yang lebih kecil. Setiap komite validator shard memiliki tugas tambahan di luar pemeliharaan shard. Validator bertanggung jawab untuk melacak jenis-jenis peristiwa tertentu, yaitu pesan lintas-shard, di dalam "shard terdekat". Shard terdekat ditentukan berdasarkan jarak Hamming dalam pengenal shard.
=nil;s zkEVM adalah zkEVM Tipe-1 yang dikompilasi dengan zkLLVM. Untuk memahami perbedaan antara zkEVM yang lebih tradisional dengan zkEVM milik =nil;, kita perlu membahas keterbatasan yang terkait dengan proses definisi sirkuit yang mendasari zkEVM. Sirkuit zkEVM adalah bagian kritis, bertanggung jawab atas bukti transisi state agar dianggap benar, biasanya didefinisikan dengan beberapa zkDSL kustom atau hanya sebuah pustaka. Cara definisi sirkuit seperti ini membawa masalah terkait:
=nil; zkEVM secara efektif mengatasi semua tantangan ini dengan menjadi:
zkEVM yang dikompilasi melalui zkLLVM aman secara desain, memanfaatkan evmone untuk memastikan konsistensi lengkap dengan EVM yang digunakan dalam produksi Ethereum. zkLLVM (C++ atau Rust) secara otomatis dikompilasi menjadi sirkuit, sehingga kesalahan manusia dihapus dari proses definisi sirkuit.
Selain itu, karena =nil; zkEVM dikompilasi melalui zkLLVM, secara alami lebih fleksibel (dan oleh karena itu, tahan uji ke depan) daripada sirkuit yang ditentukan secara manual karena mudah disesuaikan dan generasi sirkuitnya otomatis. Ini juga lebih dapat diaudit, artinya keamanannya tidak datang dengan biaya termasuk EIP terbaru yang ditambahkan ke Ethereum.
Karena shard primer dan shard sekunder berbeda dalam hal tugas yang mereka dedikasikan - shard sekunder fokus pada pemrosesan transaksi sedangkan shard primer fokus pada sinkronisasi data - mereka memiliki pendekatan yang berbeda terhadap ketersediaan data (DA), yang membantu memulihkan data status dalam situasi darurat. Ini berarti:
Penyusunan ini dibentuk dengan meluncurkan dua jenis shard pada awalnya: yang dengan solusi DA eksternal yang terpisah dan yang tanpa. Pada fase-fase berikutnya, hanya shard dari kategori DA yang sama yang dapat digabungkan. Ini berarti bahwa selama penciptaannya, setiap akun harus dipetakan ke kategori DA tertentu.
Selain itu, kerangka kerja ini dapat diperluas untuk mencakup jenis DA lainnya.
Salah satu tujuan utama kami adalah mengoptimalkan komposabilitas aplikasi dan mencegah fragmentasi likuiditas, sehingga pendekatan zkSharding secara alami akan tidak lengkap tanpa akses tanpa kepercayaan ke status Ethereum. Ini berarti =nil; menawarkan komposabilitas penuh dan integrasi transparan dengan Ethereum melalui modul Penyedia Data.
Penyedia Data beroperasi secara independen dari penyimpanan data shard, menyinkronkan informasinya dengan database eksternal dan menyuntikkan sidik jari Ethereum dari status database terakhir yang dimonitor (diwakili oleh hash blok Ethereum) ke blok shard. Status terbaru dari database ini menerima validasi dari modul konfirmasi, yang menggunakan zkBridge dengan bukti konsensus Casper FFG Ethereum.
=nil; dan zkSharding adalah hasil dari produk-produk yang dikembangkan oleh Yayasan =nil; selama 4 tahun terakhir. Tujuannya adalah menjadi solusi Ethereum L2 zkRollup yang pertama dapat disusun, dapat diskalakan, dan universal. Kami sangat bersemangat untuk berbagi lebih banyak detail implementasi dalam beberapa bulan ke depan. Pastikan untuk mengikuti Twitter kami untuk tetap update dengan kemajuan kami!
Bagi mereka yang cakap secara teknis, kami telah mengembangkan sebuah panduan terpisah dan komprehensifyang menyelami detail-detail dari =nil; dan zkSharding. Panduan ini adalah pintu gerbang Anda untuk memahami kerumitan di balik pendekatan ini, dilengkapi dengan semua detail teknis dan persiapan yang Anda butuhkan.
Mulailah dengan panduan teknis kami sekarang dan bergabunglah dalam percakapan tentangDiscorddanTelegramMari kita menjelajahi kemungkinan tak terbatas dari zkSharding bersama!
TL;DR
Hari ini, solusi layer-2 melakukan trade-off antara skalabilitas untuk fragmentasi state. Kami memperkenalkan desain layer-2 (L2), =nil;, yang mendorong batas skalabilitas Ethereum tanpa mengorbankan manfaat dari lingkungan eksekusi yang terpadu. Solusi ini menggabungkan mekanisme sharding dinamis dengan akses verifikasi ke data Ethereum, yang diamankan oleh teknologi pengetahuan nol. Elemen kunci termasuk:
Melalui zkSharding =nil; mendapatkan manfaat dari keuntungan desain monolitik dan modular termasuk:
Skalabilitas
Lingkungan Pelaksanaan Terpadu
Keamanan
Fungsionalitas
Pada tingkat yang lebih rendah, status =nil; dipartisi menjadi shard utama dan beberapa shard sekunder. Peran shard utama adalah untuk menyinkronkan dan mengkonsolidasikan data dari shard-shard sekunder. Ini menggunakan Ethereum baik sebagai Lapisan Ketersediaan Data dan sebagai verifikator untuk bukti transisi status, mirip dengan operasi zkRollups tipikal.
Shard sekunder berfungsi sebagai "pekerja", menjalankan transaksi pengguna. Shard-shard ini mempertahankan likuiditas dan data yang bersatu melalui protokol pesan lintas shard, menghilangkan segala fragmentasi di antara mereka.
Setiap shard diawasi oleh sebuah komite validator. Ada rotasi periodik validator ini di seluruh shard. Selain itu, pembaruan keadaan shard diverifikasi ke shard utama menggunakan zkEVM.
Untuk menggambarkan alur transaksi dari inisiasi oleh pengguna hingga konfirmasi di Ethereum, pertimbangkan langkah-langkah berikut:
Rangkuman ini mengasumsikan bahwa transaksi pengguna tidak mengaktifkan protokol pesan lintas shard. Namun, dalam kasus ini alur transaksi tetap sama dengan perbedaan bahwa transaksi pengguna dapat memicu pembuatan transaksi baru di shard lain.
Dengan semua akun didistribusikan di antara shard, ini mungkin terlihat mirip dengan masalah fragmentasi data yang ditemukan dalam pendekatan rollups khusus aplikasi. Namun, perbedaan kunci terletak pada bagaimana komunikasi lintas shard ditangani: itu terintegrasi langsung ke dalam protokol keseluruhan, alih-alih dikelola oleh jembatan eksternal terpisah.
Untuk menjamin keamanan setiap shard sekunder, komite validator nya berkewajiban untuk membuktikan transisi state nya ke shard primer untuk memastikan tidak ada kecurangan yang terjadi di dalam kelompok validator yang lebih kecil. Setiap komite validator shard memiliki tugas tambahan di luar pemeliharaan shard. Validator bertanggung jawab untuk melacak jenis-jenis peristiwa tertentu, yaitu pesan lintas-shard, di dalam "shard terdekat". Shard terdekat ditentukan berdasarkan jarak Hamming dalam pengenal shard.
=nil;s zkEVM adalah zkEVM Tipe-1 yang dikompilasi dengan zkLLVM. Untuk memahami perbedaan antara zkEVM yang lebih tradisional dengan zkEVM milik =nil;, kita perlu membahas keterbatasan yang terkait dengan proses definisi sirkuit yang mendasari zkEVM. Sirkuit zkEVM adalah bagian kritis, bertanggung jawab atas bukti transisi state agar dianggap benar, biasanya didefinisikan dengan beberapa zkDSL kustom atau hanya sebuah pustaka. Cara definisi sirkuit seperti ini membawa masalah terkait:
=nil; zkEVM secara efektif mengatasi semua tantangan ini dengan menjadi:
zkEVM yang dikompilasi melalui zkLLVM aman secara desain, memanfaatkan evmone untuk memastikan konsistensi lengkap dengan EVM yang digunakan dalam produksi Ethereum. zkLLVM (C++ atau Rust) secara otomatis dikompilasi menjadi sirkuit, sehingga kesalahan manusia dihapus dari proses definisi sirkuit.
Selain itu, karena =nil; zkEVM dikompilasi melalui zkLLVM, secara alami lebih fleksibel (dan oleh karena itu, tahan uji ke depan) daripada sirkuit yang ditentukan secara manual karena mudah disesuaikan dan generasi sirkuitnya otomatis. Ini juga lebih dapat diaudit, artinya keamanannya tidak datang dengan biaya termasuk EIP terbaru yang ditambahkan ke Ethereum.
Karena shard primer dan shard sekunder berbeda dalam hal tugas yang mereka dedikasikan - shard sekunder fokus pada pemrosesan transaksi sedangkan shard primer fokus pada sinkronisasi data - mereka memiliki pendekatan yang berbeda terhadap ketersediaan data (DA), yang membantu memulihkan data status dalam situasi darurat. Ini berarti:
Penyusunan ini dibentuk dengan meluncurkan dua jenis shard pada awalnya: yang dengan solusi DA eksternal yang terpisah dan yang tanpa. Pada fase-fase berikutnya, hanya shard dari kategori DA yang sama yang dapat digabungkan. Ini berarti bahwa selama penciptaannya, setiap akun harus dipetakan ke kategori DA tertentu.
Selain itu, kerangka kerja ini dapat diperluas untuk mencakup jenis DA lainnya.
Salah satu tujuan utama kami adalah mengoptimalkan komposabilitas aplikasi dan mencegah fragmentasi likuiditas, sehingga pendekatan zkSharding secara alami akan tidak lengkap tanpa akses tanpa kepercayaan ke status Ethereum. Ini berarti =nil; menawarkan komposabilitas penuh dan integrasi transparan dengan Ethereum melalui modul Penyedia Data.
Penyedia Data beroperasi secara independen dari penyimpanan data shard, menyinkronkan informasinya dengan database eksternal dan menyuntikkan sidik jari Ethereum dari status database terakhir yang dimonitor (diwakili oleh hash blok Ethereum) ke blok shard. Status terbaru dari database ini menerima validasi dari modul konfirmasi, yang menggunakan zkBridge dengan bukti konsensus Casper FFG Ethereum.
=nil; dan zkSharding adalah hasil dari produk-produk yang dikembangkan oleh Yayasan =nil; selama 4 tahun terakhir. Tujuannya adalah menjadi solusi Ethereum L2 zkRollup yang pertama dapat disusun, dapat diskalakan, dan universal. Kami sangat bersemangat untuk berbagi lebih banyak detail implementasi dalam beberapa bulan ke depan. Pastikan untuk mengikuti Twitter kami untuk tetap update dengan kemajuan kami!
Bagi mereka yang cakap secara teknis, kami telah mengembangkan sebuah panduan terpisah dan komprehensifyang menyelami detail-detail dari =nil; dan zkSharding. Panduan ini adalah pintu gerbang Anda untuk memahami kerumitan di balik pendekatan ini, dilengkapi dengan semua detail teknis dan persiapan yang Anda butuhkan.
Mulailah dengan panduan teknis kami sekarang dan bergabunglah dalam percakapan tentangDiscorddanTelegramMari kita menjelajahi kemungkinan tak terbatas dari zkSharding bersama!