Sự mất khả năng xác thực trong quá trình hoàn tất giao dịch này có nghĩa là các khối có thể bị can thiệp, và mặc dù điều này sẽ không ảnh hưởng đến trải nghiệm người dùng cuối, nhưng nó đã gây ra một số khó khăn cho một số ứng dụng.

Blockchain Ethereum đã trải qua hai sự cố ngắn hạn vào tuần trước, trong đó các khối không hoàn tất – một cú sốc không mong muốn về sự ổn định gây ra rủi ro cho bảo mật của blockchain, nhưng không được coi là nghiêm trọng.
Có rất nhiều sự nhầm lẫn về việc chậm trễ trong việc “hoàn tất” ảnh hưởng đến chức năng của blockchain, khiến cho các cuộc thảo luận về các mối lo ngại – bảo mật trở nên cần thiết. Vì vậy, chúng ta cần phân tích kỹ hơn một chút.
Nguyên nhân gây mất tính xác thực tạm thời của khối vẫn đang được điều tra, mặc dù theo Prysm, một nhà cung cấp phần mềm khách được sử dụng để chạy một node trên blockchain, vừa phát hành một phiên bản mới, mô tả nó là “phiên bản đầy đủ đầu tiên sau vấn đề gần đây trên mainnet “, với “critical fixes”.
Khi các data blocks không hoàn tất, nghĩa là không nên có bất kỳ thời gian chờ hoặc khác biệt về trải nghiệm người dùng cuối. Tuy nhiên, mất tính xác thực có thể dẫn đến một số vấn đề về bảo mật như reorgs.
Reorgs xảy ra khi một blockchain tạo ra nhiều hơn một khối cùng một lúc, thường do lỗi hoặc cuộc tấn công. Điều này có nghĩa là một validator node tạm thời tạo ra một phiên bản mới của blockchain, làm cho việc xác minh chính xác xem một giao dịch đã thành công trở nên khó khăn, trong khi phiên bản cũ của blockchain vẫn tồn tại.
Tuy nhiên, tác động lan truyền từ sự cố này đã gây ra một số sự gián đoạn đối với người dùng cuối.
DYdX, một nền tảng giao dịch tiền điện tử hàng đầu, đã phải tạm thời dừng việc tiếp nhận tiền gửi do một trong các sự cố của tuần trước, và zkEVM của Polygon cũng gặp một số trễ trong việc tiếp nhận tiền gửi.

