Disusun oleh: Azuma, Odaily Planet Daily
Menurut tengah hari pada 26 Mac, waktu Beijing, pengasas bersama Monad, Keone Hon menerbitkan artikel mendalam tentang status prestasi Rollup. Dalam artikel itu, Keone memperincikan bagaimana had teoritis TPS Rollup harus dikira selepas peningkatan paparan blok, dan menjelaskan bahawa selepas naik taraf, yuran transaksi tunggal bagi beberapa Lapisan 2 (Asas) masih setinggi beberapa dolar. Selain itu, Keone juga menggariskan beberapa kesesakan yang dihadapi oleh Rollup dan potensi penambahbaikan.
Berikut ialah kandungan asal Keone, yang disusun oleh Odaily Planet Daily Untuk kemudahan pembaca, penterjemah telah membuat penambahan tertentu pada teks asal.
Terdapat beberapa perbincangan di pasaran baru-baru ini tentang kesesakan pelaksanaan Rollup dan had Gas, yang bukan sahaja melibatkan Layer1, tetapi juga Layer2. Saya membincangkan kesesakan ini di bawah.
Mengikut piawaian EIP-4844, struktur data Blob telah diperkenalkan dalam peningkatan blockchain Ketersediaan Data (DA) Ethereum telah dipertingkatkan dengan banyak transaksi penyegerakan data Layer2 Urus niaga lapisan 1 dibida dalam pasaran yuran yang sama.
Pada masa ini, status kapasiti keseluruhan Blobs adalah untuk menghasilkan 3 Gumpalan 125kb setiap blok (12 saat), iaitu 31.25kb setiap blok Memandangkan saiz transaksi adalah lebih kurang 100 bait, ini bermakna semua TPS bahagian Rollups adalah. kira-kira 300.
Sudah tentu, terdapat beberapa maklumat yang memerlukan teguran khas.
Baru-baru ini, Base+ telah menarik perhatian besar disebabkan oleh lonjakan dalam yuran gas Kos beberapa urus niaga biasa pada rangkaian telah meningkat kepada beberapa dolar.
Mengapa rangkaian Pangkalan hanya berkurangan untuk tempoh masa selepas naik taraf di Cancun, dan kini ia telah kembali ke atau bahkan melebihi tahap sebelum naik taraf? Ini kerana terdapat jumlah had gas pada blok di Pangkalan, yang dikuatkuasakan melalui parameter dalam kodnya.
Parameter gas yang digunakan oleh Base pada masa ini adalah sama seperti Optimism, iaitu terdapat had jumlah 5 juta gas setiap blok Layer2 (2 saat Apabila permintaan (jumlah transaksi) pada rangkaian melebihi bekalan (ruang blok) Pada masa ini, penyelesaian harga akan menggunakan mekanisme pelaksanaan atas permintaan, mengakibatkan lonjakan gas pada rangkaian.
Mengapa Base tidak meningkatkan jumlah had gas ini? Atau dengan kata lain, mengapa Rollup perlu menetapkan jumlah had gas?
Selain had atas TPS pada ketersediaan data yang dinyatakan di atas, sebenarnya terdapat dua sebab utama lain, iaitu kesesakan daya pengeluaran pelaksanaan dan bahaya tersembunyi pertumbuhan negeri.
Secara umumnya, EVM Rollup menjalankan EVM bercabang dari Geth, yang bermaksud bahawa mereka mempunyai ciri prestasi yang serupa dengan pelanggan Geth.
Pelanggan Geth adalah satu benang (iaitu ia hanya boleh mengendalikan satu tugasan pada satu masa), menggunakan pengekodan LevelDB/PebbleDB dan menyimpan keadaannya dalam merkle patricia trie (MPT). Ini ialah pangkalan data tujuan umum yang menggunakan struktur pokok lain (pokok LSM) sebagai lapisan asas untuk menyimpan data pada pemacu keadaan pepejal (SSD).
Untuk Rollup, "akses negeri" (nilai bacaan daripada percubaan merkle) dan "kemas kini negeri" (kemas kini percubaan merkle pada penghujung setiap blok) ialah pautan paling mahal dalam proses pelaksanaan. Hal ini demikian kerana kos bacaan tunggal daripada SSD ialah 40-100 mikrosaat, dan kerana struktur data percubaan merkle dibenamkan dalam struktur data lain (pokok LSM), ia memerlukan banyak Carian tambahan yang tidak perlu.
Pautan ini boleh dibayangkan sebagai proses mencari fail tertentu dalam sistem fail yang kompleks. Anda perlu pergi dari direktori akar (cuba nod akar) sehingga ke fail sasaran (nod daun). Apabila mencari setiap fail, anda perlu mencari kunci khusus dalam pangkalan data LevelDB, dan di dalam LevelDB anda mesti melakukan operasi penyimpanan data sebenar melalui struktur data lain yang dipanggil pepohon LSM Proses ini menyebabkan banyak carian tambahan. Langkah tambahan ini menjadikan keseluruhan data membaca dan mengemas kini agak perlahan dan tidak cekap.
Dalam reka bentuk Monad, kami menyelesaikan masalah ini melalui MonadDb. MonadDb ialah pangkalan data tersuai yang menyokong penyimpanan merkle trie secara langsung pada cakera, mengelakkan overhed LevelDb menyokong IO tak segerak, membolehkan berbilang bacaan diproses secara selari;
Selain itu, mekanisme "eksekusi selari optimistik" yang diguna pakai oleh Monad membolehkan pelbagai transaksi diproses secara selari dan statusnya boleh diekstrak daripada MonadDb secara selari.
Walau bagaimanapun, Rollup tidak mempunyai pengoptimuman ini dan oleh itu mempunyai kesesakan dalam pemprosesan pelaksanaan.
Perlu diingatkan bahawa klien Erigon/Reth mempunyai pengoptimuman tertentu untuk kecekapan pangkalan data, dan beberapa klien Rollup juga dibina berdasarkan klien ini (seperti OP-Reth). Erigon/Reth menggunakan struktur data rata, yang mengurangkan kos pertanyaan apabila membaca ke tahap tertentu, bagaimanapun, mereka tidak menyokong bacaan tak segerak atau pemprosesan berbilang benang. Selain itu, akar merkle perlu dikira semula selepas setiap blok, yang juga merupakan proses yang agak perlahan.
Seperti rantaian blok lain, Rollup juga akan mengehadkan daya pengeluaran mereka untuk menghalang keadaan aktifnya daripada berkembang terlalu cepat.
Hujah biasa dalam pasaran ialah sebab kadar pertumbuhan negeri membimbangkan adalah kerana jika data keadaan berkembang dengan ketara, permintaan peranti untuk pemacu keadaan pepejal (SSD) juga perlu dilaraskan ke atas. Walau bagaimanapun, saya fikir ini agak tidak tepat, SSD agak murah (sSD 2TB berkualiti tinggi ialah kira-kira $200), dan keadaan penuh Ethereum "hanya" adalah kira-kira 200 GB dalam sejarah hampir 10 tahunnya. Dari perspektif storan tulen, masih terdapat banyak ruang untuk pertumbuhan.
Bahaya tersembunyi yang lebih besar sebenarnya ialah apabila status terus berkembang, masa untuk menanyakan serpihan status yang dinyatakan akan menjadi lebih lama. Ini kerana trie merkle patricia semasa akan menggunakan "pintasan" apabila syarat "nod hanya mempunyai satu nod anak" dipenuhi, yang boleh mengurangkan kedalaman berkesan trie dan dengan itu mempercepatkan proses pertanyaan daripada percubaan merkle menjadi lebih dan lebih penuh, Akan ada semakin sedikit "jalan pintas" yang tersedia.
Ringkasnya, bahaya tersembunyi pertumbuhan negeri pada akhirnya adalah soal kecekapan akses negeri, jadi mempercepatkan akses negeri adalah kunci untuk menjadikan pertumbuhan negeri lebih mampan.
Layer2 pada masa ini masih dalam keadaan yang agak terpusat, iaitu rangkaian masih bergantung pada penjujukan tunggal untuk mengekalkan keadaan dan menghasilkan blok. Seseorang mungkin bertanya, mengapa tidak menjalankan penjujukan pada perkakasan dengan RAM yang sangat tinggi (memori akses rawak) supaya semua keadaan boleh disimpan dalam ingatan?
Ada dua sebab untuk ini.
Pertama sekali, ini tidak akan menyelesaikan masalah kesesakan ketersediaan data rangkaian utama Ethereum Walaupun berdasarkan situasi semasa Base, lonjakan gas rangkaian tidak disebabkan oleh keupayaan ketersediaan data rangkaian utama yang tidak mencukupi, tetapi. dalam jangka panjang Nampaknya ini akhirnya akan menjadi halangan utama yang mengehadkan Rollup.
Isu kedua ialah desentralisasi Walaupun penjujukan masih sangat terpusat, peranan lain yang terlibat dalam operasi rangkaian juga penting untuk dapat menjalankan nod secara bebas, memainkan semula sejarah transaksi yang sama dan mengekalkan status yang sama.
Data transaksi mentah dan penyerahan keadaan pada Layer1 tidak mencukupi untuk membuka kunci keadaan lengkap. Mana-mana pelakon yang memerlukan akses kepada keadaan lengkap (seperti pedagang, bursa atau pedagang automatik) harus menjalankan nod Layer2 penuh untuk memproses transaksi dan mempunyai salinan negeri yang terkini.
Rollups masih blockchain, dan blockchains menarik kerana keupayaannya untuk mencapai koordinasi global melalui keadaan global yang dikongsi. Untuk semua rantaian blok, perisian berkuasa diperlukan, dan mengoptimumkan perkakasan sahaja tidak mencukupi untuk menyelesaikan masalah.
Selepas Keone menyiarkan artikel ini, kakitangan utama berbilang projek Layer2 utama berinteraksi di bawah kemas kini.
zkSync pengasas bersama Alex Gluchowski bertanya apakah perbezaan antara Monad dalam hal ini sebagai tindak balas kepada artikel "Akar merkle perlu dikira semula selepas setiap blok"?
Jawapan Keone ialah akan ada algoritma pengoptimuman untuk mengira punca merkle selepas setiap blok.
Jesse Pollak, orang yang bertanggungjawab ke atas asas, juga menggunakannya untuk menjelaskan mengapa kos gas meningkat dan bukannya jatuh selepas naik taraf asas di Cancun. tahap, dan kos gas sepatutnya telah dikurangkan Walau bagaimanapun, memandangkan permintaan transaksi rangkaian telah meningkat lebih daripada lima kali ganda, dan blok pada rangkaian Pangkalan mempunyai had gas 250/s, permintaan melebihi bekalan, menyebabkan bayaran gas meningkat.
Atas ialah kandungan terperinci Selepas peningkatan Cancun, apakah kesesakan prestasi Rollups?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!