Klien-klien ethereum besar, termasuk Go-Ethereum (Geth) dan Parity, telah merilis pembaruan peranti lunak menyusul keputusan sebelumnya untuk menunda peningkatan seluruh sistem yang direncanakan yang dijuluki Constantinople.
Pembaruan ditunda Selasa selama panggilan pengembang, sebuah langkah yang datang setelah perusahaan audit blockchain Chain Security menemukan kerentanan keamanan dalam Ethereum Improvement Proposal (EIP) 1283, salah satu perubahan yang direncanakan termasuk dalam Konstantinopel. Jika dieksploitasi, bug tersebut akan memungkinkan untuk "serangan reentrance," yang memungkinkan aktor jahat untuk menarik dana dari sumber yang sama beberapa kali.
Blok aktivasi baru untuk peningkatan akan diputuskan selama panggilan lain akhir minggu ini.
Untuk mencegah percabangan terjadi - mengingat bahwa beberapa klien perangkat lunak pada jaringan telah diperbarui lebih dulu dari percabangan - pengembang implementasi ethereum utama dipindahkan untuk menerbitkan versi baru.
Geth merilis hotfix darurat (versi 1.8.21) yang dirancang untuk menunda pembaruan, meskipun pengembang Péter Szilágyi mencatat bahwa pengguna yang tidak ingin memutakhirkan ke versi klien yang baru juga dapat menurunkan versi klien yang ada ke versi 1.8.19 atau melanjutkan menjalankan versi saat ini (1.8.20) dengan penggantian.
Klien paritas juga dapat meningkatkan klien mereka yang ada ke 2.2.7 (rilis stabil) atau 2.3.0 (rilis beta) atau menurunkan ke 2.2.4 (beta).
Kepala keamanan Parity Technologies Kirill Pimenov, berbicara dalam obrolan inti pengembang ethereum di Gitter, mengatakan ia merekomendasikan pengguna meningkatkan versi ke rilis baru, daripada menurunkan versi ke versi yang lebih lama, menjelaskan:
"Saya ingin menyatakan kembali - menurunkan versi Parity ke versi pra-Konstantinopel adalah ide yang buruk, kami tidak merekomendasikan hal itu kepada siapa pun. Secara teoritis itu seharusnya bekerja, tetapi kami tidak ingin berurusan dengan kekacauan itu. "
Demikian pula, manajer rilis Parity Afri Schoedon mengatakan kepada CoinDesk bahwa ia merekomendasikan 2.2.7, meskipun dua lainnya harus bekerja juga.
Dalam sebuah posting blog, pengembang inti Hudson Jameson menulis bahwa siapa pun yang tidak menjalankan node atau berpartisipasi dalam jaringan tidak perlu melakukan apa pun.
Pemilik kontrak yang cerdas juga tidak perlu melakukan apa pun, meskipun "Anda dapat memilih untuk memeriksa analisis kerentanan potensial dan memeriksa kontrak Anda," tulisnya.
Namun, ia menunjukkan bahwa perubahan yang dapat memperkenalkan potensi masalah tidak akan diaktifkan.
Pada publikasi posting blog, peneliti keamanan dengan ChainSecurity, yang awalnya menemukan bug, dan TrailOfBits menganalisis keseluruhan blockchain.
🔥 Serangan Reentrance
Sejauh ini, tidak ada contoh kerentanan telah ditemukan dalam kontrak langsung. Namun, Jameson mencatat bahwa "masih ada risiko tidak nol bahwa beberapa kontrak dapat terpengaruh."
Agar transfer pada ethereum untuk menghindari serangan reentrance, sejumlah kecil eter yang disebut gas dibayar yang mencegah penyerang dari pengalihan transfer untuk mencuri dana.
Namun, seperti yang dijelaskan oleh CoinDesk oleh Hubert Ritzdorf - individu yang menemukan kerentanan dan CTO Keamanan Rantai - "efek samping" dari EIP 1283 memastikan penyerang dapat memanfaatkan sejumlah kecil gas ini untuk tujuan jahat.
"Perbedaannya adalah sebelum kamu tidak bisa melakukan sesuatu yang berbahaya dengan sedikit gas ini, kamu bisa melakukan sesuatu yang bermanfaat tetapi bukan sesuatu yang berbahaya dan sekarang karena beberapa operasi menjadi lebih murah, sekarang kamu dapat melakukan sesuatu yang berbahaya dengan sedikit gas ini , ”Kata Ritzdorf.
Dan meskipun masalah reentrancy selalu ada di benak pengembang kontrak pintar yang mengkodekan Solidity on ethereum, Matthias Egli - COO of Chain Security - menjelaskan bahwa pengembang inti yang benar-benar melihat mekanisme mesin virtual tidak dapat dengan mudah melihat kerentanan ini. .
Dia mengatakan kepada CoinDesk:
“Itu adalah hal Soliditas, itu bukan hal inti [ethereum mesin virtual] yang dalam praktiknya memungkinkan serangan ini. Itu adalah bagian dari pemutusan ini yang dalam praktiknya perubahan kecil pada biaya gas akan memungkinkan jenis serangan baru yang tidak dipertimbangkan sebelumnya. "
Terlebih lagi, Ritzdorf menambahkan bahwa memperbaiki masalah ini tidak semudah memperbarui batas biaya gas ethereum, menjelaskan bahwa “jika kita mengubah jumlah ini ke jumlah kecil sekarang maka kita akan memperbaiki kerentanan tetapi kita juga akan merusak banyak yang sudah ada [ pintar] kontrak. "
Karena itu, untuk saat ini, penundaan ke Konstantinopel adalah panggilan yang tepat oleh pengembang inti menurut Egli.
“Itu adalah keputusan yang tepat karena setidaknya membeli beberapa waktu bagi peneliti untuk mengevaluasi dampak dunia nyata. Dengan kemungkinan tinggi, [EIP] ini akan diambil kembali dan tidak termasuk dalam hard fork yang akan datang yang sekarang tertunda mungkin sebulan, ”dia berpendapat.
🔥Langkah selanjutnya
Pada waktu pers, pengembang menghubungi pertukaran, dompet, kelompok penambangan dan kelompok lain yang menggunakan atau berinteraksi dengan jaringan ethereum.
Pengembang inti berencana untuk membahas langkah-langkah jangka panjang - termasuk kapan harus mengeksekusi Konstantinopel dan cara memperbaiki bug di EIP 1283 - selama panggilan lain pada 18 Januari.
Beberapa pengembang menyarankan untuk memulai semacam program karunia bug yang difokuskan pada analisis kode, untuk memastikan bug di masa depan ditemukan jauh sebelumnya, daripada “tepat sebelum hari [hard fork].”
Szilágyi mencatat bahwa EIP telah tersedia untuk ditinjau selama hampir setahun, menambahkan bahwa "mungkin itu bukan ide yang buruk untuk melakukan beberapa hibah untuk mata yang lebih fokus."
CoinDesk - BPI @bpiinf
https://t.me/bpiinf