Ethereum Memperbaiki Kesalahan Deposit Validator dalam Pembaruan Glamsterdam

3 jam yang lalu
2 menit baca
5 tampilan

Pembaruan Glamsterdam dan Perbaikan Kesalahan Penanganan Deposit

Pengembang Ethereum telah mengimplementasikan perbaikan untuk kesalahan penanganan deposit dalam pembaruan Glamsterdam yang akan datang. Perbaikan ini bertujuan untuk mencegah seorang pembangun blok menerima ETH yang seharusnya ditujukan untuk validator baru, setelah sebelumnya ada keputusan untuk menolak perubahan yang diusulkan. Menurut spesifikasi konsensus Ethereum, pemelihara Justin Traglia menggabungkan koreksi tersebut pada 26 Oktober setelah pengembang avsetsin mengidentifikasi masalah terkait cara deposit yang tertunda akan diproses selama fork Gloas.

Detail Perubahan dan Kerentanan

Perubahan ini memisahkan deposit pembangun dari deposit validator berdasarkan kredensial penarikan mereka, sehingga mencegah dana masuk ke akun yang salah ketika keduanya menggunakan kunci publik yang sama. Kerentanan ini berkaitan dengan aturan yang sedang dikembangkan, dan bukan merupakan pencurian yang terkonfirmasi dari mainnet Ethereum. Para pengembang telah mengintegrasikan koreksi tersebut ke dalam spesifikasi, meskipun klien konsensus individu masih perlu menerapkan dan menguji perilaku yang telah direvisi.

Masalah ini muncul dari perubahan yang direncanakan di bawah pemisahan pengusul-pembangun yang diabadikan dalam Glamsterdam, yang menetapkan peran yang berbeda untuk konstruksi blok dan proposal blok. Pembangun bertanggung jawab untuk menyusun muatan transaksi, sementara validator berpartisipasi dalam mengusulkan dan mengonfirmasi blok melalui sistem proof-of-stake Ethereum. Peneliti avsetsin menggambarkan kesalahan tersebut pada 12 Oktober, mengidentifikasi masalah dalam aturan yang digunakan untuk memproses deposit yang menunggu saat jaringan diperbarui.

Risiko dan Penanganan Deposit

Jika seorang pembangun terdaftar menggunakan kunci publik sebelum deposit validator tiba di bawah kunci yang sama, logika yang diusulkan dapat memberikan kredit kepada kedua deposit kepada pembangun. Peneliti tersebut menguraikan skenario di mana operator staking menerima dana dari protokol staking likuid untuk mendirikan validator baru. Dengan mendaftar sebagai pembangun terlebih dahulu, operator dapat menyebabkan deposit validator protokol masuk ke saldo pembangun, di mana alamat penarikan dapat berada di bawah kendali operator.

“Operator dapat menarik dana protokol,”

peringat avsetsin dalam laporan GitHub. Karena validator yang diharapkan tidak akan dibuat, layanan staking dapat kesulitan untuk mendapatkan bukti yang diperlukan untuk menyelesaikan prosedur deposit dan pemulihan normalnya.

Pemeriksaan dan Persetujuan Perubahan

Peneliti tersebut juga memeriksa potensi paparan yang melibatkan Lido, Origin, dan Rocket Pool melalui penelitian kode awal. Temuan tersebut bersifat kondisional pada bagaimana protokol individu menangani deposit, dan laporan tersebut tidak menyatakan bahwa proyek-proyek tersebut telah mengalami eksploitasi. Koreksi yang diusulkan awalnya menghadapi perlawanan dari pengembang klien Ethereum, meskipun deskripsi peneliti tentang risiko pengalihan deposit. Pada 19 Oktober, Traglia menutup permintaan tarik setelah diskusi di antara pengembang inti.

“Tidak ada cukup dukungan dari klien untuk melakukan perubahan ini saat ini,”

tulis Traglia. Namun, keputusan tersebut tidak tetap berlaku, dan para pengembang membuka kembali proposal pada 23 Oktober setelah pemeriksaan lebih lanjut.

Selanjutnya, peninjau potuz menyetujui pendekatan tersebut tetapi meminta lebih banyak pengujian untuk kombinasi deposit tertentu. Avsetsin menambahkan pengujian tersebut pada 23 Oktober, mencakup kasus di mana deposit pembangun dan validator berbagi kunci publik tetapi memerlukan penanganan terpisah. Perubahan akhir digabungkan ke dalam spesifikasi konsensus Ethereum pada 26 Oktober setelah tinjauan klien lebih lanjut.

Implikasi Pembaruan dan Penundaan

Pembaruan spesifikasi ini datang sementara pengembang Ethereum sedang meninjau masalah terpisah yang mempengaruhi aktivasi terjadwal Glamsterdam di testnet Hoodi. Yayasan Ethereum menunda pembaruan 26 Oktober setelah para peneliti mengidentifikasi risiko kompatibilitas yang melibatkan EIP-8037. Seperti yang dilaporkan sebelumnya oleh crypto.news, keputusan itu menghapus perubahan eksekusi Amsterdam dan perubahan konsensus Gloas dari aktivasi yang direncanakan di Hoodi. Usulan peningkatan batas gas menjadi 200 juta juga ditunda bersamaan dengan itu.

Peneliti Ethereum Toni Wahrstätter menjelaskan bahwa EIP-8037 dapat mengganggu kontrak pintar yang bergantung pada asumsi tentang gas yang tersisa selama eksekusi. Dia mengidentifikasi kasus di mana akuntansi gas dapat menyebabkan transaksi dibatalkan secara tidak terduga atau memungkinkan jalur eksekusi yang diasumsikan tidak dapat dijangkau oleh para pengembang. Masalah kompatibilitas kontrak ini berbeda dari kesalahan deposit pembangun yang ditangani dalam koreksi GitHub. Keduanya berkaitan dengan Glamsterdam, tetapi penundaan Yayasan pada 22 Oktober secara khusus menyebutkan penyelidikan lebih lanjut tentang interaksi EIP-8037 dengan kontrak yang ada.

Status Aktivasi dan Pengujian

Glamsterdam sudah diaktifkan di testnet Sepolia pada 6 Oktober, di mana para pengembang memeriksa perubahan konstruksi blok dan kapasitas pemrosesan transaksi yang lebih tinggi. Latihan Hoodi berikutnya tetap belum dijadwalkan, tanpa tanggal yang dikonfirmasi untuk aktivasi di mainnet Ethereum. Koreksi deposit yang digabungkan mencakup pengujian regresi yang mencakup bagaimana deposit diklasifikasikan selama transisi Gloas. Tim klien harus menggabungkan perubahan spesifikasi ke dalam perangkat lunak mereka dan menyelesaikan pengujian lebih lanjut sebelum aturan yang diperbarui dapat beroperasi selama peningkatan jaringan di masa depan.