Paradigma: Penjelasan rinci tentang sejarah Ethereum naik masalah dan solusinya

Penulis asli: Storm Slivkoff, Georgios Konstantopoulos

Kompilasi asli: Luffy, Foresight News

Sejarah naik pertumbuhan saat ini merupakan hambatan terbesar dalam ekspansi Ethereum. Anehnya, naik sejarah telah menjadi masalah yang lebih besar daripada naik negara. Dalam beberapa tahun, data historis akan melebihi kapasitas penyimpanan long Ethereum Node.

Inilah kabar baiknya:

  • Historical naik adalah masalah yang jauh lebih mudah dipecahkan daripada naik negara.
  • Solusinya sudah dalam pengembangan aktif.
  • Mengatasi naik historis akan meringankan masalah naik negara.

Dalam posting ini, kita akan terus melihat Ethereum masalah scaling di Bagian 1 dan sekarang mengalihkan perhatian kita dari naik negara ke naik sejarah. Dengan menggunakan kumpulan data terperinci, tujuan kami adalah untuk 1) secara teknis memahami hambatan penskalaan Ethereum, dan 2) membantu membuka diskusi seputar solusi optimal untuk batas gas Ethereum.

Apa itu naik Sejarah?

Sejarah adalah kumpulan semua blok dan transaksi yang dilakukan oleh Ethereum sepanjang masa pakainya, dan itu semua data dari Genesis Block ke Blok saat ini. Pertumbuhan historis adalah naik blok baru dan transaksi baru dari waktu ke waktu.

Gambar 1 menunjukkan hubungan antara naik historis dan berbagai metrik protokol dan kendala perangkat keras Ethereum Node. Dibandingkan dengan naik negara, naik historis dibatasi oleh serangkaian kendala perangkat keras yang berbeda. naik historis memberi tekanan pada IO jaringan karena Blok dan transaksi baru harus ditransmisikan ke seluruh jaringan. Historical naik juga dapat memberi tekanan pada short penyimpanan Node, karena setiap Ethereum Node menyimpan salinan lengkap sejarah. Jika tingkat historis naik cukup cepat untuk melebihi batas perangkat keras ini, Node tidak akan lebih lama dapat mencapai Konsensus stabil dengan Node-nya. Untuk gambaran umum naik status dan kemacetan penskalaan lainnya, lihat Bagian 1 dari seri ini.

Paradigm:详解以太坊历史增长问题及其解决方案

Gambar 1: Ethereum kemacetan penskalaan

Sampai saat ini, sebagian besar throughput jaringan per node digunakan untuk mentransfer riwayat (seperti blok dan transaksi baru). Ini berubah dengan diperkenalkannya gumpalan di Hard Fork Dencun. blob sekarang akun untuk sebagian besar aktivitas Jaringan Node. Namun, blob tidak dianggap sebagai bagian dari riwayat karena 1) blob hanya disimpan oleh Node selama 2 minggu dan kemudian dibuang, dan 2) blob tidak perlu mengulangi data dari awal Ethereum. Karena (1), blob tidak secara signifikan meningkatkan beban penyimpanan per Ethereum Node. Kita akan berbicara tentang blob nanti di artikel ini.

Pada artikel ini, kita akan fokus pada naik sejarah dan membahas hubungan antara sejarah dan negara. Karena naik negara bagian dan naik historis memiliki beberapa kendala perangkat keras yang tumpang tindih, mereka adalah masalah terkait, dan memecahkan satu masalah dapat membantu menyelesaikan yang lain.

Seberapa cepat sejarah naik long?

Gambar 2 menunjukkan tingkat naik historis sejak penciptaan Ethereum. Setiap garis vertikal mewakili naik bulan. Sumbu y mewakili jumlah k exabyte naik historis pada bulan itu. Transaksi dikategorikan berdasarkan "Alamat tujuan" dan menggunakan byte RLP() untuk menunjukkan ukuran. Kontrak yang tidak dapat dengan mudah diidentifikasi diklasifikasikan sebagai "tidak diketahui". Kategori "Lainnya" mencakup berbagai sub-kategori seperti infrastruktur dan game.