Vậy cơ chế hoàn tất hoạt động là như thế nào?
Trong một blockchain dựa trên proof-of-stake như Ethereum, validators đầu tiên phải đề xuất một khối chứa các giao dịch. Sau khi các khối được đề xuất, những validators khác phải ký duyệt khối đó để thêm vào blockchain một cách vĩnh viễn, quá trình này mất khoảng 15 phút. Khi khối được chấp thuận hoặc “chứng thực” bởi hai phần ba số lượng validators, khối đó cuối cùng trở thành khối đã được hoàn tất.
Do đó, hoàn tất là điểm mà giao dịch trên blockchain được coi là không thể thay đổi. Hoàn tất được coi là đảm bảo rằng giao dịch trong một khối không thể bị thay đổi.
Nếu không thể đảm bảo hoàn tất, blockchain sẽ vào trạng thái khẩn cấp được gọi là “rò rỉ không hoạt động” – “inactivity leak,” trong đó các validators sẽ bị phạt vì không đạt được trạng thái hoàn tất. Khi trạng thái này được kích hoạt, nó hoạt động như một cách thúc đẩy blockchain để bắt đầu hoàn tất lại. Sự cố trong tuần trước đã kích hoạt “rò rỉ không hoạt động” đầu tiên trong lịch sử Ethereum.
Cộng đồng Ethereum đã nhận thức rằng khoảng thời gian hiện tại để hoàn tất các khối quá lâu.
“Việc có một khoảng thời gian chờ giữa việc đề xuất khối và hoàn tất cũng tạo cơ hội cho các reorg ngắn mà kẻ tấn công có thể sử dụng để kiểm soát các khối cụ thể hoặc trích xuất giá trị MEV,” trang web Ethereum chia sẻ trong một bài đăng trên blog.
Cùng 7 năm trước, đồng sáng lập Ethereum Vitalik Buterin đã viết về hoàn tất, cho thấy đó là một vấn đề quan trọng.
Khi sự mất hoàn tất đầu tiên xảy ra vào ngày 11 tháng 5, các nhà phát triển ngay lập tức chia sẻ thông tin trên Twitter và cho biết họ sẽ triển khai thêm sự trợ giúp để tìm hiểu vấn đề. Sau 25 phút, vấn đề dường như đã được giải quyết và chuỗi blockchain đã tiếp tục hoàn tất.
Khoảng 24 giờ sau đó, chuỗi blockchain lại ngừng hoàn tất trong khoảng một giờ, gây ra sự gián đoạn cho một số nhà cung cấp cơ sở hạ tầng.
Trước đây, hoàn tất đã tạm thời dừng lại do lỗi trong phần mềm khách được sử dụng để chạy blockchain. Ethereum có nhiều phiên bản khách hàng trong trường hợp có lỗi hoặc sự cố trong phần mềm, do đó vẫn có các tùy chọn khác và hoạt động trên blockchain vẫn tiếp tục diễn ra.
Sự cố này ảnh hưởng đến một số ứng dụng chạy trên blockchain Ethereum.
Tim Beiko, người phụ trách hỗ trợ giao thức tại Ethereum Foundation, cho biết sự cố là “đáng kể nhưng không đến nỗi đặt tính bảo mật hoặc tính ổn định của Ethereum gặp nguy hiểm hoặc bị đảo lộn”.
“Chỉ sau vài phút, mọi thứ đã được chỉnh sửa và sau một hoặc hai ngày, các khách hàng đã có bản vá phần mềm để đảm bảo rằng trường hợp cụ thể này sẽ không xảy ra lại”, ông nói.
Các nhà phát triển hiện đang cố gắng hiểu rõ nguyên nhân dẫn đến việc blockchain không hoàn tất và dự kiến sẽ thảo luận về báo cáo hậu quả trong cuộc họp Consensus Layer sắp tới.
Beiko cho biết sự cố chưa đạt đến mức “chúng ta bắt đầu thử nghiệm các biện pháp dự phòng cực đoan trong giao thức để xử lý vấn đề này”.
Các sự cố đã ảnh hưởng đến một số ứng dụng chạy trên blockchain Ethereum.
Jordi Baylina, người dẫn đầu kỹ thuật tại Polygon, cho biết việc dừng hoàn tất đã làm chậm quá trình gửi tiền vào mạng zkEVM của Polygon, và vì chuỗi này phụ thuộc vào Infura – một nhà cung cấp cơ sở hạ tầng cũng tạm thời gặp sự cố do mất hoàn tất – vấn đề cho những người sử dụng zkEVM trở nên phức tạp hơn.
“Bạn cần phải chờ đợi đến khi hoàn tất chain ở layer 1 có sẵn trong layer 2,” Balyina nói. “Vì vậy, cho đến khi bạn không có hoàn tất, bạn không thể sử dụng [chuỗi] hoặc bạn có nguy cơ chi tiêu gấp đôi ở layer 2.”
DYdX đã tạm dừng việc tiếp nhận tiền gửi tạm thời ngày hôm nay do thiếu hoàn tất của Ethereum và cho biết đang “tiếp tục theo dõi và điều tra vấn đề này”.
Mặc dù vậy, các nhà phát triển Ethereum nhấn mạnh rằng mạng lưới không bị sập.
“Sự cố hôm nay đã là một cuộc tập huấn cháy lớn. Có vẻ như hai hoặc ba vấn đề xảy ra (như thường lệ). Chuỗi đã phục hồi một cách êm ả và chúng tôi đã phát hiện ra một số vấn đề khác có thể được cải thiện để làm cho Ethereum mạnh mẽ hơn,” Marius van der Wijden, một nhà phát triển tại Ethereum Foundation, viết trên Twitter.

