Penulis: Xiang, W3.Hitchhiker

 

Mengenai peningkatan Ethereum Shanghai, mari kita lihat secara singkat manfaat apa yang dapat diperolehnya.

Merujuk pada berita publik terbaru dari Ethereum, EIP terkait upgrade Shanghai adalah sebagai berikut:

  • Tentukan EIP yang disertakan: EIP-3651, EIP-3855, EIP-3860, EIP-4895

  • EIP yang mungkin disertakan: EIP-3540, EIP-3670

  • Namun, EIP-4488 dan EIP-4844 yang terkait dengan perluasan L2 tidak termasuk dalam cakupan peningkatan ini.

     

EIP-3651: COINBASE Hangat

 

Berbicara tentang EIP-3651, pertama-tama kita harus memperkenalkan perubahan pada EIP-2929:

Ketika target tidak ada di accessed_addresses, bebankan COLD_ACCOUNT_ACCESS_COST (biaya akses akun dingin) dan tambahkan alamat ke accessed_addresses. Jika tidak, gas WARM_STORAGE_READ_COST (biaya baca penyimpanan hangat) akan diisi, dan konsumsi gas baca hangat relatif rendah.

Saat ini, pembayaran langsung COINBASE menjadi semakin populer, namun harga akses COINBASE saat ini relatif tinggi, hal ini disebabkan oleh fakta bahwa berdasarkan kerangka daftar akses yang diperkenalkan oleh EIP-2929, COINBASE menghitung gas berdasarkan akses akun dingin; biaya. Di EIP-3651 Setelah itu, accessed_addresses akan menyertakan alamat yang dikembalikan oleh COINBASE (0x41).

 

keuntungan:

Setelah modifikasi, COINBASE akan mengurangi konsumsi gas saat membayar token ERC20.

 

EIP - 3855: instruksi PUSH0

 

EIP-3855, memperkenalkan instruksi baru (0x5f) untuk mendorong nilai konstan 0 ke dalam tumpukan. Set instruksi untuk PUSH di Buku Kuning saat ini hanya memiliki PUSH1-PUSH32, yang digunakan untuk mendorong 1 byte ke tumpukan dan mendorong 32 byte ke dalam tumpukan.

Implementasi instruksi yang ada mendorong nilai 0 ke dalam tumpukan dengan mengeksekusi PUSH1 0 , yang memerlukan 3 gas saat runtime dan tambahan 200 gas (biaya penyimpanan 2 byte)

Dengan instruksi PUSH0, tidak perlu mengkonsumsi 200 gas tambahan ini.

keuntungan:

Saat ini, sekitar 11% operasi PUSH hanya menekan 0, sehingga EIP ini dapat menghemat sejumlah bahan bakar setelah eksekusi, dan juga dapat sedikit meningkatkan TPS Ethereum yang ada.

 

EIP-3860: Membatasi dan menghitung kode inisialisasi

 

Kode init maksimum saat ini adalah MAX_CODE_SIZE: 24576 (EIP-170), dan kode init maksimum yang baru adalah (MAX_INITCODE_SIZE = 2 * MAX_CODE_SIZE = 49152), yang berarti ukuran kontrak dapat digandakan, dan pengembang kontrak dapat menerapkan fungsi yang lebih kaya. (Kode kontrak yang berlebihan akan menyebabkan kegagalan penerapan. PS: Proyek L2 juga telah dimodifikasi sebagian untuk mendukung batas ukuran kontrak yang lebih tinggi)

Selain itu, biaya bahan bakar sebesar 2 diperkenalkan untuk setiap potongan kode init 32 byte untuk mewakili biaya analisis jumpdest. Karena selama pembuatan kontrak, klien harus melakukan analisis jumpdest pada kode init sebelum dieksekusi. Pekerjaan eksekusi berskala linear dengan ukuran kode init.

Ini berarti kode init akan menelan biaya 0,0625 gas per byte, dan biaya gas penerapan kontrak akan sedikit meningkat.

keuntungan:

Biaya bahan bakar untuk penerapan kontrak sedikit meningkat, namun ukuran kontrak dapat berlipat ganda, memungkinkan pengembang kontrak untuk menulis kode fungsional yang lebih kaya.

 

EIP-4895: Penarikan Rantai Suar

 

Konten utamanya adalah untuk menentukan proses utama penarikan uang dari rantai suar ke EVM. Setelah penerapan selesai, fungsi penarikan janji rantai suar Ethereum akan diaktifkan.

keuntungan:

Aktifkan fungsi penarikan janji Ethereum Beacon Chain.

 

EIP-3540: Format Objek EVM (EOF) v1

 

EIP ini melibatkan perubahan besar dan belum tentu disertakan dalam peningkatan Shanghai.

Format yang dijelaskan dalam EIP ini memperkenalkan format yang sederhana dan dapat diperluas serta memperkenalkan validasi. Pemisahan kode kontrak dan data tercapai.

Format objek EVM yang baru adalah: magic, version, (section_kind, section_size)+, 0,

keuntungan:

Kontrol versi memfasilitasi pengenalan atau penghentian fitur baru di masa depan (seperti pengenalan abstraksi akun);

Pemisahan kode kontrak dan data bermanfaat untuk verifikasi L2 (op) dan mengurangi biaya bahan bakar validator L2;

Pemisahan kode kontrak dan data juga mempermudah pekerjaan dengan alat analisis data on-chain.

 

EIP-3670: EOF — Verifikasi Kode

 

EIP ini belum tentu disertakan dalam peningkatan Shanghai, dan verifikasi kode diperkenalkan saat membuat kontrak EIP-3540. Tolak kontrak dengan arahan yang tidak ditentukan.

keuntungan:

Saat kontrak dibuat, verifikasi kode dapat dilakukan