Paradigm:详解以太坊历史增长问题及其解决方案

Gambar 2: Ethereum tingkat naik historis dari waktu ke waktu

Beberapa takeaways kunci dari grafik di atas:

  • Tingkat naik historis 6 hingga 8 kali lebih cepat daripada naik negara bagian: Tingkat naik historis baru-baru ini memuncak pada 36,0 GiB / bulan dan saat ini 19,3 GiB / bulan. Tingkat naik negara memuncak pada sekitar 6,0 GiB / bulan dan saat ini 2,5 GiB / bulan. Perbandingan sejarah dan negara dalam hal naik dan ukuran kumulatif akan dijelaskan nanti dalam artikel ini.
  • Sebelum Decun, tingkat naik historis telah dipercepat: Sementara negara telah kira-kira linier naik selama long tahun (lihat Bagian 1), sejarahnya naik superlinear. Mempertimbangkan bahwa tingkat naik naik linier menghasilkan naik kuadrat dari skala keseluruhan, tingkat naik naik superlinier menghasilkan ukuran keseluruhan melebihi naik kuadrat. Akselerasi ini berhenti tiba-tiba setelah Dencun. Ini adalah pertama kalinya Ethereum mengalami Drop yang signifikan dalam tingkat naik historis.
  • Mayoritas naik historis terbaru berasal dari Rollups: setiap L2 menerbitkan salinan transaksinya kembali ke Mainnet. Ini menghasilkan sejumlah besar naik historis dan menyebabkan Rollup menjadi kontributor paling signifikan terhadap pertumbuhan historis selama setahun terakhir. Namun, Dencun memungkinkan L2 untuk mempublikasikan data transaksinya menggunakan blob alih-alih riwayat, sehingga Rollup tidak lebih lama menghasilkan sebagian besar riwayat Ethereum. Kami akan membahas Rollups secara lebih rinci nanti di artikel ini.

Siapa penyumbang terbesar naik sejarah Ethereum?

Jumlah historis dari berbagai kelas kontrak yang dihasilkan mengungkapkan bagaimana pola penggunaan Ethereum telah berkembang dari waktu ke waktu. Gambar 3 menunjukkan kontribusi relatif dari berbagai kategori kontrak. Ini dinormalisasi ke data yang sama seperti pada Gambar 2.

Paradigm:详解以太坊历史增长问题及其解决方案

Gambar 3: Kontribusi kelas kontrak yang berbeda terhadap naik historis

Data ini mengungkapkan empat periode pola penggunaan Ethereum yang berbeda:

Awal (ungu): Ada sedikit aktivitas on-chain dalam beberapa tahun pertama Ethereum. Sebagian besar long dari kontrak awal ini sekarang sulit diidentifikasi dan ditandai sebagai "tidak diketahui" dalam grafik.

  • Era ERC-20 (hijau): Standar ERC-20 diselesaikan pada akhir 2015 tetapi tidak mendapatkan perkembangan yang signifikan hingga 2017 dan 2018. ERC-20 kontrak menjadi sumber naik sejarah terbesar pada tahun 2019.
  • DEX / Keuangan Desentralisasi Era (Brown): Kontrak DEX dan Keuangan Desentralisasi muncul di on-chain pada awal 2016 dan mulai mendapatkan daya tarik pada 2017. Tetapi baru pada musim panas Keuangan Desentralisasi 2020 mereka menjadi kategori terbesar sepanjang masa naik. Kontrak Keuangan Desentralisasi dan DEX menyumbang lebih dari 50% dari naik sepanjang masa untuk sebagian tahun 2021 dan 2022.
  • Rollup Era (Abu-abu): Pada awal 2023, L2 Rollups mulai mengeksekusi lebih lama transaksi daripada Mainnet. Pada bulan-bulan utama hingga Dencun, mereka menghasilkan sekitar 2/3 dari sejarah Ethereum.

Setiap era mewakili pola penggunaan Ethereum yang lebih kompleks daripada sebelumnya. Seiring waktu, kompleksitas dapat dilihat sebagai bentuk penskalaan Ethereum, yang tidak dapat diukur dengan metrik sederhana seperti transaksi per detik.

