Analisis Anomali Singkat Ethereum Selama Dua Malam Berturut-turut
Pada malam tanggal 11 dan 12 Mei, lapisan konsensus Ethereum mengalami gangguan singkat. Analisis menunjukkan bahwa ini terutama disebabkan oleh beberapa node klien lapisan konsensus Ethereum yang kelebihan beban, mengakibatkan node validator tidak aktif secara offline. Hal ini secara langsung memengaruhi pemungutan suara Epoch yang tidak dapat mencapai ambang batas 2/3, sehingga lapisan konsensus tidak dapat mengonfirmasi finalitas. Namun, jaringan Ethereum pulih secara normal dalam waktu singkat, yang juga mencerminkan ketahanan dan kemampuan perbaikan diri dari algoritma konsensus PoS Ethereum.
Tinjauan Peristiwa
Dalam kondisi normal, status jaringan konsensus PoS Ethereum biasanya akan dipastikan dalam 2 Epoch. Namun, minggu lalu terjadi dua kali penundaan penetapan Epoch:
11 Mei: Penetapan Epoch tertunda 3 Epoch, sekitar 20 menit.
12 Mei: Epoch penetapan ditunda 8 Epoch, sekitar 51 menit.
Selama periode ini, jaringan Ethereum terus menghasilkan blok dan memproses transaksi. Namun, karena tingkat voting node validator yang tidak mencukupi, Epoch tidak dapat dikonfirmasi, yang berarti tidak mendapatkan jaminan keamanan tingkat konsensus jaringan PoS Ethereum. Ini berarti bahwa dalam kasus ekstrem, transaksi dalam epoch tersebut mungkin dapat dibatalkan.
Sebenarnya, selama periode ini jaringan Ethereum tidak mengalami fork, dan node validator juga tidak melakukan pemungutan suara jahat. Banyaknya node validator yang offline menyebabkan tingkat pemungutan suara yang tidak mencukupi adalah alasan langsung mengapa Epoch tidak dapat ditetapkan. Pengamatan menunjukkan bahwa node validator yang offline mengalami situasi overload CPU yang abnormal.
Pada peristiwa kedua, karena penundaan dalam penyelesaian melebihi 4 Epoch, mekanisme Inactivity leak dari algoritma konsensus Ethereum diaktifkan:
Hukuman bagi node validator yang offline, mengurangi dana stakenya, sekitar 28 ETH disita.
Membatalkan hadiah Attestation, sekitar 50 ETH belum diterbitkan.
Mekanisme ini memastikan bahwa validator online akhirnya dapat menguasai 2/3 dari total dana staking Ethereum, sehingga status jaringan akhirnya dapat dipastikan.
Analisis Penyebab
Penyebab langsung dari peristiwa ini adalah beban yang terlalu tinggi pada beberapa node klien lapisan konsensus Ethereum, yang menyebabkan node validator mengalami pemadaman dan tidak dapat melakukan pemungutan suara konsensus dengan normal. Analisis spesifik adalah sebagai berikut:
Ketika menerima kesaksian yang mengarah ke blok lama (Attestation), node perlu menghitung ulang status rantai beacon untuk memverifikasi kesaksian ini, proses ini akan menghabiskan banyak CPU dan sumber daya memori. Ketika menerima banyak kesaksian yang mengarah ke blok lama secara bersamaan, sumber daya CPU dan memori node habis, menyebabkan node-validator ini offline.
Secara teori, masalah jenis ini dapat diselesaikan melalui cache yang didasarkan pada saksi yang menunjuk ke blok. Namun, karena meningkatnya skala validator dan munculnya sejumlah besar attestation semacam itu, cache dari implementasi klien yang bermasalah telah jebol, dan node terpaksa menghabiskan banyak sumber daya untuk menghitung ulang status rantai beacon.
Klien lapisan konsensus Teku dan Prysm telah merilis versi patch untuk mengatasi masalah ini. Implementasi klien versi patch akan menyaring kesaksian yang sudah usang, yaitu mengabaikan kesaksian tersebut ketika memenuhi kondisi berikut:
Saksi menunjuk ke Slot yang sudah usang
Saksi menunjuk pada sebuah node yang belum pernah melihat Checkpoint
Keunggulan Desain Ethereum
Dalam peristiwa ini, Ethereum mempertahankan ketersediaan, terus menghasilkan blok dan memproses transaksi, hanya menunda penetapan Epoch. Ini terutama berkat dua poin:
Keragaman klien Ethereum
Desain algoritma Gasper
Keanekaragaman klien Ethereum
Meskipun ada masalah dengan klien Teku dan Prysm, hal ini tidak mempengaruhi operasi normal dari klien lapisan konsensus lainnya. Misalnya, klien Lighthouse tidak terpengaruh kali ini. Karena ada perbedaan dalam desain implementasi antara klien yang berbeda, masih ada node validator yang beroperasi dengan normal.
Keragaman klien Ethereum memastikan: bahkan jika beberapa klien mengalami masalah ( yang bahkan dapat menyebabkan Epoch tidak dapat dikonfirmasi ), ini tidak akan mempengaruhi klien normal dalam memproduksi blok dan memproses transaksi, yang menjamin ketersediaan Ethereum.
Desain algoritma konsensus Gasper untuk ketersediaan
Menjamin ketersediaan Ethereum adalah salah satu titik awal desain algoritma Gasper, yang memisahkan produksi blok dari finalisasi. Oleh karena itu, meskipun finalisasi blok terhambat, produksi blok tidak akan berhenti. Mengingat bahwa dalam sebagian besar kasus finalisasi blok pada akhirnya akan pulih, dampak nyata terhadap pengguna sangat kecil.
Sebaliknya, algoritma konsensus BFT lainnya akan menghentikan node konsensus dari menghasilkan blok berikutnya saat finalisasi blok gagal, yang menyebabkan seluruh blockchain tidak dapat digunakan selama periode ini.
Selain itu, peristiwa kedua juga memicu mekanisme Inactivity Leak, mekanisme ini terutama bertujuan untuk memastikan Ethereum dapat tetap menyetujui blok meskipun dalam situasi ekstrem di mana ( banyak validator offline untuk waktu yang lama ).
Pengalaman dan Inspirasi
Tantangan multi-klien Ethereum
Keberagaman klien Ethereum saat ini masih perlu dipromosikan dan diumumkan lebih lanjut. Jika klien mencapai keberagaman yang cukup sehingga proporsi Prysm dan Teku kurang dari 1/3, maka peristiwa ini bahkan tidak akan terjadi (2/3 klien beroperasi dengan normal sudah cukup untuk mengonfirmasi Epoch ).
Selain itu, ketika implementasi klien tertentu mengalami masalah, bagaimana node validator dapat beralih dengan aman ke implementasi klien yang normal juga merupakan masalah yang perlu diatasi. Proses ini melibatkan:
Pindahkan kunci verifikasi klien yang bermasalah dengan aman ke klien yang normal.
Pastikan konsistensi perilaku antara klien lama dan klien baru, untuk menghindari hukuman
Pemantauan konsensus Ethereum
Dibutuhkan layanan serupa Safe Head untuk terus memantau status real-time jaringan Ethereum PoS, mendeteksi dan memberikan peringatan lebih awal terhadap kejadian semacam itu, bukan menunggu hingga Epoch tidak dapat diselesaikan sesuai harapan baru menyadari adanya abnormalitas dalam status jaringan.
Pengetahuan Umum tentang Algoritma Konsensus Ethereum
Kejadian ini mengungkapkan pentingnya pemahaman tentang mekanisme konsensus PoS Ethereum. Banyak pengguna yang salah mengira bahwa "Ethereum sudah mati", yang menyebabkan kepanikan yang tidak perlu. Sebenarnya, jaringan Ethereum terus menghasilkan blok dan memproses transaksi. Pengetahuan blockchain yang ditujukan untuk pengguna tetap menjadi arah yang perlu terus diperjuangkan oleh para pelaku industri.
Inspirasi untuk aplikasi Ethereum
Meskipun jaringan Ethereum cukup kuat, ketidakstabilan yang kadang-kadang terjadi dapat berdampak pada aplikasi. Aplikasi perlu menangani skenario ketidakstabilan ini dengan benar:
Waktu setoran dari Layer1 ke Layer2 mungkin menjadi lebih lama
Waktu pengisian kembali di bursa mungkin akan diperpanjang
Risiko rollback pada penawaran di Oracle chain, layanan bernilai tinggi yang bergantung padanya harus dihentikan sementara.
Beberapa aplikasi DeFi mungkin perlu menghentikan sebagian fungsi
Ringkasan
Peristiwa ini menunjukkan ketahanan dan kemampuan pemulihan diri dari algoritma konsensus PoS Ethereum, serta respons cepat dan kemampuan perbaikan dari tim klien. Untuk ekosistem Ethereum, masih perlu terus berinvestasi dalam hal-hal berikut: meningkatkan keragaman klien, mengoptimalkan pemantauan dan peringatan kondisi jaringan secara real-time, memperdalam pendidikan pengguna, dan menyempurnakan rencana darurat untuk peserta ekosistem saat terjadi anomali jaringan.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
18 Suka
Hadiah
18
5
Bagikan
Komentar
0/400
WalletsWatcher
· 07-05 23:56
Kamu benar-benar tidak tahu, kan? POS sebenarnya sangat rentan.
Lihat AsliBalas0
BearMarketHustler
· 07-05 02:07
Masalah kecil ini apa sih, Bitcoin juga pernah dihentikan~
Lihat AsliBalas0
WalletDetective
· 07-03 02:22
eth kakak begitu bull tidak takut hancur
Lihat AsliBalas0
WenMoon
· 07-03 02:19
pos tidak enak ya炒Konsensus
Lihat AsliBalas0
ContractCollector
· 07-03 02:10
Konsensus telah gagal selama 20 menit, mau mati mau mati
Lapisan konsensus Ethereum mengalami anomali singkat selama dua malam berturut-turut, jaringan yang pulih sendiri menunjukkan ketahanan PoS.
Analisis Anomali Singkat Ethereum Selama Dua Malam Berturut-turut
Pada malam tanggal 11 dan 12 Mei, lapisan konsensus Ethereum mengalami gangguan singkat. Analisis menunjukkan bahwa ini terutama disebabkan oleh beberapa node klien lapisan konsensus Ethereum yang kelebihan beban, mengakibatkan node validator tidak aktif secara offline. Hal ini secara langsung memengaruhi pemungutan suara Epoch yang tidak dapat mencapai ambang batas 2/3, sehingga lapisan konsensus tidak dapat mengonfirmasi finalitas. Namun, jaringan Ethereum pulih secara normal dalam waktu singkat, yang juga mencerminkan ketahanan dan kemampuan perbaikan diri dari algoritma konsensus PoS Ethereum.
Tinjauan Peristiwa
Dalam kondisi normal, status jaringan konsensus PoS Ethereum biasanya akan dipastikan dalam 2 Epoch. Namun, minggu lalu terjadi dua kali penundaan penetapan Epoch:
Selama periode ini, jaringan Ethereum terus menghasilkan blok dan memproses transaksi. Namun, karena tingkat voting node validator yang tidak mencukupi, Epoch tidak dapat dikonfirmasi, yang berarti tidak mendapatkan jaminan keamanan tingkat konsensus jaringan PoS Ethereum. Ini berarti bahwa dalam kasus ekstrem, transaksi dalam epoch tersebut mungkin dapat dibatalkan.
Sebenarnya, selama periode ini jaringan Ethereum tidak mengalami fork, dan node validator juga tidak melakukan pemungutan suara jahat. Banyaknya node validator yang offline menyebabkan tingkat pemungutan suara yang tidak mencukupi adalah alasan langsung mengapa Epoch tidak dapat ditetapkan. Pengamatan menunjukkan bahwa node validator yang offline mengalami situasi overload CPU yang abnormal.
Pada peristiwa kedua, karena penundaan dalam penyelesaian melebihi 4 Epoch, mekanisme Inactivity leak dari algoritma konsensus Ethereum diaktifkan:
Analisis Penyebab
Penyebab langsung dari peristiwa ini adalah beban yang terlalu tinggi pada beberapa node klien lapisan konsensus Ethereum, yang menyebabkan node validator mengalami pemadaman dan tidak dapat melakukan pemungutan suara konsensus dengan normal. Analisis spesifik adalah sebagai berikut:
Ketika menerima kesaksian yang mengarah ke blok lama (Attestation), node perlu menghitung ulang status rantai beacon untuk memverifikasi kesaksian ini, proses ini akan menghabiskan banyak CPU dan sumber daya memori. Ketika menerima banyak kesaksian yang mengarah ke blok lama secara bersamaan, sumber daya CPU dan memori node habis, menyebabkan node-validator ini offline.
Secara teori, masalah jenis ini dapat diselesaikan melalui cache yang didasarkan pada saksi yang menunjuk ke blok. Namun, karena meningkatnya skala validator dan munculnya sejumlah besar attestation semacam itu, cache dari implementasi klien yang bermasalah telah jebol, dan node terpaksa menghabiskan banyak sumber daya untuk menghitung ulang status rantai beacon.
Klien lapisan konsensus Teku dan Prysm telah merilis versi patch untuk mengatasi masalah ini. Implementasi klien versi patch akan menyaring kesaksian yang sudah usang, yaitu mengabaikan kesaksian tersebut ketika memenuhi kondisi berikut:
Keunggulan Desain Ethereum
Dalam peristiwa ini, Ethereum mempertahankan ketersediaan, terus menghasilkan blok dan memproses transaksi, hanya menunda penetapan Epoch. Ini terutama berkat dua poin:
Keanekaragaman klien Ethereum
Meskipun ada masalah dengan klien Teku dan Prysm, hal ini tidak mempengaruhi operasi normal dari klien lapisan konsensus lainnya. Misalnya, klien Lighthouse tidak terpengaruh kali ini. Karena ada perbedaan dalam desain implementasi antara klien yang berbeda, masih ada node validator yang beroperasi dengan normal.
Keragaman klien Ethereum memastikan: bahkan jika beberapa klien mengalami masalah ( yang bahkan dapat menyebabkan Epoch tidak dapat dikonfirmasi ), ini tidak akan mempengaruhi klien normal dalam memproduksi blok dan memproses transaksi, yang menjamin ketersediaan Ethereum.
Desain algoritma konsensus Gasper untuk ketersediaan
Menjamin ketersediaan Ethereum adalah salah satu titik awal desain algoritma Gasper, yang memisahkan produksi blok dari finalisasi. Oleh karena itu, meskipun finalisasi blok terhambat, produksi blok tidak akan berhenti. Mengingat bahwa dalam sebagian besar kasus finalisasi blok pada akhirnya akan pulih, dampak nyata terhadap pengguna sangat kecil.
Sebaliknya, algoritma konsensus BFT lainnya akan menghentikan node konsensus dari menghasilkan blok berikutnya saat finalisasi blok gagal, yang menyebabkan seluruh blockchain tidak dapat digunakan selama periode ini.
Selain itu, peristiwa kedua juga memicu mekanisme Inactivity Leak, mekanisme ini terutama bertujuan untuk memastikan Ethereum dapat tetap menyetujui blok meskipun dalam situasi ekstrem di mana ( banyak validator offline untuk waktu yang lama ).
Pengalaman dan Inspirasi
Tantangan multi-klien Ethereum
Keberagaman klien Ethereum saat ini masih perlu dipromosikan dan diumumkan lebih lanjut. Jika klien mencapai keberagaman yang cukup sehingga proporsi Prysm dan Teku kurang dari 1/3, maka peristiwa ini bahkan tidak akan terjadi (2/3 klien beroperasi dengan normal sudah cukup untuk mengonfirmasi Epoch ).
Selain itu, ketika implementasi klien tertentu mengalami masalah, bagaimana node validator dapat beralih dengan aman ke implementasi klien yang normal juga merupakan masalah yang perlu diatasi. Proses ini melibatkan:
Pemantauan konsensus Ethereum
Dibutuhkan layanan serupa Safe Head untuk terus memantau status real-time jaringan Ethereum PoS, mendeteksi dan memberikan peringatan lebih awal terhadap kejadian semacam itu, bukan menunggu hingga Epoch tidak dapat diselesaikan sesuai harapan baru menyadari adanya abnormalitas dalam status jaringan.
Pengetahuan Umum tentang Algoritma Konsensus Ethereum
Kejadian ini mengungkapkan pentingnya pemahaman tentang mekanisme konsensus PoS Ethereum. Banyak pengguna yang salah mengira bahwa "Ethereum sudah mati", yang menyebabkan kepanikan yang tidak perlu. Sebenarnya, jaringan Ethereum terus menghasilkan blok dan memproses transaksi. Pengetahuan blockchain yang ditujukan untuk pengguna tetap menjadi arah yang perlu terus diperjuangkan oleh para pelaku industri.
Inspirasi untuk aplikasi Ethereum
Meskipun jaringan Ethereum cukup kuat, ketidakstabilan yang kadang-kadang terjadi dapat berdampak pada aplikasi. Aplikasi perlu menangani skenario ketidakstabilan ini dengan benar:
Ringkasan
Peristiwa ini menunjukkan ketahanan dan kemampuan pemulihan diri dari algoritma konsensus PoS Ethereum, serta respons cepat dan kemampuan perbaikan dari tim klien. Untuk ekosistem Ethereum, masih perlu terus berinvestasi dalam hal-hal berikut: meningkatkan keragaman klien, mengoptimalkan pemantauan dan peringatan kondisi jaringan secara real-time, memperdalam pendidikan pengguna, dan menyempurnakan rencana darurat untuk peserta ekosistem saat terjadi anomali jaringan.