Penulis Asli: ORFEO
Proyek L2 sekali lagi menjadi sorotan.
Sebagai perwakilan dari rute ekspansi Rollup di L2, setelah airdrop Arbitrum, Era zkSync akan diluncurkan. Di balik desain dan peta jalan baru yang tak ada habisnya, apa garis utama Rollup dan apa pemikiran evolusionernya? Mari kita lihat hari ini.
Poin utama dari artikel ini:
Untuk Bitcoin dan Ethereum, sejak kelahirannya, ada dua kritik terbesar dari pengguna biasa:
Kedua kritik ini berasal dari dua faktor dalam desain blockchain:
Jika blockchain benar-benar bisa menjadi seperti jalan masuk, maka solusi mendasarnya adalah secara alami memperluas jalan masuk, dan pada saat yang sama bekerja sama dengan sarana harga untuk memandu waktu keluar, dan jangan keluar jika Anda tidak berada di jalan. buru-buru.
Namun, meskipun pelebaran jalur dan peningkatan kapasitas blok merupakan solusi efisiensi lalu lintas yang menarik, ini merupakan upaya terakhir dalam desain blockchain. Karena semakin besar ukuran blok, semakin tinggi persyaratan perangkat keras untuk penambang, dan semakin sedikit penambang yang dapat memenuhi persyaratan; menurut ide ini, jika Anda ingin memproses ribuan transaksi per detik seperti Visa, Anda hanya akan membuat yang lain Visa terpusat bertentangan dengan tujuan inti dari ketidakpercayaan blockchain.
Apakah ada solusi lain? Ya, selain panduan waktu, kami juga dapat mengoptimalkan ruang, termasuk namun tidak terbatas pada:
Sebagai bus di blockchain, kunci untuk Rollup sebenarnya menghemat ruang dan menghemat bensin (Gas, permainan kata-kata):
Dengan cara ini, dua slot “lambat” dan “mahal” diselesaikan dengan Rollup.
Mari kembali ke blockchain dan lihat rencana spesifik Rollup.
Daripada mengintip jawaban standar (belum lagi tidak ada), lebih baik memiliki ketegangan dan membayangkan apa yang akan Anda lakukan ketika Anda ditugaskan merancang Rollup untuk Ethereum.
Sebaiknya kita mulai dari dua perspektif untuk mengurangi biaya komputasi (menghemat bensin) dan mengurangi biaya penyimpanan (menghemat ruang), dan pertama mengusulkan solusi yang lebih radikal yang disebut Rollup 1.0.
Rollup 1.0 terdiri dari 3 poin utama:
Sederhananya, itu untuk secara teratur dan kuantitatif mengumpulkan permintaan transaksi semua orang, dan setelah perhitungan off-chain, hanya hasil perhitungan yang dipadatkan pada rantai.
Solusi ini dengan sempurna memecahkan dua masalah utama “lambat” dan “mahal”, tetapi tampaknya menimbulkan masalah baru:
Untuk tiga masalah baru ini, kami dapat mengulang versi rencana.
Masalah motivasi paling baik dipecahkan, dan masalah yang bisa diselesaikan dengan uang bukanlah masalah. Penyedia layanan dapat membagi biaya “carpooling” secara merata, dan membebankan sedikit “tip” tambahan.Meski begitu, ini masih merupakan situasi win-win dengan orang yang “carpooling”.
Masalah peninjauan sedikit lebih merepotkan, tetapi solusinya sangat umum di bidang blockchain, dan itu adalah desentralisasi. Sekelompok orang adalah penyedia layanan, yang lebih baik dari hanya satu penyedia layanan; siapa pun bisa menjadi penyedia layanan, yang lebih baik daripada sekelompok orang tetap. Dalam cara bermain yang terakhir, jika semua penyedia layanan tidak bagus, Anda juga bisa menjadi penyedia layanan sendiri, atau langsung ke L1 untuk memulai arbitrase.
Penipuan sedikit lebih sulit. Ini dapat dipecah menjadi dua pertanyaan — satu adalah bagaimana mengidentifikasi penipuan, dan yang lainnya adalah bagaimana mencegahnya.
Pertama, untuk mengidentifikasi penipuan, kita perlu mengetahui data transaksi (Transaksi) setiap orang, keadaan sebelum transaksi (Negara), untuk menghitung keadaan baru (Negara’) setelah transaksi, dan menggunakannya untuk menyimpan itu di rantai penyedia layanan Dibandingkan dengan negara baru, jika sama, itu berarti penyedia layanan itu jujur, jika tidak, itu berarti dia berbohong. Namun, kami tidak mengetahui data transaksi karena tidak on-chain. Alhasil, kita hanya bisa skeptis dan tidak bisa menilai apakah penyedia jasa itu jujur atau tidak.
Selanjutnya, untuk mencegah penipuan, cara terbaik adalah membuat penipuan menjadi tidak mungkin, yang lebih sulit, kecuali perhitungan penyedia layanan diperiksa setiap saat di rantai, tetapi dengan cara ini, tidak ada keuntungan dari " menumpang" ke atas. Jadi kita hanya bisa mundur selangkah, membiarkan biaya penipuan menjadi sangat tinggi, dan membuat penyedia layanan memiliki kulit dalam permainan, seperti membayar deposit (Stake), yang akan disita jika ditemukan penipuan. (Metode ini disebut konsensus sosial, yang termasuk dalam keamanan berbasis game, dan juga disebutkan dalam “Mingguan #3”.)
Rollup 2.0 lumayan, tetapi masalah pengidentifikasian penipuan tidak terpecahkan.
Menurut kesimpulan sebelumnya, untuk mengidentifikasi penipuan, kita harus mengetahui data transaksi, jadi bagian data ini harus berada pada rantai yang sama dengan data negara.
Siapa yang akan mengetahui bahwa mereka curang? Jelas, ini tidak mungkin menjadi pengguna biasa, karena tidak mungkin setiap orang memantau setiap gerakan penyedia layanan 7x24 jam, sehingga hanya bisa menjadi “pemburu hadiah” profesional (Validator). Jika “pemburu hadiah” melaporkan penipuan dalam waktu 7 hari setelah penyedia layanan “mengirim pesanan” dan memverifikasi kebenarannya, transaksi akan dibatalkan dan penyedia layanan akan dihukum. Tentu saja, dengan cara yang sama, “pemburu hadiah” juga membutuhkan insentif, misalnya setelah penipuan ditemukan, sebagian dari setoran penyedia layanan akan diberikan kepada “pemburu hadiah” (hanya sebagian, untuk menghindari kolusi antara penyedia layanan dan pemburu hadiah).
Pada tahap Rollup 3.0, seluruh solusi telah dapat berjalan lancar, namun biaya baru telah diperkenalkan. Biaya sejauh ini meliputi:
Mari kita lihat biaya apa saja yang bisa dioptimalkan.
data transaksi
Dengan cara tertentu, beberapa transaksi digabungkan menjadi satu, dan ruang yang ditempati bisa lebih kecil dari jumlah ruang yang ditempati oleh setiap transaksi.
Mengambil transaksi transfer ETH yang paling sederhana sebagai contoh, kami membongkar komposisi konten dari setiap transaksi, dan kami dapat melihat bahwa ruang tanda tangan menyumbang proporsi terbesar. Kami dapat menggabungkan tanda tangan dari semua transaksi menjadi satu (Agregasi Kunci), yang menghemat banyak biaya penyimpanan (mirip dengan Schnorr di Bitcoin). Selain itu, kami juga dapat mengoptimalkan bagian lain, seperti menghilangkan Nonce, dan memilih “carpooler” “gemuk dan kurus” yang sangat cocok saat “carpooling” sebanyak mungkin untuk memaksimalkan penggunaan ruang “carpool”.
sumber:
Hanya tiga atau dua kali, ukuran setiap transaksi transfer ETH telah dikurangi dari 112 byte menjadi 12 byte, yang mendekati sepersepuluh dari yang sebelumnya; tentu saja, ada cara lain untuk mengompresi data transaksi lebih lanjut.
Dalam operasi sebenarnya, kita dapat memasang metode seperti itu dalam kontrak yang diterapkan pada rantai:
fungsi storeTxData(byte data panggilan data) eksternal {// Tidak ada hubungannya}
Kemudian setiap kali “carpooling” berhasil, data transaksi yang digabungkan dan dikompresi diteruskan ke metode ini sebagai calldata. Calldata tidak perlu disimpan secara permanen, dan setelah Periode Tantangan Publisitas Konsensus Sosial (Periode Tantangan), tidak masalah jika dipangkas (Prune); harganya sendiri sangat rendah, dan akan lebih murah dengan implementasi EIP seperti Danksharding dan Data Blob , bentuk penerapan L1 untuk distribusi penyimpanan data (Ketersediaan Data) juga akan lebih formal.
datastatus
Sekarang data transaksi telah diunggah ke rantai, siapa pun dapat menghitung status yang diperbarui melalui data transaksi, dan data status tidak begitu diperlukan. Kami hanya dapat menyimpan Root Merkel dari data negara, yang digunakan untuk memungkinkan pengguna biasa (“carpooler”) mengajukan penarikan langsung ke L1 ketika penyedia layanan tidak bekerja sama, dan mengandalkan Bukti Merkel untuk membuktikan bahwa mereka memiliki uang di akun mereka.
BIAYA ARBITRASE PENIPUAN
Ketika “pemburu hadiah” melaporkan penipuan ke penyedia layanan, perhitungan kontrak on-chain (Putar Ulang) dilakukan sekali dan hasil status dibandingkan. Secara teori, hal ini layak dilakukan. Namun, biaya untuk melakukannya tidak rendah (walaupun sudah bagus), dan yang kedua adalah bahwa jumlah Gas dari transaksi yang termasuk dalam “daftar carpooling” Rollup dapat melebihi batas gas Ethereum, membuatnya tidak mungkin untuk memverifikasi.
Oleh karena itu, arbitrase perlu mengurangi beban, dan cara untuk mengurangi beban adalah secara alami dengan menempatkan operasi kalkulasi yang tidak perlu di luar rantai. Salah satu solusinya disebut Interactive Proving Proses umumnya adalah sebagai berikut:
(Selama keseluruhan proses, jika salah satu pihak gagal membalas setelah batas waktu, pihak tersebut gagal.)
Dengan cara ini, biaya arbitrase di seluruh rantai sangat, sangat rendah.
Karena itu, kami telah sepenuhnya membangun solusi Rollup. Karena skema ini mengasumsikan bahwa penyedia layanan secara default jujur, kecuali ada laporan “pemburu hadiah”, faksi ini disebut rollup optimis, yang disebut Batal Optimis.
Jadi, apakah Rollup 4.0 kami merupakan solusi terbaik?
Setelah beberapa iterasi kami, Rollup 4.0 masih memiliki beberapa ketidaksempurnaan:
Apakah ada solusi yang dapat membuat penipuan menjadi tidak mungkin sama sekali, membuat finalitas (Finalitas) lebih cepat, membuat lebih sedikit data yang perlu diunggah ke rantai, dan membuat perluasan lebih besar? Saya tidak ingin terlalu banyak, tetapi ada semacam solusi yang dapat memuaskan hampir semua imajinasi - Zero Knowledge Rollup (singkatnya ZK-Rollup).
ZK-Rollup adalah ide Rollup menggunakan bukti tanpa pengetahuan (ZKP). Yang disebut ZKP mengacu pada teknologi yang meyakinkan pihak lain bahwa Anda mengetahui informasi ini tanpa mengungkapkan informasi sensitif apa pun. Untuk menjelaskan ZKP, ada dua contoh favorit saya:
*Bayangkan di kota Eropa abad pertengahan dan saya memiliki peta harta karun dengan tanda harta karun di atasnya. Untuk membuktikan kepada Anda bahwa saya memiliki peta harta karun, tetapi tanpa memberi tahu Anda lokasi persis harta karun itu, saya menutup mata Anda, menyeret Anda ke kereta, dan berkeliling kota selama setengah jam untuk memastikan Anda kehilangan arah, Akhirnya tiba di tempat tujuan, keluar dari mobil dan menunjukkan harta karun, lalu membawa Anda kembali berkeliling. Ini adalah bentuk ZKP yang naif.
Dalam istilah yang kurang ketat, gagasan inti ZKP adalah bahwa pembukti (Prover) pertama-tama menyembunyikan pengetahuan rahasia, “berkomitmen” (Komit), dan kemudian pemverifikasi (Pemverifikasi) memulai tantangan acak (Tantangan). jika dia berhasil melewati tantangan, maka kemungkinan besar dia memiliki pengetahuan rahasia yang sesuai.
ZKP harus memenuhi 3 persyaratan:
Untuk memenuhi ketiga persyaratan ini, ZKP menggunakan berbagai masalah NP, termasuk dekomposisi bilangan prima yang paling sederhana, dan logaritma diskrit (seperti Schnorr) dan seterusnya.
ZKP bukanlah teknologi yang lahir untuk blockchain, tetapi dapat digunakan untuk ekspansi L2, terutama karena ZKP yang baik memiliki karakteristik berguna sebagai berikut:
Dengan menggunakan fitur ini, solusi Rollup kami dapat:
Tentu saja, mekanisme keamanan apa pun akan memiliki prasyarat potensial, dan ZKP bukanlah obat mujarab untuk blockchain. ZKP saat ini masih memiliki banyak keterbatasan yang perlu diatasi secara bertahap, seperti:
sumber:
Inilah sebabnya, di ZK-Rollup, bidang ekspansi berorientasi masa depan, setiap kemajuan patut dipuji dan memuaskan.
sumber:
Sejauh menyangkut perluasan kapasitas di masa depan, penulis percaya bahwa dibandingkan dengan perluasan kapasitas asli L1, desain berlapis termasuk Rollup adalah ide yang lebih andal. Modularisasi, setiap lapisan memecahkan masalah setiap lapisan, yang kurang berisiko daripada penumpukan terus menerus pada L1 yang sudah “monolitik”; terlebih lagi, desentralisasi L1 yang mendasarinya karena perluasan kapasitas secara teoritis tidak mungkin terjadi. itu. Selain itu, ide desain berlapis ini tampaknya memiliki aplikasi yang sukses di bidang selain blockchain. Sudut pandang belum tentu benar, tetapi ini adalah kognisi penulis saat ini.
Artikel ini mencoba memilah pemikiran dan desain alasan solusi perluasan Rollup dalam nada proyek-agnostik. Karena tingkat yang terbatas, beberapa tempat masih agak tumpul, yang mungkin tidak hanya tidak menjelaskannya di tempat, tetapi juga menambah kesulitan pemahaman; sebagai bidang vertikal yang berubah setiap hari, penulis mungkin tidak menyadarinya dari dan memperhitungkan banyak perkembangan baru dalam waktu. Sangat menyambut teman-teman untuk memperbaiki dan berkomunikasi.