Pada bulan data terbaru (April 2024), Rollups tidak lebih lama menghasilkan sebagian besar sejarah. Tidak jelas apakah sejarah masa depan berasal dari DEX dan Keuangan Desentralisasi, atau apakah beberapa pola penggunaan baru akan muncul.

Bagaimana dengan gumpalan?

Dencun Hard Fork secara dramatis mengubah dinamika kenaikan historis dengan memperkenalkan gumpalan, memungkinkan rollups untuk mempublikasikan data menggunakan gumpalan murah alih-alih riwayat. Gambar 4 memperkuat naik historis sebelum dan sesudah upgrade Dencun. Grafiknya mirip dengan Gambar 2, kecuali bahwa setiap garis vertikal mewakili satu hari, bukan sebulan.

Paradigm:详解以太坊历史增长问题及其解决方案

Gambar 4 Dampak :D encun terhadap naik sejarah

Dari bagan ini, kita dapat menarik beberapa kesimpulan kunci:

  • naik historis rollups telah turun sekitar 2/3 sejak Dencun: long rollups besar telah dikonversi dari data panggilan ke gumpalan, yang sangat mengurangi jumlah riwayat yang dihasilkannya. Namun, hingga April 2024, masih ada beberapa rollups yang belum dikonversi dari data panggilan ke blob.
  • Total naik sepanjang masa telah turun sekitar 1/3 sejak Dencun: Dencun hanya Drop naik sepanjang masa rollups. Ada sedikit peningkatan dalam naik historis untuk kategori kontrak lainnya. Bahkan setelah Dencun, naik sejarah masih 8 kali naik negara bagian (lihat bagian selanjutnya untuk detailnya).

Meskipun gumpalan telah Drop kecepatan naik historis, mereka masih merupakan fitur baru dari Ethereum. Tidak jelas pada tingkat apa kecepatan naik historis akan stabil di hadapan gumpalan.

Apakah long cepat historis naik dapat diterima?

Meningkatkan batas gas akan meningkatkan tingkat naik historis. Oleh karena itu, proposal untuk meningkatkan batas gas, seperti Pump the Gas, harus mempertimbangkan akun hubungan antara naik historis dan kemacetan perangkat keras setiap Node.

Untuk menentukan tingkat naik historis yang dapat diterima, Anda harus terlebih dahulu memahami bagaimana long perangkat keras Node Anda saat ini dapat mempertahankan long dalam hal jaringan dan penyimpanan. Perangkat keras jaringan mungkin dapat mempertahankan status quo tanpa batas waktu, karena tingkat pertumbuhan historis tidak mungkin naik kembali ke puncak pra-Dencun sampai batas gas meningkat. Namun, beban penyimpanan sejarah meningkat seiring waktu. Di bawah strategi penyimpanan saat ini, tidak dapat dihindari bahwa disk penyimpanan setiap Node pada akhirnya akan diisi dengan sejarah.

Gambar 5 menunjukkan Ethereum Node beban penyimpanan dari waktu ke waktu dan memprediksi naik beban penyimpanan selama 3 tahun ke depan. Perkiraan tersebut didasarkan pada tingkat naik pada April 2024. Tingkat naik ini dapat naik atau menurun karena pola penggunaan di masa mendatang atau batas gas berubah.

Paradigm:详解以太坊历史增长问题及其解决方案

Gambar 5: Ukuran riwayat, status, dan beban penyimpanan node penuh

Dari grafik ini, kita dapat menarik beberapa kesimpulan kunci:

  • Sejarah menempati sekitar 3 kali celana pendek penyimpanan negara. Perbedaan ini juga meningkat dari waktu ke waktu, karena pertumbuhan historis sekitar 8 kali lebih cepat daripada negara.
  • 1.8 TiB adalah ambang kritis di mana Xu long Node akan dipaksa untuk meningkatkan drive penyimpanan mereka. 2 TB adalah ukuran hard drive penyimpanan umum, hanya menyediakan 1,8 TiB celana pendek yang dapat digunakan. Perhatikan bahwa TB (1 triliun byte) adalah unit yang berbeda dari TiB (= 1024^4 byte). Untuk operator Xu long Node, ambang kritis "benar" bahkan lebih rendah, karena validator pasca-penggabungan harus berjalan bersama klien eksekusi Konsensus.
  • Ambang kritis akan tercapai dalam 2 hingga 3 tahun. Menaikkan gas limit dengan jumlah berapa pun akan mempercepat waktu yang sesuai. Mencapai ambang batas ini akan menempatkan beban pemeliharaan yang signifikan pada operator Node dan memerlukan pembelian perangkat keras tambahan (misalnya, drive NVME $ 300).

