Detail EIP-7706 dan pilah Ethereum mekanik Gas terbaru

Penulis: @Web3Mario

Pendahuluan: Vitalik merilis proposal EIP-7706 pada 13 Mei 2024, mengusulkan skema pelengkap untuk model gas yang ada, membatalkan perhitungan gas calldata, dan menyesuaikan mekanisme penetapan harga biaya dasar yang mirip dengan Blob gas untuk lebih mengurangi biaya operasional L2. Proposal terkait juga perlu ditelusuri kembali ke EIP-4844 diusulkan pada Februari 2022, yang merupakan long waktu yang lalu, jadi periksa materi yang relevan untuk membuat gambaran umum tentang mekanisme Gas Ethereum terbaru agar semua orang dapat dengan cepat memahami.

Saat ini didukung Ethereum model Gas - EIP-1559 dan EIP-4844

Dalam desain awal, Ethereum menggunakan mekanisme lelang sederhana untuk menentukan harga Pencucian Uang, yang mengharuskan pengguna untuk secara aktif menawar transaksi mereka sendiri, yaitu untuk menetapkan harga gas, biasanya, karena biaya transaksi yang dibayarkan oleh pengguna akan lebih vesting daripada Penambang, sehingga Penambang akan menentukan pesanan kemasan transaksi sesuai dengan prinsip optimasi ekonomi, sesuai dengan tingkat penawaran, perhatikan bahwa ini dalam kasus mengabaikan MEV. Di mata pengembang inti pada saat itu, mekanisme ini menghadapi empat masalah berikut:

Ada ketidakcocokan antara Fluktuasi tingkat Pencucian Uang dan biaya transaksi Konsensus:* Untuk Blockchain aktif, permintaan kemasan untuk transaksi cukup, yang berarti bahwa Blok dapat dengan mudah diisi, tetapi juga sering berarti bahwa biaya keseluruhan sangat Fluktuasi. Misalnya, ketika harga gas rata-rata adalah 10 Gwei, biaya marjinal jaringan untuk menerima transaksi lain dalam satu blok adalah 10 kali lipat dari harga gas rata-rata 1 Gwei, yang tidak dapat diterima. latensi yang tidak perlu bagi pengguna: Karena batas keras gaslimit per Blok, ditambah dengan Fluktuasi alami volume historis, transaksi sering menunggu beberapa Blok sebelum dikemas, tetapi ini tidak efisien untuk keseluruhan jaringan; Artinya, tidak ada mekanisme "kendur" yang memungkinkan satu Blok menjadi lebih besar dan Blok berikutnya lebih kecil untuk memenuhi perbedaan kebutuhan yang Blok berdasarkan kasus per kasus. Harga tidak efisien: Penggunaan mekanisme lelang sederhana mengarah pada penemuan harga wajar yang tidak efisien, yang berarti akan sulit bagi pengguna untuk memberikan harga yang wajar, yang berarti bahwa dalam kasus yang sangat long, pengguna membayar biaya tinggi. Blockchain tanpa Hadiah Blok akan menjadi tidak stabil: Ketika Hadiah Blok yang dibawa oleh Penambangan dihapus dan model biaya murni diadopsi, itu dapat menyebabkan ketidakstabilan yang sangat long, seperti memberi insentif penambangan untuk mencuri "blok saudara" dari Pencucian Uang, membuka selfish mining Attack Vector yang lebih kuat, dll.

Sampai EIP-1559 diusulkan dan dieksekusi, ada iterasi pertama dari model Gas, EIP-1559 diusulkan oleh Vitalik dan pengembang inti lainnya pada 13 April 2019, dan diadopsi dalam peningkatan London pada 5 Agustus 2021 Biaya akan didasarkan pada konsumsi gas yang dihasilkan dalam Blok induk dan gas mengambang dan rekursif Hubungan antara target dihitung secara kuantitatif melalui model matematika yang mapan, dan efek intuitifnya adalah jika penggunaan gas pada Blok sebelumnya melebihi target gas yang telah ditentukan, biaya dasar akan dinaikkan, dan jika kurang dari target gas, biaya dasar akan diturunkan, yang dapat lebih mencerminkan hubungan antara penawaran dan permintaan. Itu juga dapat membuat prediksi gas yang masuk akal lebih akurat, dan tidak akan ada harga gas setinggi langit yang disebabkan oleh kesalahan operasi, karena perhitungan biaya dasar ditentukan secara langsung oleh sistem daripada ditentukan secara bebas oleh pengguna. Kode spesifiknya adalah sebagai berikut:

详述EIP-7706并梳理最新的Ethereum的Gas机制

