Phát hiện bug, Mina nâng cấp mạng lưới trong 24 giờ
Vào ngày 14/9, Mina phát hiện một bug trên mạng devnet (mạng thử nghiệm cho nhà phát triển) và đã nhanh chóng nâng cấp hơn 60% mạng lưới trong vòng 24 giờ. Không có tổn thất tài chính trong sự cố này.
Phát hiện bug
Bug được kích hoạt bởi một tập lệnh gửi giao dịch tự động mà O(1) Labs - một trong những đối tác thuộc hệ sinh thái Mina - đang chạy thử trên devnet.
Các kỹ sư phát hiện bug sau khi nhận được thông báo của hệ thống cảnh báo trạng thái của devnet. Bug được xác định trong vài giờ sau, và mặc dù bug không bị kẻ xấu lợi dụng để gây ra thiệt hại nào nhưng Mina đã tiến hành ngay một đợt thảo luận hotfix (sửa lỗi khẩn cấp).
Sự việc cụ thể
Một nhà sản xuất khối (block producer) trên devnet do O(1)Labs điều hành đã gặp sự cố trong pool giao dịch của mình khi chọn nhầm một giao dịch không hợp lệ để đưa vào một khối. Giao dịch này đã di chuyển nhiều token MINA hơn lượng token có sẵn trong tài khoản. Các node (nút) khác đã xác nhận giao dịch này.
Tuy nhiên, tài khoản nhận không tồn tại và lượng MINA đã chuyển không đủ để thanh toán phí tạo tài khoản đó, vì vậy các node đã bỏ qua toàn bộ số lượng MINA này và chỉ xác minh rằng tài khoản có đủ phí để thanh toán. Kết quả, SNARK* đã từ chối giao dịch vì giao dịch sử dụng nhiều tiền hơn số tiền có trong tài khoản và ngăn cản nhân viên SNARK chứng minh giao dịch.
Do giao dịch không hợp lệ này nên mạng devnet không thể tiếp tục xử lý các giao dịch mới và phải được khởi động lại sau khi Mina khắc phục hoàn toàn sự cố.
Phản ứng tức thời và sự thận trọng của chúng tôi với sự cố này nhằm đảm bảo mạng mainnet (mạng chính) không gặp phải trường hợp tương tự. Chúng tôi muốn nhấn mạnh rằng đây không phải là một sự cố nhỏ nhặt và nhiều khả năng nó xảy ra một cách tình cờ hơn là do kẻ xấu cố ý gây ra.
*SNARK: Bằng chứng mật mã ngắn gọn giúp kiểm tra tính hợp lệ của các khối.
Tiến hành nâng cấp mạng lưới
Các kỹ sư của Mina đã triển khai bản sửa lỗi ngay sau cuộc thảo luận về hotfix và mọi người đã đồng ý tiến hành nâng cấp mạng lưới theo từng giai đoạn.
Những bên liên quan của Mina được thông báo về việc này: Bắt đầu từ các nhà sản xuất khối và dần dần mở rộng ra cộng đồng lớn hơn, nhằm ưu tiên sự an toàn của mạng và giảm thiểu khả năng kẻ xấu lợi dụng bug để trục lợi.
Hơn 60% mạng Mina đã được nâng cấp trong vòng 24 giờ đầu tiên. Vào ngày 23/9, cộng đồng Mina nhận được một bản nâng cấp tiếp theo lớn hơn và toàn diện hơn.
Theo số liệu của Coingecko, trong hôm xảy ra sự cố (14/9) MINA giảm xuống dưới $5 nhưng sau khi nâng cấp mạng lưới giá đã tăng lên gần $6.5 vào ngày hôm sau (15/9).
Thêm lớp bảo mật
Ngoài việc sửa lỗi, các kỹ sư của Mina cũng thêm vào các bài kiểm tra để đảm bảo những giao dịch như vậy sẽ không được đưa vào các khối đã được xác minh, và trong trường hợp nếu chúng được đưa vào (do cố ý hay ngẫu nhiên) thì các khối đó sẽ bị từ chối. O(1) Labs cũng đang bổ sung thêm các lớp kiểm tra trong pool giao dịch để sự cố này ít tiếp diễn hơn trong tương lai.
Những node vẫn đang chạy trên các phiên bản trước đó của Mina nên nâng cấp lên phiên bản mới nhất càng sớm càng tốt. Đối với những người đang sử dụng 1.1.5 hoặc 1.1.7, làm theo hướng dẫn tại đây. Nếu bạn đang chạy bất kỳ bản beta 1.2.0 nào, làm theo hướng dẫn tại đây.
Đây là hotfix lớn đầu tiên trên mainnet của Mina kể từ khi nó ra mắt cách đây 6 tháng. Chúng tôi muốn cảm ơn cộng đồng Block Producer tận tâm của chúng tôi vì đã phản ứng rất nhanh chóng và giúp kiểm soát tình hình.
Hiện chúng tôi đang làm việc để đưa ra một quy trình mới nhằm xử lý những tình huống tương tự và chúng tôi hoan nghênh những đóng góp liên tục của các thành viên cộng đồng và nhà phát triển cho hệ sinh thái và an ninh mạng của Mina.