Tidak seperti data status, data historis hanya ditambahkan dan diakses paling jarang. Oleh karena itu, secara teoritis dimungkinkan untuk menyimpan data historis secara terpisah dari data negara pada media penyimpanan yang lebih murah. Ini dapat dicapai dengan beberapa klien seperti Geth.

Selain kapasitas penyimpanan, IO jaringan adalah batasan utama lain dari naik historis. Tidak seperti kapasitas penyimpanan, batas IO jaringan tidak akan menyebabkan masalah bagi Node di jangka pendek, tetapi batas ini akan menjadi penting untuk meningkatkan batas gas di masa mendatang.

Untuk memahami bagaimana kapasitas jaringan Ethereum Node tipikal dapat dukungan long beberapa naik historis, penting untuk mengetahui hubungan antara naik historis dan berbagai metrik kesehatan jaringan, seperti tingkat reorganisasi, slot miss, final miss, proof miss, synchronization committee misses, dan Blok commit latensi. Analisis metrik ini berada di luar cakupan artikel ini, tetapi lebih banyak informasi long dapat ditemukan dalam survei sebelumnya tentang kesehatan lapisan Konsensus. Selain itu, proyek Xatu Ethereum Foundation telah membangun kumpulan data publik untuk mempercepat analisis tersebut.

Bagaimana mengatasi masalah naik historis?

Kebangkitan historis adalah masalah yang jauh lebih mudah dipecahkan daripada kebangkitan negara. Hal ini dapat diatasi hampir seluruhnya dengan proposal kandidat EIP-4444. Ini EIP mengubah setiap Node dari menyimpan seluruh data historis Ethereum menjadi hanya data historis satu tahun. Setelah penerapan EIP-4444, penyimpanan data tidak lebih lama menjadi hambatan untuk penskalaan Ethereum, dan dalam jangka long, peningkatan gas limit tidak akan dibatasi. EIP-4444 diperlukan untuk keberlanjutan jaringan jangka long, jika tidak, tingkat historis naik akan cepat dan perangkat keras Node jaringan perlu diperbarui secara berkala.

Gambar 6 menunjukkan dampak EIP-4444 pada beban penyimpanan setiap Node selama 3 tahun ke depan. Ini sama dengan Gambar 4, tetapi dengan penambahan garis dangkal untuk menunjukkan beban penyimpanan setelah penerapan EIP-4444.

Paradigm:详解以太坊历史增长问题及其解决方案

Gambar 6: Dampak EIP-4444 pada beban penyimpanan Ethereum Node

Beberapa kesimpulan kunci dapat dilihat dari grafik ini:

  • EIP-4444 akan Halving beban penyimpanan saat ini. Beban penyimpanan akan berkurang dari 1,2 TiB menjadi 633 GiB.
  • EIP-4444 akan menstabilkan beban penyimpanan historis. Dengan asumsi tingkat naik historis konstan, data historis dibuang pada tingkat yang dihasilkan.
  • Setelah EIP-4444, akan memakan waktu bertahun-tahun terpanjang untuk beban penyimpanan Node untuk mencapai tempat seperti sekarang ini. Ini karena naik negara akan menjadi satu-satunya faktor yang meningkatkan beban penyimpanan, dan naik negara lebih lambat dari naik historis.

Setelah EIP-4444 diterapkan, naik sejarah masih akan memperkenalkan beberapa tingkat beban penyimpanan, karena Node akan menyimpan sejarah sejarah selama satu tahun. Namun, bahkan jika Ethereum mencapai skala global, beban ini tidak akan sulit untuk diselesaikan. Setelah metode penyimpanan riwayat terbukti dapat diandalkan, waktu kedaluwarsa satu tahun untuk EIP-4444 dapat dipersingkat menjadi bulan, minggu, atau bahkan kurang.

