Khả năng chịu lỗi Byzantine (Byzantine Fault Tolerance (BFT))
Tóm lại: Khả năng chịu lỗi Byzantine (Byzantine Fault Tolerance, BFT) là đặc tính cho phép một hệ thống máy tính phân tán tự đạt được đồng thuận mà không cần bên…
Khả năng chịu lỗi Byzantine (Byzantine Fault Tolerance, BFT) là đặc tính cho phép một hệ thống máy tính phân tán tự đạt được đồng thuận mà không cần bên điều phối trung tâm, ngay cả khi một số thành phần của nó gặp sự cố hoặc cố ý gửi thông tin sai lệch. Cái tên này bắt nguồn từ Bài toán các vị tướng Byzantine, một thí nghiệm tư duy về những vị chỉ huy phải thống nhất một kế hoạch dù một số người trong số họ có thể là kẻ phản bội.
Vì sao điều này quan trọng
Một blockchain được vận hành bởi nhiều node độc lập không tin tưởng lẫn nhau, vì vậy nó cần BFT để duy trì một lịch sử thống nhất duy nhất. Các giao thức BFT cổ điển vẫn hoạt động miễn là số thành viên gặp lỗi hoặc không trung thực chiếm ít hơn một phần ba mạng lưới. Proof of Work và Proof of Stake đạt được khả năng chịu lỗi Byzantine theo những cách khác nhau, và nhiều chuỗi PoS dùng cơ chế bỏ phiếu kiểu BFT để hoàn tất (finalize) các khối. Nếu không có đặc tính này, chỉ vài node hoạt động sai trái cũng có thể chia tách mạng lưới hoặc đưa các giao dịch không hợp lệ vào chuỗi.
Ví dụ
Hãy hình dung bốn validator bỏ phiếu cho khối tiếp theo, trong đó một validator đã bị xâm nhập và nói "có" với một số node ngang hàng nhưng "không" với các node khác. Giao thức BFT chỉ chấp nhận một khối khi thu được đủ số phiếu trùng khớp, ở đây là ba trên bốn. Nhờ vậy, ba validator trung thực vẫn thống nhất về cùng một khối, và node gian dối không thể tạo ra hai phiên bản lịch sử cạnh tranh nhau.