Các Nhà Phát Triển Ethereum Triển Khai Giải Pháp Riêng Tư Giữa Những Vấn Đề Của Cập Nhật Pectra
Một kẻ tấn công không xác định đã buộc các nhà phát triển Ethereum phải triển khai một “giải pháp riêng tư” khi mạng lưới đối mặt với các vấn đề kỹ thuật trong quá trình cập nhật Pectra trên mạng thử nghiệm Sepolia.
Trong báo cáo sau sự cố, nhà phát triển Ethereum Marius van der Wijden tiết lộ rằng kẻ tấn công đã khai thác một “trường hợp rìa” bị bỏ qua, liên tục kích hoạt các lỗi bằng cách gửi các giao dịch chuyển không token đến hợp đồng gửi tiền, làm phức tạp thêm một quá trình triển khai đã bị rắc rối.
Điều gì đã xảy ra?
Vào ngày 5 tháng 3, cập nhật Pectra chính thức được kích hoạt trên Sepolia, nhưng gần như ngay lập tức, các nhà phát triển bắt đầu thấy các thông báo lỗi xuất hiện trên các nút geth của họ, cùng với sự gia tăng số lượng khối trống được khai thác.
Theo van der Wijden, vấn đề này phát sinh từ việc hợp đồng gửi tiền phát ra một sự kiện không mong đợi – một sự kiện chuyển giao thay vì sự kiện gửi tiền cần thiết – gây ra việc các nút từ chối các giao dịch và chỉ sản xuất các khối trống.
Lỗi này liên quan đến EIP-6110, whic
h yêu cầu tất cả các nhật ký từ hợp đồng gửi tiền được xử lý đồng nhất.
Nhóm geth đã triển khai một bản sửa lỗi “bỏ qua tất cả các nhật ký sai từ hợp đồng gửi tiền,” nhưng các nhà phát triển được cho là đã bỏ qua một trường hợp biên cụ thể trong tiêu chuẩn ERC-20.
“Tiêu chuẩn ERC20 không cấm chuyển nhượng 0 token, điều này cho phép bất kỳ ai (ngay cả khi họ không sở hữu bất kỳ token nào) chuyển 0 token đến một địa chỉ khác, điều này sẽ phát ra một sự kiện,” van der Wijden giải thích, thêm rằng một “kẻ tấn công” đã lợi dụng điều này bằng cách gửi liên tục các giao dịch chuyển 0 token đến hợp đồng gửi tiền.
Điều này đã kích hoạt cùng một lỗi và khiến mạng tiếp tục khai thác các khối rỗng.
Bạn cũng có thể quan tâm: Cập nhật Pectra của Ethereum trên Sepolia gặp sự cố
Ban đầu, các nhà phát triển nghi ngờ một trình xác thực đáng tin cậy đã mắc lỗi, nhưng sau khi điều tra, họ đã lần ra vấn đề từ một tài khoản mới được cấp vốn từ một vòi công cộng.
Để dừng cuộc tấn công, các nhà phát triển cần phải lọc ra các giao dịch tương tác với
hợp đồng gửi tiền. Tuy nhiên, họ nghi ngờ rằng kẻ tấn công đang theo dõi các cuộc trò chuyện của họ, điều này đã thúc đẩy họ triển khai một “bản sửa chữa riêng tư” cho một số nút DevOps kiểm soát khoảng 10% mạng lưới.
Khi bản sửa chữa được triển khai, các nút đã trở lại sản xuất các khối đầy đủ, cho phép chuỗi hoạt động bình thường vào lúc 14:00 UTC. Một vài khối sau đó, giao dịch của kẻ tấn công đã được khai thác thành công, xác nhận rằng tất cả các nhà điều hành nút đã cập nhật.
Mặc dù có những sự gián đoạn, Ethereum “không bao giờ mất tính hoàn thiện”, và vấn đề này chỉ giới hạn ở Sepolia, vì hợp đồng gửi tiền có mã thông báo của nó khác với hợp đồng gửi tiền của mạng chính Ethereum, theo van der Wijden.
Tuy nhiên, các nhà phát triển đã quyết định hoãn nâng cấp Pectra để thực hiện thêm kiểm tra và gỡ lỗi.
Nâng cấp Pectra của Ethereum là gì?
Nâng cấp Pectra được thiết kế để tăng cường việc đặt cược ETH, cải thiện khả năng mở rộng lớp 2 và mở rộng dung lượng mạng. Nó giới thiệu 11 Đề xuất Cải tiến Ethereum (EIPs) và đánh dấu nâng cấp lớn đầu tiên kể từ
Dencun, which went live in March 2024.
As previously reported by crypto.news, developers planned to deploy Pectra on the mainnet by April 8, provided that both the Holesky and Sepolia testnets successfully completed their upgrades.
The upgrade was first implemented on the Holesky testnet on February 24, where it also ran into technical issues that prevented finalization.
Read more: Ethereum’s Pectra upgrade passes audit, remains on track for launch
Bình luận (0)