Bản nâng cấp Pectra và sự cố trên Sepolia
Bản nâng cấp Pectra đã chính thức được triển khai trên testnet Sepolia của Ethereum vào lúc 7:29 ngày 5 tháng 3 năm 2025 . Tuy nhiên, ngay sau khi cập nhật, mạng lưới này đã gặp phải một sự cố nghiêm trọng khi nhóm phát triển nhận thấy các thông báo lỗi liên tục xuất hiện trên các node geth. Hệ quả là các block trống bắt đầu được khai thác trên testnet.
Theo Marius van der Wijden, nhà phát triển Ethereum, nguyên nhân chính của sự cố này bắt nguồn từ lỗi trong hợp đồng tiền gửi. Thay vì kích hoạt đúng loại sự kiện như dự kiến, hệ thống lại nhầm lẫn kích hoạt sự kiện chuyển nhượng thay vì sự kiện tiền gửi. Mặc dù nhóm phát triển đã nhanh chóng triển khai bản sửa lỗi, họ vẫn bỏ lỡ một trường hợp ngoại lệ quan trọng. Một người dùng không xác định đã lợi dụng lỗ hổng này bằng cách gửi lệnh chuyển 0 token đến một địa chỉ tiền gửi, dẫn đến việc các block trống tiếp tục được khai thác.
Van der Wijden cho biết: “Sau vài phút, chúng tôi lại phát hiện thêm các block trống. Khi xem xét các pool giao dịch, chúng tôi phát hiện một giao dịch vi phạm khác gây ra tình trạng tương tự.”
Ban đầu, nhóm phát triển nghĩ rằng sự cố là do lỗi của một thành viên trong nhóm trình xác thực. Tuy nhiên, sau khi điều tra kỹ lưỡng, họ phát hiện giao dịch gây lỗi đến từ một tài khoản mới được cấp vốn từ faucet.
Cơ chế tấn công và các biện pháp khắc phục
Tiêu chuẩn ERC-20 không cấm việc thực hiện các giao dịch chuyển tiền mà không cần sở hữu token, mở ra cơ hội để kẻ tấn công khai thác lỗ hổng này. Người dùng không xác định đã tận dụng điều này để tiến hành các giao dịch bất hợp pháp, gây gián đoạn mạng lưới.
Để ngăn chặn cuộc tấn công, nhóm phát triển Ethereum quyết định lọc tất cả các giao dịch tương tác với hợp đồng tiền gửi. Bên cạnh đó, một bản sửa lỗi riêng tư đã được triển khai trên một số node DevOps nhằm hạn chế tối đa các cuộc tấn công tiếp theo và bảo vệ hệ thống.
“Chúng tôi nghi ngờ kẻ tấn công đã theo dõi các cuộc trao đổi của chúng tôi, vì vậy chúng tôi quyết định không công khai bản sửa lỗi, mà chỉ triển khai cho các node mà chúng tôi kiểm soát, nhằm đảm bảo sự ổn định của mạng lưới,” van der Wijden chia sẻ.
Đến khoảng 14:00 cùng ngày, tất cả các node đã được cập nhật và các giao dịch bất thường từ người dùng không xác định không còn gây ảnh hưởng. Nhờ đó, testnet Sepolia nhanh chóng phục hồi và trở lại trạng thái hoạt động bình thường.
Ảnh hưởng tới kế hoạch triển khai Pectra
Dù sự cố này chỉ xảy ra trên testnet Sepolia, nhóm phát triển Ethereum thừa nhận rằng vấn đề phát sinh do việc sử dụng hợp đồng tiền gửi giới hạn bằng token trong môi trường thử nghiệm, thay vì hợp đồng gửi tiền thông thường như trên mainnet. Do đó, họ quyết định hoãn việc triển khai Pectra trên các testnet khác để tiến hành thêm các thử nghiệm và cải tiến cần thiết.
Trước đó, vào ngày 26 tháng 2 năm 2025, bản nâng cấp Pectra cũng đã gặp sự cố tương tự trên testnet Holesky. Điều này càng khẳng định sự cần thiết phải hoàn thiện kỹ lưỡng Pectra trước khi đưa vào mainnet.
Pectra là bản nâng cấp chiến lược dài hạn nhằm tối ưu hóa mạng Ethereum, đặc biệt tập trung vào việc giảm thiểu phí giao dịch cho các mạng layer 2 và cải thiện tính kinh tế của các triển khai Ethereum. Bản nâng cấp này dự kiến sẽ được triển khai sau Dencun, bản nâng cấp được phát hành thành công vào ngày 13 tháng 3 năm 2024.
Với những vấn đề phát sinh trên testnet, cộng đồng Ethereum đang theo dõi chặt chẽ các bước đi tiếp theo của nhóm phát triển để đảm bảo Pectra sẽ được triển khai an toàn và hiệu quả trên mainnet.