Lỗi tính toán gốc Prysm gây ra sự cố chuỗi chính của Ethereum

robot
Đang tạo bản tóm tắt

Theo báo cáo của PANews, nhóm Prysm đã công bố phân tích chi tiết về sự cố kỹ thuật xảy ra trong quá trình vận hành mainnet vào ngày 14 tháng 12. Điểm cốt lõi của vụ việc là khi các nút beacon nhận xác thực từ các nút không đồng bộ với mạng, dẫn đến lỗi không lường trước trong quá trình tính toán root. Điều này vượt xa lỗi khách hàng đơn thuần và ảnh hưởng rộng rãi đến toàn bộ mạng lưới.

Nhận xác thực từ các nút không đồng bộ, bắt đầu phản ứng chuỗi trong tính toán root

Vấn đề bắt nguồn từ việc các nút beacon Prysm nhận xác thực tham chiếu đến root của khối của epoch trước từ các nút không đồng bộ. Để xác minh, Prysm đã cố gắng tái cấu trúc trạng thái beacon để phù hợp với trạng thái chuỗi do các nút không đồng bộ nhận diện, nhưng quá trình tái cấu trúc này tiêu tốn nhiều tài nguyên tính toán hơn dự kiến.

Điều này dẫn đến việc xử lý trùng lặp các khối của epoch trước và gây quá tải cho các phép chuyển đổi epoch, bao gồm cả tính toán root. Thực tế, lỗ hổng này đã có trong PR Prysm 15965 và đã được triển khai trên testnet trước đó một tháng, nhưng không phát hiện ra vấn đề vào thời điểm đó.

Quá tải tính toán root, cạn kiệt tài nguyên nhanh chóng, trạng thái không thể xác thực

Vào ngày 4 tháng 12, trong phiên họp hậu của Ethereum mainnet tại Fushaka, hầu hết các nút Prysm đều gặp phải trì hoãn xử lý trong quá trình tính toán root cùng lúc. Khi xử lý dữ liệu chứng minh nhất định, tài nguyên tính toán cạn kiệt nhanh chóng khiến các nút không thể phản hồi kịp thời yêu cầu của các validator.

Do thiếu tài nguyên này, các khối và chứng minh bắt đầu bị mất liên tiếp. Sự cố kéo dài từ epoch 411439 đến 411480, ảnh hưởng đến tổng cộng 42 epoch, trong đó có 248 khối bị thiếu trong 1.344 slot, ghi nhận tỷ lệ thiếu khoảng 18.5% nghiêm trọng.

Độ tham gia mạng giảm còn 75%, các validator mất 382 ETH

Hậu quả của sự cố vượt ra ngoài việc mất khối, đe dọa đến sự ổn định toàn bộ mạng lưới. Tỷ lệ tham gia mạng đã giảm xuống còn 75%, cho thấy cơ chế đồng thuận của Ethereum không hoạt động bình thường.

Các validator đã mất khoảng 382 ETH phần thưởng do mất khối và chứng minh. Đây không chỉ là thiệt hại kinh tế của từng validator do vấn đề mạng gây ra mà còn có thể làm giảm độ tin cậy của toàn bộ mạng lưới.

Bài học từ lỗi tính toán root, nhắc nhở về khả năng phục hồi của mạng

Thật thú vị, Vitalik Buterin từng đề cập rằng hiện tượng “mất tính quyết định của các quyết định” xảy ra đôi khi trong Ethereum không gây ra rủi ro nghiêm trọng. Tuy nhiên, vụ việc lỗi tính toán root Prysm lần này đã một lần nữa làm rõ ảnh hưởng của lỗi của một client đơn lẻ có thể lan rộng đến toàn bộ mạng lưới. Trong tương lai, sự đa dạng của các client và tính vững chắc của các phép tính cốt lõi như tính toán root sẽ càng trở nên quan trọng hơn.

ETH1,31%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Đăng lại
  • Retweed
Bình luận
0/400
Không có bình luận
  • Ghim