Dapat dilihat bahwa ketika induk _gas_used lebih besar dari induk _gas_target, maka biaya dasar Blok saat ini akan dibandingkan dengan biaya dasar Blok sebelumnya ditambah nilai offset, dan nilai offset diambil sebagai induk \ _base \ _fee dikalikan dengan offset dari total penggunaan Blok gas sebelumnya relatif terhadap target gas, dan nilai maksimum sisa dan 1 dari target gas dan konstanta. Logika sebaliknya serupa.

Selain itu, biaya dasar tidak lebih lama dibagikan kepada Penambang sebagai hadiah, tetapi akan langsung dibakar, sehingga model ekonomi ETH dalam keadaan deflasi, yang kondusif bagi stabilitas nilai. Di sisi lain, biaya Prioritas setara dengan tip pengguna ke Penambang, yang dapat diberi harga bebas, yang memungkinkan Algoritme penyortiran Penambang digunakan kembali sampai batas tertentu.

详述EIP-7706并梳理最新的Ethereum的Gas机制

Dengan kemajuan waktu hingga 2021, ketika pengembangan Rollup secara bertahap memasuki situasi yang lebih baik, kita tahu bahwa OP Rollup dan ZK Rollup berarti bahwa beberapa data bukti setelah kompresi data L2 perlu diunggah ke on-chain melalui calldata untuk mencapai ketersediaan data atau langsung diserahkan ke on-chain untuk verifikasi. Akibatnya, solusi rollup ini menghadapi biaya gas yang besar saat mempertahankan finalitas L2, dan biaya ini pada akhirnya akan diteruskan ke pengguna, sehingga sebagian besar biaya penggunaan protokol L2 tidak serendah yang dibayangkan.

Pada saat yang sama, Ethereum juga menghadapi dilema persaingan antar Blok short, kita tahu bahwa ada gas limit untuk setiap Blok, yang berarti bahwa total konsumsi gas semua transaksi dalam Blok saat ini tidak dapat melebihi nilai ini, berdasarkan gas limit saat ini sebesar 3000000000, ada batas teoritis 30.000.000 / 16 = 1.875.000 byte, di mana 16 mengacu pada EVM memproses setiap calldata Byte mengkonsumsi 16 unit gas, yang berarti bahwa satu Blok dapat membawa sekitar 1,79 MB data long. Data terkait rollup yang dihasilkan oleh sequencer L2 biasanya memiliki skala data yang besar, yang membuatnya bersaing dengan konfirmasi transaksi pengguna mainchain lain, menghasilkan volume transaksi yang lebih kecil yang dapat dikemas dalam satu blok, yang pada gilirannya mempengaruhi TPS mainchain.

Untuk mengatasi dilema ini, pengembang inti mengajukan proposal untuk EIP-4844 pada 5 Februari 2022, yang diterapkan setelah peningkatan Dencun pada awal Q2 2024. Proposal mengusulkan jenis transaksi baru yang disebut Transaksi Blob, yang dilengkapi dengan tipe data baru, data Blob, dibandingkan dengan jenis Transaksi tradisional. Tidak seperti jenis calldata, data blob tidak dapat langsung diakses oleh EVM, tetapi hanya hash, juga dikenal sebagai VersionedHash. Selain itu, ada dua desain yang menyertainya, satu adalah dibandingkan dengan transaksi biasa, periode GC transaksi blob lebih pendek, untuk memastikan bahwa data Blok tidak terlalu membengkak, dan yang lainnya adalah bahwa data blob memiliki mekanisme Gas asli, dan efek keseluruhannya mirip dengan EIP-1559, tetapi fungsi eksponensial alami dipilih dalam model matematika, sehingga kinerjanya lebih baik dalam hal stabilitas dalam menanggapi ukuran transaksi Fluktuasi, karena kemiringan fungsi eksponensial alami juga merupakan fungsi eksponensial alami, Ini berarti bahwa tidak peduli apa keadaan ukuran transaksi jaringan saat ini, ketika ukuran transaksi melonjak dengan cepat, biaya dasar blob gas merespons lebih lengkap, sehingga secara efektif membatasi aktivitas transaksi, dan fungsinya juga memiliki fitur penting, ketika absis adalah 0, nilai fungsinya adalah 1.

base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GAS * e**(kelebihan_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)

di mana MIN_BASE_FEE_PER_BLOB_GAS dan BLOB_BASE_FEE_UPDATE_FRACTION adalah dua konstanta, dan kelebihan_blob_gas ditentukan oleh perbedaan antara total blob di induk Blok gas dikonsumsi oleh satu konstanta TARGET_BLOB_GAS_PER_BLOCK, ketika total blob gas konsumsi melebihi nilai target, yaitu ketika perbedaannya positif, e**(kelebihan_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) lebih besar dari 1, maka basis_fee_per_blob__gas menjadi lebih besar, dan sebaliknya.