Bagaimana cara menyimpan riwayat Ethereum saya?

EIP-4444 menimbulkan pertanyaan: jika sejarah tidak diselamatkan oleh Ethereum Node sendiri, lalu bagaimana seharusnya diselamatkan? Sejarah memainkan peran sentral dalam verifikasi, akuntansi, dan analisis Ethereum, jadi sangat penting untuk melestarikan sejarah. Untungnya, menyimpan riwayat adalah masalah sederhana yang hanya membutuhkan 1/n penyedia data yang jujur. Ini berbeda dengan masalah Konsensus negara, yang membutuhkan 1/3 hingga 2/3 peserta untuk jujur. Node operator dapat memverifikasi keaslian kumpulan data historis dengan 1) memutar ulang semua transaksi sejak Genesis Block dan 2) memeriksa apakah transaksi ini mereproduksi akar status yang sama dengan sisi Blockchain saat ini.

Ada cara terpanjang untuk menyelamatkan sejarah.

  • Torrents / P2P: Torrents adalah metode termudah dan paling dapat diandalkan. Ethereum Node dapat mengemas bagian dari riwayat secara teratur dan membagikannya sebagai file torrent publik. Misalnya, Node dapat membuat file torrent historis baru setiap 100.000 Blok. Node klien seperti Erigon sudah melakukan proses ini dengan cara yang agak tidak standar. Untuk membakukan proses ini, semua klien Node harus menggunakan format data yang sama, parameter yang sama, dan jaringan P2P yang sama. Node akan dapat memilih apakah akan berpartisipasi dalam jaringan ini atau tidak berdasarkan kemampuan penyimpanan dan bandwidth mereka. Keuntungan dari Torrents adalah penggunaan standar terbuka lindy tinggi yang sudah didukung oleh sejumlah besar alat data.
  • Jaringan Portal: Jaringan Portal adalah jaringan baru yang dirancang khusus untuk hosting data Ethereum. Ini adalah pendekatan yang mirip dengan Torrent sementara juga menawarkan beberapa fitur tambahan yang membuat validasi data lebih mudah. Keuntungan dari Portal Network adalah bahwa lapisan validasi tambahan ini menyediakan klien ringan dengan utilitas untuk memvalidasi dan meminta himpunan data bersama secara efisien.
  • Cloud hosting: Layanan penyimpanan cloud seperti AWS S 3 atau Cloudflare's R 2 menawarkan opsi yang murah dan berkinerja tinggi untuk menyimpan riwayat. Namun, pendekatan ini memperkenalkan lebih banyak long risiko hukum dan operasional, karena tidak ada jaminan bahwa layanan cloud ini akan selalu bersedia dan mampu menampung data Aset Kripto.

Tantangan implementasi yang tersisa lebih lama sosial daripada teknis. Komunitas Ethereum perlu mengoordinasikan detail implementasi spesifik secara pesanan mengintegrasikannya secara langsung ke setiap klien Node. Secara khusus, melakukan sinkronisasi penuh dari Genesis Block (bukan sinkronisasi Snapshot) akan memerlukan pengambilan riwayat dari penyedia riwayat, bukan Ethereum Node. Perubahan ini secara teknis tidak memerlukan fork keras, sehingga dapat diimplementasikan lebih awal dari fork keras Ethereum berikutnya, Pectra.

Semua metode penyimpanan riwayat ini juga dapat digunakan oleh L2 untuk menyimpan data blob yang mereka terbitkan ke Mainnet. Dibandingkan dengan pelestarian historis, pelestarian blob 1) lebih sulit karena jumlah total data lebih lama; 2) Kurang penting karena gumpalan tidak diperlukan untuk memutar ulang riwayat Mainnet. Namun, pelestarian blob masih diperlukan untuk setiap L2 untuk memutar ulang sejarahnya sendiri. Oleh karena itu, beberapa bentuk penyimpanan blob penting untuk seluruh ekosistem Ethereum. Selain itu, jika L2 mengembangkan infrastruktur penyimpanan blob yang kuat, mereka mungkin juga dapat dengan mudah menyimpan data L1 historis.

