🔥 $100M dalam #USDE# Hadiah Tersedia!
🎁 Hold #USDE# dan Nikmati APR 34%, Disediakan Setiap Hari tanpa Perlu Staking!
💰 Bonus Eksklusif untuk Pengguna Baru: 100,000,000 #PEPE# !
👉 Bergabung Sekarang: https://www.gate.io/campaigns/100-m-usde
⏰ Durasi Acara: 18 Nov, 00:00 - 28 Nov, 00:00 (UTC)
Rinc
Vitalik New Article: Masa Depan yang Mungkin dari Ethereum, The Verge
Judul Asli: "Masa Depan yang Mungkin dari Protokol Ethereum, Bagian 4: The Verge"
Penulis asli: Vitalik Buterin
Terjemahan asli: Mensh, ChainCatcher
Terima kasih khusus kepada Justin Drake, Hsia-wei Wanp, Guillaume Ballet, Icinacio, Rosh Rudolf, Lev Soukhanoy, Ryan Sean Adams dan Uma Roy atas umpan balik dan peninjauan mereka.
Salah satu fitur terkuat dari Blok adalah bahwa siapa saja dapat menjalankan Node di komputernya dan memverifikasi kebenaran Blok. Bahkan jika 9596 Node yang menjalankan Konsensus (PoW, PoS) setuju untuk mengubah aturan dengan satu suara dan mulai memproduksi Blok sesuai aturan baru, setiap orang yang menjalankan Node yang telah diverifikasi secara penuh akan menolak untuk menerima rantai tersebut. Penambang yang tidak terlibat dalam konspirasi semacam itu akan secara otomatis berkumpul ke dalam rantai on-chain yang masih mengikuti aturan lama dan melanjutkan membangun rantai tersebut, sedangkan pengguna yang sepenuhnya diverifikasi akan mengikuti rantai tersebut.
Ini adalah perbedaan kunci antara blockchain dan sistem terpusat. Namun, untuk menjadikan fitur ini menjadi kenyataan, menjalankan Node verifikasi penuh memerlukan menjadi memungkinkan bagi cukup banyak orang. Hal ini berlaku baik untuk pembuat kebijakan (karena jika mereka tidak memverifikasi rantai, mereka tidak memberikan kontribusi untuk menerapkan aturan protokol), maupun untuk pengguna biasa. Saat ini, menjalankan Node pada laptop konsumen (termasuk laptop yang digunakan saat menulis artikel ini) memungkinkan, namun sulit untuk melakukannya. The Verge bertujuan mengubah situasi ini, dengan mengurangi biaya komputasi Node verifikasi penuh, sehingga setiap dompet ponsel, dompet browser, bahkan smartwatch akan secara default melakukan verifikasi.
Peta Jalan The Verge 2023
Awalnya, "Verge" mengacu pada transfer status penyimpanan ETH ke pohon Verkle - struktur pohon yang memungkinkan bukti yang lebih padat dan validasi tanpa status blok ETH. Node dapat memvalidasi blok ETH tanpa perlu menyimpan status ETH (saldo akun, kode kontrak, ruang penyimpanan...) di disknya, dengan biaya data bukti sekitar beberapa ratus KB dan waktu ekstra beberapa ratus milidetik untuk memvalidasi satu bukti. Saat ini, Verge mewakili visi yang lebih besar, fokus pada implementasi validasi sumber daya maksimum rantai ETH, yang mencakup tidak hanya teknologi validasi tanpa status, tetapi juga validasi SNARK untuk semua eksekusi ETH.
Selain ikuti jangka panjang validasi SNARK dari seluruh rantai, pertanyaan baru lainnya berkaitan dengan apakah pohon Verkle adalah teknik terbaik. Pohon Verkle rentan terhadap Komputer Kuantum, jadi jika kita mengambil pohon Verkle di pohon KECCAK Merkle Patricia saat ini, kita harus mengganti pohon itu lagi di masa depan. Alternatif mandiri untuk pohon Merkle adalah dengan melewatkan STARK yang menggunakan cabang Merkle dan memasukkannya ke dalam pohon biner. Secara historis, pendekatan ini dianggap tidak layak karena overhead dan kompleksitas teknis. Baru-baru ini, meskipun, kita telah melihat Starkware membuktikan 1,7 juta Poseidon hash per detik menggunakan ckcle STARKs pada satu laptop, dan waktu bukti untuk nilai hash yang lebih "tradisional" menurun dengan cepat berkat teknologi seperti GKB. Jadi, selama setahun terakhir, "Verge" menjadi lebih terbuka, ia memiliki beberapa kemungkinan.
The Verge: Tujuan Utama
Dalam bab ini
Verifikasi Non-Status: Verkle atau STARKs
Apa masalah yang ingin kita selesaikan?
Saat ini, klien ETH perlu menyimpan ratusan ribu megabita data status untuk memverifikasi Blok, dan jumlah ini terus meningkat setiap tahunnya. Data status asli meningkat sekitar 30 GB setiap tahun, dan klien tunggal harus menyimpan beberapa data tambahan di atasnya untuk efektif memperbarui triplenya.
Ini mengurangi jumlah pengguna yang dapat menjalankan Node Ethereum validasi lengkap: meskipun hard disk besar yang dapat menyimpan semua status Ethereum bahkan sejarah bertahun-tahun tersedia di mana-mana, komputer yang dibeli orang secara default sering hanya memiliki beberapa ratus gigabyte ruang penyimpanan. Ukuran status juga membawa friksi besar dalam proses pembuatan Node pertama kalinya: Node perlu mengunduh seluruh status, yang mungkin memerlukan waktu berjam-jam atau bahkan berhari-hari. Ini menghasilkan berbagai reaksi berantai. Misalnya, ini sangat meningkatkan kesulitan pembuat Node untuk memperbarui pengaturan Node mereka. Secara teknis, Anda dapat melakukan upgrade tanpa mematikan mesin - memulai klien baru, menunggu sinkronisasi, kemudian menutup klien lama dan mentransfer Kunci Rahasia - tetapi dalam praktiknya, ini sangat rumit secara teknis.
Bagaimana cara kerjanya?
Verifikasi tanpa status adalah teknologi yang memungkinkan Node untuk memverifikasi Blok tanpa memiliki seluruh status. Sebagai gantinya, setiap Blok dilengkapi dengan saksi yang mencakup: (i) nilai, kode, saldo, dan penyimpanan pada posisi tertentu dalam status yang akan diakses oleh Blok tersebut; (ii) bukti enkripsi yang memastikan nilai-nilai tersebut benar.
Sebenarnya, untuk mencapai verifikasi tanpa status, perlu mengubah struktur pohon status Ethereum. Hal ini karena pohon Merkle Patricia saat ini sangat tidak ramah terhadap implementasi skema enkripsi apa pun, terutama dalam kasus terburuk. Baik itu cabang Merkle asli, atau kemungkinan 'dibungkus' menjadi STARK, semuanya begitu. Kesulitan utama berasal dari beberapa kelemahan MPT:
Ini adalah pohon berarah enam (yaitu setiap Node memiliki 16 anak Node). Ini berarti dalam pohon berukuran N, sebuah bukti rata-rata membutuhkan 32 * (16-1) * log 16(N) = 120 * log 2(N) byte, atau sekitar 3840 byte dalam pohon dengan 2 ^ 32 item. Untuk pohon biner, hanya membutuhkan 32 * (2-1) * log 2(N) = 32 * log 2(N) byte, atau sekitar 1024 byte.
Kode tidak dimerkle. Ini berarti untuk membuktikan akses akun kode, semua kode harus disediakan, maksimal 24000 byte.
Kita dapat menghitung situasi terburuk sebagai berikut:
30000000 gas / 2400 (biaya baca akun dingin) * (5 * 488 + 24000) = 330000000 byte
Biaya cabang sedikit menurun (diganti dengan 5 * 480 daripada 8 * 480), karena bagian atasnya akan muncul berulang ketika ada banyak cabang. Namun demikian, jumlah data yang harus diunduh dalam satu slot sangat tidak realistis. Jika kita mencoba mengemasnya dengan STARK, kita akan menghadapi dua masalah: (i) KECCAK tidak ramah terhadap STARK; (ii) 330 MB data berarti kita harus membuktikan 5 juta panggilan fungsi putaran KECCAK, yang mungkin tidak bisa dibuktikan oleh semua perangkat keras kecuali perangkat keras konsumen paling canggih, meskipun kita dapat meningkatkan efisiensi pembuktian KECCAK dengan STARK.
Jika kita mengganti pohon heksadesimal dengan pohon biner secara langsung dan melakukan pemrosesan Merkle tambahan pada kode, maka dalam kasus terburuknya akan menjadi sekitar 30000000/2400* 32*( 32-14+ 8) = 10400000 byte (14 adalah pengurangan redundansi bit bercabang 2 ^ 14, sementara 8 adalah panjang bukti masuk ke blok kode). Perlu diingat bahwa ini akan mengubah biaya gas, dengan membebankan setiap akses blok kode secara terpisah; EIP-4762 melakukan hal ini. Kapasitas 10,4 MB tentu lebih baik, tetapi masih terlalu banyak data untuk diunduh dalam satu slot waktu bagi banyak Node. Oleh karena itu, kita perlu memperkenalkan teknologi yang lebih kuat. Di sini, ada dua solusi terdepan: pohon Verkle dan pohon hash biner STARKed.
Pohon Verkle
Verkle tree menggunakan komitmen vektor berbasis kurva elips untuk membuktikan yang lebih singkat. Kunci dari hal ini, tidak peduli seberapa lebar pohonnya, setiap bagian bukti untuk setiap hubungan parent-child hanya 32 byte. Satu-satunya batasan lebar pohon bukti adalah, jika pohon bukti terlalu lebar, efisiensi perhitungan bukti akan menurun. Solusi yang diusulkan untuk implementasi Ethereum memiliki lebar 256.
Oleh karena itu, bukti ukuran tunggal dalam cabang menjadi 32 - 1 OG 256(N) = 4* log 2(N) byte. Oleh karena itu, ukuran bukti maksimum secara teoritis kurang lebih 30000000 / 2400 * 32* ( 32 -14 + 8) / 8 = 130000 byte (karena distribusi blok status tidak merata, hasil perhitungan sebenarnya sedikit berbeda, tetapi sebagai nilai perkiraan pertama itu bisa diterima).
Selain itu, perlu diperhatikan bahwa dalam semua contoh di atas, "kasus terburuk" ini bukanlah kasus terburuk sebenarnya: skenario yang lebih buruk adalah ketika penyerang dengan sengaja "menggali" dua Alamat yang memiliki awalan umum yang panjang dalam pohon, dan membaca data dari salah satu Alamat tersebut, yang dapat memperpanjang panjang cabang dalam kasus terburuk sebesar 2 kali lipat. Namun, bahkan dalam kasus seperti itu, panjang bukti terburuk dari pohon Verkle adalah 2,6 MB, yang hampir sama dengan data verifikasi terburuk saat ini.
Kami juga melakukan sesuatu dengan perhatian ini: kami membuat biaya akses ke ruang penyimpanan 'tetangga' menjadi sangat murah: baik itu banyak blok kode kontrak yang sama atau slot penyimpanan yang berdekatan. EIP-4762 menyediakan definisi tetangga, dan biaya akses tetangga hanya dikenakan biaya 200 gas. Dalam kasus akses tetangga, ukuran bukti dalam kasus terburuk menjadi 30000000 / 200 * 32 - 4800800 byte, yang masih berada dalam kisaran toleransi. Jika untuk alasan keamanan, kami ingin mengurangi nilai ini, biaya akses tetangga dapat sedikit dinaikkan.
Pohon Hash Binari STARKed
Prinsip teknologi ini jelas: Anda hanya perlu membuat pohon biner, dapatkan bukti maksimum 10,4 MB, buktikan nilai dalam blok, kemudian gantikan bukti dengan STARK. Dengan demikian, bukti itu sendiri hanya berisi data yang dibuktikan, ditambah biaya tetap 100-300 kB dari STARK aktual.
Tantangan utama di sini adalah memverifikasi waktu. Kita dapat melakukan perhitungan yang hampir sama dengan di atas, hanya saja yang kita hitung bukanlah jumlah byte, melainkan nilai hash. Blok dengan ukuran 10,4 MB berarti 330.000 nilai hash. Jika kita juga mempertimbangkan kemungkinan bahwa penyerang 'mengeruk' Alamat pohon dengan awalan umum yang panjang, maka nilai hash dalam kasus terburuk akan mencapai sekitar 660.000 nilai hash. Oleh karena itu, jika kita dapat membuktikan bahwa nilai hash per detik adalah 200.000, maka itu tidak masalah.
Pada laptop konsumen yang menggunakan fungsi hash Poseidon, angka-angka ini telah mencapai, sementara fungsi hash Poseidon dirancang khusus untuk ke-Stark-an. Namun, sistem Poseidon masih tergolong belum matang, sehingga banyak orang masih meragukan keamanannya. Oleh karena itu, ada dua jalur kemajuan nyata:
Untuk membuktikan fungsi hash yang konservatif, sirkuit STARK dari Starkware hanya dapat membuktikan 10-30k nilai hash per detik pada laptop konsumen saat artikel ini ditulis. Namun, teknologi STARK sedang mengalami peningkatan yang cepat. Bahkan pada saat ini, teknologi berbasis GKR juga menunjukkan kemampuan untuk meningkatkan kecepatan ini menjadi rentang 100-200k.
Kecuali kasus penggunaan saksi di luar blok verifikasi
Selain memverifikasi Blok, ada tiga kasus penggunaan kunci lain yang membutuhkan verifikasi tanpa status yang lebih efisien:
Semua kasus penggunaan ini memiliki satu kesamaan, yaitu mereka memerlukan banyak bukti, tetapi setiap bukti sangat kecil. Oleh karena itu, bukti STARK tidak memiliki makna yang praktis bagi mereka; sebaliknya, pendekatan yang paling realistis adalah dengan langsung menggunakan cabang Merkle. Keuntungan lain dari cabang Merkle adalah dapat diperbarui: dengan memberikan bukti objek status X dengan akar Blok B, jika menerima sebuah subBlok B 2 beserta buktinya, maka bukti dapat diperbarui sehingga akar menjadi Blok B 2. Bukti Verkle juga merupakan bukti yang dapat diperbarui secara alami.
Apa hubungannya dengan penelitian yang ada:
Masih bisa melakukan apa lagi?
Tugas utama yang tersisa adalah
Analisis Lebih Lanjut tentang Konsekuensi EIP-4762 (Perubahan Biaya Gas yang Tidak Berkeadaan)
Melakukan lebih banyak pekerjaan pada program transisi dan pengujian, ini adalah bagian utama dari kompleksitas implementasi solusi tanpa negara
Analisis keamanan lebih lanjut terhadap fungsi hash Poseidon, Ajtai, dan lainnya yang "ramah STARK"
Untuk mengembangkan fungsi protokol STARK yang sangat efisien untuk "konservatif" (atau "tradisional") hash lebih lanjut, misalnya berdasarkan pandangan Binius atau GKR.
Selain itu, kami akan segera memutuskan untuk memilih salah satu dari tiga pilihan berikut: (i) Pohon Verkle, (ii) Fungsi hash Ramah STARK, dan (iii) Fungsi hash konservatif. Karakteristik mereka dapat disimpulkan secara kasar dalam tabel di bawah ini:
Selain "nomor judul" ini, ada beberapa faktor penting lainnya yang perlu dipertimbangkan:
Jika kita ingin mendapatkan sifat verifikasi yang dapat diperbarui dari Verkle dengan cara yang aman secara kuantum dan efisien, pendekatan lain yang mungkin adalah menggunakan pohon Merkle berbasis lattice.
Jika dalam kasus terburuk, membuktikan bahwa efisiensi sistem tidak cukup tinggi, maka kita masih dapat menggunakan alat yang tidak terduga ini, gas multi-dimensi, untuk mengatasi kekurangan ini: menyediakan (i) calldata; (ii) perhitungan; (iii) akses status dan kemungkinan sumber berbeda lainnya dengan pengaturan gas yang terpisah. Gas multi-dimensi menambah kompleksitas, tetapi sebagai pertukaran, itu lebih ketat membatasi rasio antara kasus rata-rata dan kasus terburuk. Dengan gas multi-dimensi, jumlah cabang maksimum yang perlu dibuktikan secara teoritis dapat berkurang dari 12500 menjadi 3000, misalnya. Ini akan membuat BLAKE 3 cukup (dalam arti longgar) bahkan hari ini.
Gas multi-dimensi memungkinkan pembatasan sumber daya Blok lebih mendekati pembatasan sumber daya perangkat keras dasar
Alat lain yang tak terduga adalah menghitung latensi root state ke Blok setelah slot. Dengan demikian, kita memiliki waktu 12 detik penuh untuk menghitung akar status, yang berarti bahkan dalam situasi paling ekstrim, waktu bukti 60000 hash per detik sudah cukup, ini sekali lagi membuat kita berpikir bahwa BLAKE 3 hanya cukup memenuhi persyaratan.
Kekurangan metode ini adalah dapat meningkatkan latensi light clientlatensi dengan satu slot, namun ada teknik yang lebih canggih yang dapat mengurangi latensi ini menjadi hanya latensi pembuatan bukti. Misalnya, bukti dapat segera disiarkan ke jaringan setelah dihasilkan oleh Node mana pun, bukan menunggu Blok berikutnya.
Bagaimana interaksi dengan bagian lain dari peta jalan?
Mengatasi masalah tanpa status secara signifikan meningkatkan kesulitan poin tunggal. Jika ada teknologi yang dapat menurunkan keseimbangan terendah titik tunggal, seperti Orbit SSF atau strategi Layer Aplikasi, seperti tim titik tunggal, ini akan menjadi lebih mungkin dilakukan.
Jika EOF diperkenalkan bersamaan, analisis gas multidimensi akan menjadi lebih mudah. Hal ini karena kompleksitas eksekusi gas multidimensi terutama berasal dari penanganan panggilan anak yang tidak meneruskan seluruh gas panggilan induk, sedangkan EOF hanya perlu mengatur panggilan anak semacam ini menjadi ilegal, masalah ini menjadi sepele (dan abstraksi akun lokal akan memberikan solusi pengganti untuk penggunaan gas utama saat ini dalam protokol).
Antara verifikasi tanpa status dan kedaluwarsa sejarah, ada kerja sama penting lainnya. Saat ini, klien harus menyimpan hampir 1 TB data sejarah; data ini adalah beberapa kali lipat data status. Bahkan jika klien tidak memiliki status, impian hampir tanpa penyimpanan klien tidak akan terwujud kecuali kita bisa melepaskan tanggung jawab klien untuk menyimpan data sejarah. Langkah pertama dalam hal ini adalah EIP-4444, yang juga berarti penyimpanan data sejarah di torrents atau Portal Network situs web portal.
bukti validitas yang dilakukan oleh EVM
Apa masalah yang ingin kita selesaikan?
Tujuan jangka panjang verifikasi Blok Ether sangat jelas - harus dapat diverifikasi dengan cara berikut: (i) mengunduh Blok, atau bahkan hanya mengunduh sebagian kecil dari sampel ketersediaan data Blok; (ii) memverifikasi bukti kecil yang sah dari Blok. Ini akan menjadi operasi dengan penggunaan sumber daya yang sangat rendah, dapat diselesaikan di klien seluler, dompet browser, bahkan dapat diselesaikan di rantai lain (tanpa bagian ketersediaan data).
Untuk mencapai hal ini, perlu dilakukan bukti SNARK atau STARK terhadap (i) lapisan konsensus (yaitu Proof of Stake) dan (ii) lapisan eksekusi (yaitu EVM). Yang pertama merupakan tantangan tersendiri, harus dipecahkan dalam proses terus-menerus perbaikan lapisan konsensus (misalnya, terkait finalitas tunggal). Yang kedua memerlukan bukti eksekusi EVM.
Apa itu, bagaimana cara kerjanya?
Dari segi bentuk, dalam spesifikasi blok ETH, EVM didefinisikan sebagai fungsi peralihan status: Anda memiliki beberapa status sebelum S, sebuah Blok B, Anda sedang menghitung status setelah S' = STF(S, B). Jika pengguna menggunakan light client, mereka tidak sepenuhnya memiliki S dan S', bahkan E; sebaliknya, mereka memiliki akar status sebelum R, akar status setelah R', dan nilai hash Blok H.
Jika situasi ini terjadi, maka akan dimungkinkan untuk memiliki klien ringan yang melakukan verifikasi penuh dari eksekusi EVM ETH. Ini membuat sumber daya klien menjadi cukup rendah. Untuk mencapai klien ETH yang melakukan verifikasi penuh yang sebenarnya, perlu dilakukan kerja yang sama dalam hal Konsensus.
Implementasi bukti validitas untuk perhitungan EVM sudah ada dan banyak digunakan oleh L2. Namun, masih ada banyak pekerjaan yang perlu dilakukan agar bukti validitas EVM dapat berfungsi di L1.
Apa hubungannya dengan penelitian yang ada?
Masih bisa melakukan apa lagi?
Saat ini, sistem pencatatan elektronik memiliki kekurangan dalam dua hal: keamanan dan waktu verifikasi.
Sebuah bukti validitas yang aman memerlukan memastikan SNARK benar-benar memverifikasi perhitungan EVM dan tidak ada kerentanan. Dua teknologi utama untuk meningkatkan keamanan adalah validator ganda dan verifikasi formal. Validator ganda mengacu pada implementasi bukti validitas yang ditulis secara independen, seperti memiliki beberapa klien, jika subset yang cukup besar dari implementasi ini membuktikan Blok, klien akan menerima Blok tersebut. Verifikasi formal melibatkan penggunaan alat yang biasanya digunakan untuk membuktikan teorema matematika, seperti Lean 4, untuk membuktikan bahwa bukti validitas hanya menerima spesifikasi EVM yang dieksekusi dengan benar (misalnya semantik K EVM atau spesifikasi lapisan eksekusi Ethereum yang ditulis dengan python (EELS)).
Waktu verifikasi yang cukup cepat berarti setiap blok di rantai blok ETH dapat diverifikasi dalam waktu kurang dari 4 detik. Saat ini, kita masih jauh dari tujuan ini, meskipun kita sudah jauh lebih dekat daripada yang kita bayangkan dua tahun lalu. Untuk mencapai tujuan ini, kita perlu membuat kemajuan dalam tiga arah:
Mengimplementasikan ini memiliki tantangan. Bahkan dalam kasus terburuk, di mana transaksi yang sangat besar mengambil seluruh Blok, pembagian komputasi tidak dapat dilakukan secara berurutan, tetapi harus dilakukan berdasarkan opcode (opcode Virtual Machine dasar seperti EVM atau RISC-V). Menjaga 'memori' Virtual Machine konsisten di antara bagian-bagian berbeda dari bukti adalah tantangan kunci dalam implementasi. Namun, jika kita dapat mencapai bukti rekursif ini, maka kita tahu bahwa setidaknya masalah latensi pihak yang membuktikan telah teratasi, meskipun tidak ada perbaikan lainnya.
Perubahan biaya gas - Jika suatu operasi memerlukan waktu yang lama untuk terverifikasi, maka biaya gasnya harus tinggi meskipun kecepatan komputasinya relatif cepat. EIP-7667 adalah sebuah EIP yang diajukan untuk menangani masalah yang paling serius dalam hal ini: itu secara signifikan meningkatkan biaya gas dari fungsi hash (tradisional) karena opcode dan pra-kompilasi dari fungsi-fungsi ini relatif murah. Untuk mengimbangi peningkatan biaya gas ini, kita dapat menurunkan biaya gas dari opcode EVM yang membuktikan relatif rendah, sehingga menjaga throughput rata-rata tetap tidak berubah.
Selain itu, dua alat yang disebutkan dalam bagian sebelumnya (gas multidimensi dan latensi root state) juga dapat membantu dalam hal ini. Namun, perlu diperhatikan bahwa berbeda dengan verifikasi tanpa status, menggunakan kedua alat ini berarti kita sudah memiliki cukup teknologi untuk menyelesaikan pekerjaan yang saat ini kita butuhkan, dan meskipun menggunakan teknologi ini, verifikasi ZK-EVM lengkap juga membutuhkan lebih banyak pekerjaan - hanya perlu lebih sedikit pekerjaan.
Satu hal yang tidak disebutkan sebelumnya adalah hardware pembuat bukti: GPU, FPGA, dan ASIC digunakan untuk menghasilkan bukti lebih cepat. Fabric Cryptography, Cysic, dan Accseal adalah tiga perusahaan yang telah membuat kemajuan dalam hal ini. Ini sangat berharga untuk L2, tetapi tidak mungkin menjadi faktor penentu untuk L1 karena orang sangat ingin L1 tetap Desentralisasi, yang berarti pembuatan bukti harus dalam jangkauan wajar pengguna ETH, dan tidak boleh dibatasi oleh bottleneck hardware perusahaan tunggal. L2 dapat membuat pertimbangan yang lebih positif.
Di bidang-bidang ini, masih ada lebih banyak pekerjaan yang perlu dilakukan:
Kemungkinan biayanya adalah:
Bagaimana interaksi dengan bagian lain dari peta jalan?
Teknologi inti yang diperlukan untuk mencapai bukti validitas L1 EVM secara besar-besaran berbagi banyak kesamaan dengan dua bidang lainnya:
Dengan berhasil menerapkan bukti validitas di L1, akhirnya dapat dengan mudah melakukan stake tunggal: bahkan perangkat komputer yang paling lemah sekalipun (termasuk ponsel atau jam tangan pintar) dapat melakukan stake. Hal ini lebih lanjut meningkatkan nilai dari memecahkan batasan lain dalam stake tunggal (seperti batas minimum 32 ETH).
Selain itu, bukti validitas EVM L1 dapat secara signifikan meningkatkan batas gas L1.
Bukti validitas Konsensus
Apa masalah yang ingin kita selesaikan?
Jika kita ingin sepenuhnya memverifikasi sebuah blok ETH di rantai menggunakan SNARK, maka pelaksanaan EVM bukanlah satu-satunya bagian yang perlu kita buktikan. Kita juga perlu membuktikan Konsensus, yaitu bagian sistem yang menangani deposit, penarikan, penandatanganan, pembaruan saldo validator, dan elemen lain dari bagian Proof of Stake blok ETH.
Konsensus jauh lebih sederhana dibandingkan EVM, tetapi tantangannya adalah kita tidak memiliki konvolusi L2 EVM, sehingga sebagian besar pekerjaan harus diselesaikan apa adanya. Oleh karena itu, implementasi Konsensus Ethereum yang membuktikan ETH perlu 'mulai dari awal', meskipun sistem bukti itu sendiri dapat dibangun di atas pekerjaan bersama itu.
Apa itu dan bagaimana cara kerjanya?
beacon chain didefinisikan sebagai fungsi perubahan status, seperti EVM. Fungsi perubahan status terdiri dari tiga bagian utama:
Dalam setiap Blok, kita perlu membuktikan 1-16 ECADD BLS 12-381 untuk setiap validator (mungkin lebih dari satu karena tanda tangan dapat termasuk dalam beberapa koleksi). Ini dapat dikompensasi dengan teknik subset prekomputasi, sehingga kita dapat mengatakan bahwa setiap validator hanya perlu membuktikan satu ECADD BLS 12-381. Saat ini, setiap slot memiliki 30000 tanda tangan validator. Di masa depan, dengan pencapaian finalitas satu slot, situasi ini dapat berubah dalam dua arah: Jika kita mengambil rute 'kekerasan', jumlah validator per slot dapat meningkat menjadi 1 juta. Sementara itu, jika menggunakan Orbit SSF, jumlah validator akan tetap 32768, atau bahkan berkurang menjadi 8192.
Bagaimana BLS Agregat Berfungsi: Verifikasi tanda tangan keseluruhan hanya memerlukan satu ECADD dari setiap peserta, bukan satu ECMUL. Namun 30000 ECADD masih merupakan jumlah bukti yang besar.
Untuk pasangan, saat ini setiap slot memiliki maksimum 128 bukti, yang berarti perlu diverifikasi 128 pasangan. Melalui ElP-7549 dan modifikasi lebih lanjut, setiap slot dapat berkurang menjadi 16. Jumlah pasangan sedikit, tetapi biayanya sangat tinggi: waktu operasi (atau bukti) setiap pasangan lebih dari k kali lebih lama dari ECADD.
Salah satu tantangan utama dalam membuktikan operasi BLS 12-381 adalah bahwa tidak ada kurva yang nyaman dengan order kurva sama dengan ukuran bidang BLS 12-381, yang menambahkan biaya yang cukup besar untuk sistem bukti apa pun. Di sisi lain, Verkle Tree yang diajukan untuk ETH dikonstruksi dengan kurva Bandersnatch, sehingga BLS 12-381 itu sendiri menjadi subkurva yang digunakan dalam sistem SNARK untuk membuktikan cabang Verkle. Sebuah implementasi yang relatif sederhana dapat membuktikan penjumlahan 100 G1 per detik; untuk membuat kecepatan bukti cukup cepat, hampir pasti diperlukan teknologi yang cerdik seperti GKR.
Untuk nilai hash SHA 256, situasi terburuk saat ini adalah blok konversi zaman, seluruh pohon keseimbangan pendek validator dan banyak keseimbangan validator akan diperbarui. Setiap pohon keseimbangan pendek validator hanya memiliki satu byte, sehingga 1 MB data akan di-hash ulang. Ini setara dengan 32768 panggilan SHA 256. Jika ada seribu validator yang saldo-nya lebih tinggi atau lebih rendah dari ambang batas, perlu memperbarui saldo efektif dalam catatan validator, ini setara dengan seribu cabang Merkle, sehingga mungkin perlu 10.000 nilai hash. Mekanisme pengocokan memerlukan 90 Bit per validator (sehingga memerlukan 11 MB data), tetapi ini dapat dihitung kapan saja dalam satu era. Dalam kasus terminasi satu slot, angka-angka ini mungkin bertambah atau berkurang tergantung pada situasi tertentu. Pengocokan menjadi tidak perlu, meskipun Orbit mungkin akan mengembalikan kebutuhan ini hingga batas tertentu.
Tantangan lain adalah perlu untuk mendapatkan kembali status validator, termasuk Kunci Publik, sebelum Blok dapat diverifikasi. Untuk 1 juta validator, hanya membaca Kunci Publik memerlukan 48 juta byte, ditambah dengan cabang Merkle. Ini memerlukan jutaan nilai hash di setiap epoch. Jika kita harus membuktikan kevalidan PoS, satu metode yang realistis adalah dengan bentuk perhitungan verifikasi bertambah: penyimpanan struktur data terpisah di dalam sistem pembuktian yang dioptimalkan untuk pencarian efisien dan pembuktian pembaruan terhadap struktur itu sendiri.
Secara keseluruhan, tantangannya sangat banyak. Untuk menghadapi tantangan-tantangan tersebut secara efektif, mungkin perlu melakukan redesain yang mendalam terhadap beacon chain, dan hal ini mungkin dilakukan secara bersamaan dengan beralih ke akhir slot tunggal. Redesain ini mungkin mencakup fitur-fitur seperti:
Apa hubungannya dengan penelitian yang ada?
Masih ada pekerjaan apa yang perlu dilakukan, bagaimana memilih:
Sebenarnya, kami membutuhkan beberapa tahun untuk mendapatkan bukti validitas Konsensus ETH. Ini sekitar waktu yang sama yang diperlukan untuk mencapai finalitas slot tunggal, Orbit, memodifikasi Algoritme Tanda Tangan, dan melakukan analisis keamanan yang memerlukan kepercayaan yang cukup untuk menggunakan fungsi hash yang "agresif" seperti Poseidon. Oleh karena itu, pendekatan terbaik adalah menyelesaikan masalah lain ini dan pada saat yang sama mempertimbangkan kebaikan STARK.
Kompromi utama mungkin berada pada urutan operasi, antara pendekatan yang lebih progresif dalam memperbarui lapisan konsensus Ethereum dan pendekatan yang lebih agresif dengan 'banyak perubahan sekaligus'. Untuk EVM, pendekatan progresif masuk akal karena dapat mengurangi gangguan terhadap kompatibilitas mundur sebanyak mungkin. Bagi lapisan konsensus, dampak terhadap kompatibilitas mundur relatif kecil, dan memikir ulang berbagai detail dalam pembangunan beacon chain dengan lebih 'komprehensif', serta mengoptimalkan ke-SNARK-an dengan cara terbaik juga memiliki manfaat.
Bagaimana interaksi dengan bagian lain dari peta jalan?
Ketika merancang ulang PoS Ethereum jangka panjang, keahlian STARK harus menjadi faktor pertimbangan utama, terutama dalam hal finalitas slot tunggal, Orbit, perubahan skema penandatanganan, dan agregasi penandatanganan.