Dengan cara ini, untuk beberapa skenario yang hanya ingin menggunakan kemampuan konsensus Ethereum untuk menyimpan beberapa data skala besar untuk memastikan ketersediaan, itu dapat dieksekusi dengan biaya rendah, dan tidak akan menghalangi kapasitas pengemasan transaksi blok. Mengambil sequencer Rollup sebagai contoh, informasi kunci L2 dapat dienkapsulasi menjadi data blob melalui transaksi blob, dan logika verifikasi on-chain dapat direalisasikan dengan menggunakan versionedHash melalui desain cerdik di EVM.

详述EIP-7706并梳理最新的Ethereum的Gas机制

Perlu ditambahkan bahwa pengaturan TARGET_BLOB_GAS_PER_BLOCK dan MAX_BLOB_GAS_PER_BLOCK saat ini memperkenalkan batas Mainnet 3 blob (0,375 MB) per Blok dan maksimum 6 blob (0,75 MB) per long. Batas awal ini dirancang untuk meminimalkan ketegangan pada jaringan dari EIP ini dan diperkirakan akan meningkat dalam peningkatan di masa mendatang karena jaringan menunjukkan keandalan pada blok yang lebih besar.

Penyempurnaan kembali lingkungan eksekusi gas model konsumsi - EIP-7706

Sekarang model Ethereum Gas saat ini telah diklarifikasi, mari kita lihat tujuan dan detail implementasi proposal EIP-7706. Proposal tersebut disampaikan oleh Vitalik pada 13 Mei 2024. Mirip dengan data blob, proposal ini menghapus model gas yang sesuai dengan bidang data khusus lainnya, yaitu calldata. Dan logika implementasi kode yang sesuai telah dioptimalkan.

Pada prinsipnya, logika perhitungan biaya dasar calldata sama dengan logika biaya dasar untuk data blob dalam EIP-4844, yang menggunakan fungsi eksponensial dan menghitung penskalaan biaya dasar saat ini berdasarkan penyimpangan antara nilai konsumsi gas aktual dan nilai target di blok induk.

详述EIP-7706并梳理最新的Ethereum的Gas机制

Perlu dicatat desain parametrik baru, LIMIT_TARGET_RATIOS=[2,2,4], di mana LIMIT_TARGET_RATIOS[0][1]Menunjukkan rasio target operasi gas, LIMIT_TARGET_RATIOS[2]Menunjukkan rasio target kelas data blob Gas, yaitu LIMIT_TARGET_RATIOSVektor ini digunakan untuk menghitung nilai target gas yang sesuai dengan tiga kelas gas di Blok induk, dan logika perhitungannya adalah sebagai berikut, yaitu, LIMIT_TARGET_RATIOS digunakan untuk membagi gas limit dengan membagi batas:

详述EIP-7706并梳理最新的Ethereum的Gas机制

Logika pengaturan gas_limits adalah sebagai berikut:

gas_limits[0]Formula penyesuaian yang ada harus diikuti

gas_limits[1]Harus sama dengan MAX_BLOB_GAS_PER_BLOCK

gas_limits[2][0]Harus sama dengan gas_limits CALLDATA_GAS_LIMIT_RATIO

Kami tahu gas saat ini_limits[0]adalah 30000000, CALLDATA_GAS_LIMIT_RATIO diatur ke 4, yang berarti bahwa target gas calldata saat ini adalah sekitar 3000000000 // 4 // 4 = 1875000, dan karena menurut logika perhitungan gas calldata saat ini, setiap Byte bukan nol mengkonsumsi 16 Gas, dan nol Byte mengkonsumsi 4 Gas. Misalnya, jika distribusi byte bukan nol dan nol di segmen calldata tertentu masing-masing menyumbang 50%, pemrosesan rata-rata 1 byte calldata menghabiskan 10 gas. Oleh karena itu, target gas calldata saat ini harus mengatasi 187.500 byte data calldata, yaitu sekitar dua kali penggunaan rata-rata saat ini.

Keuntungan dari ini adalah bahwa kemungkinan calldata mencapai gas limit sangat berkurang, dan penggunaan calldata disimpan dalam keadaan yang lebih konsisten melalui pemodelan ekonomi, dan penyalahgunaan calldata juga dihilangkan. Alasan untuk desain ini adalah untuk Drop pengembangan L2, dan dengan data gumpalan, biaya sequencer semakin berkurang.

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