Akan sangat membantu untuk secara langsung membandingkan kumpulan data yang disimpan oleh berbagai konfigurasi Node sebelum dan sesudah EIP-4444. Gambar 7 menunjukkan beban penyimpanan untuk berbagai jenis Ethereum Node. Data negara adalah akun dan kontrak, data historis adalah Blok dan Transaksi, dan data arsip adalah kumpulan indeks data opsional. Jumlah byte dalam tabel ini didasarkan pada Snapshot reth terbaru, tetapi angka untuk klien Node lainnya harus kira-kira sama.

Paradigm:详解以太坊历史增长问题及其解决方案

Gambar 7: Beban penyimpanan untuk berbagai jenis Ethereum Node

Kata lain

  • Arsip Node menyimpan data negara dan historis serta data arsip. Archive Node dapat digunakan ketika seseorang ingin dapat dengan mudah menanyakan status rantai historis.
  • Full Node hanya menyimpan data historis dan negara. Sebagian besar long Node saat ini adalah Full Node. Beban penyimpanan node penuh adalah sekitar setengah dari Node arsip.
  • Full node setelah EIP-4444 hanya menyimpan data negara dan data historis untuk tahun terbaru. Ini mengurangi beban penyimpanan pada Node dari 1,2 TiB menjadi 633 GiB dan membawa celana pendek penyimpanan untuk data historis ke nilai steady-state.
  • Stateless Nodes, juga dikenal sebagai "light nodes", tidak menyimpan kumpulan data apa pun dan dapat segera diverifikasi di akhir rantai. Jenis Node ini menjadi mungkin setelah upaya Verkle atau skema komitmen negara lainnya ditambahkan ke Ethereum.

Akhirnya, ada EIP tambahan yang dapat membatasi tingkat naik historis, tidak hanya mengakomodasi tingkat naik saat ini. Ini membantu tetap dalam batasan IO jaringan di jangka pendek dan batasan penyimpanan di jangka panjang. Meskipun EIP-4444 masih diperlukan untuk keberlanjutan jaringan jangka long, EIP lain ini akan membantu skala Ethereum lebih efisien di masa depan:

  • EIP-7623: Repricing data panggilan untuk membuat beberapa transaksi dengan data panggilan kerinduan lebih mahal. Membuat pola penggunaan ini lebih mahal akan memaksa beberapa dari mereka untuk mengkonversi dari data panggilan ke gumpalan. Ini akan Drop tingkat naik historis.
  • EIP-4488: Memberlakukan batas jumlah total data panggilan yang dapat dimasukkan dalam setiap blok. Ini akan memberlakukan batas yang lebih ketat pada tingkat naik sejarah.

EIP ini lebih mudah diterapkan daripada EIP-4444, sehingga dapat berfungsi sebagai opsi jangka short sebelum EIP-4444 masuk ke produksi.

Kesimpulan

Tujuan artikel ini adalah menggunakan data untuk memahami 1) cara kerja naik historis dan 2) cara untuk memecahkan masalah itu. Sebagian besar data long dalam artikel ini sulit diperoleh melalui cara tradisional, jadi kami ingin mengekspos data ini untuk memberikan beberapa wawasan baru tentang masalah naik historis.

Secara historis naik sebagai hambatan untuk ekspansi Ethereum, tidak cukup perhatian telah diberikan padanya. Bahkan tanpa meningkatkan batas gas, konvensi pemeliharaan sejarah Ethereum saat ini akan memaksa Xu long Node untuk meningkatkan perangkat keras mereka dalam beberapa tahun. Untungnya, ini bukan masalah yang sulit untuk dipecahkan. Sudah ada solusi yang jelas di EIP-4444. Kami percaya bahwa penerapan EIP ini harus dipercepat untuk memungkinkan celana pendek untuk kenaikan batas gas di masa mendatang.

Link ke artikel asli

Lihat Asli
  • Hadiah
  • Komentar
  • Bagikan
Komentar
Tidak ada komentar