Những điểm chính cần nhớ
Bảo tồn lỗi Byzantine (BFT) là một tính chất cho phép các hệ thống phân tán, bao gồm blockchain, tiếp tục hoạt động ngay cả khi một số nút bị lỗi hoặc hành xử thiếu trung thực.
Khái niệm này xuất phát từ Bài toán Tướng quân Byzantine, một thí nghiệm tư duy về cách các tác nhân độc lập có thể đạt được thỏa thuận khi một số tác nhân có thể không đáng tin.
Hầu hết các blockchain đều sử dụng một thuật toán đồng thuận như proof-of-work hoặc proof-of-stake để đạt được BFT và giữ an toàn cho mạng.
Thông thường, mạng cần ít nhất hai phần ba số người tham gia phải trung thực để BFT có thể hoạt động.
Giới thiệu
Kể từ khi Bitcoin ra mắt vào năm 2008 như một hệ thống tiền mặt điện tử ngang hàng, các blockchain đã dựa vào một tính chất quan trọng: khả năng đạt được thỏa thuận giữa nhiều người tham gia độc lập mà không cần tin tưởng bất kỳ ai trong số họ một cách đơn lẻ. Điều này khó hơn vẻ bề ngoài, đặc biệt khi một số người tham gia có thể hành xử một cách khó lường hoặc thiếu trung thực.
Khái niệm giải quyết thách thức này được gọi là bảo tồn lỗi Byzantine (Byzantine fault tolerance). Hiểu được khái niệm này sẽ giúp giải thích vì sao các mạng blockchain có thể hoạt động an toàn ngay cả khi có tác nhân xấu hoặc lỗi phần cứng.
Bài toán Tướng quân Byzantine là gì?
Bài toán Tướng quân Byzantine lần đầu tiên được mô tả vào năm 1982. Nó dùng một thí nghiệm tư duy quân sự để minh họa sự khó khăn trong việc đạt được thỏa thuận trong một hệ thống phân tán khi một số người tham gia không thể bị tin tưởng.
Hãy tưởng tượng có một nhóm các tướng quân, mỗi người chỉ huy một đạo quân riêng, bao quanh một thành phố. Họ phải thống nhất một kế hoạch: tấn công cùng nhau hay rút lui cùng nhau. Nếu họ hành động độc lập, họ sẽ thất bại. Vấn đề là họ chỉ có thể liên lạc thông qua người đưa tin, và một số tướng có thể là kẻ phản bội, gửi những thông điệp mâu thuẫn hoặc sai sự thật.
Thách thức cốt lõi là: làm sao các tướng quân trung thành có thể thống nhất một kế hoạch khi họ không thể xác định ai đang nói dối? Trong bối cảnh blockchain, mỗi tướng quân đại diện cho một nút mạng, và quyết định "tấn công hay rút lui" được thay bằng việc thống nhất xem những giao dịch nào là hợp lệ.
Kết luận từ nghiên cứu ban đầu là một hệ thống BFT cần ít nhất hai phần ba người tham gia phải trung thực. Nếu một phần ba trở lên là lỗi hoặc có hành vi độc hại, việc đạt được sự đồng thuận đáng tin cậy sẽ trở nên không thể.
Bảo tồn lỗi Byzantine (BFT)
Bảo tồn lỗi Byzantine là tính chất của một hệ thống có thể tiếp tục vận hành đúng đắn ngay cả khi một số thành phần bị lỗi hoặc hành xử theo cách độc hại. Một hệ thống BFT có thể chịu đựng được một số lượng nhất định các nút bị lỗi mà không làm ảnh hưởng đến tính toàn vẹn của toàn bộ mạng.
Trên thực tế, điều này có nghĩa là một blockchain BFT có thể xử lý các tình huống như: các nút bị sập, mất kết nối, gửi các thông điệp trùng lặp, hoặc cố tình tìm cách thao túng mạng. Hệ thống sẽ đạt được kết quả đúng miễn là tỷ lệ các nút bị lỗi vẫn nằm dưới ngưỡng chấp nhận được.
Có nhiều cách để xây dựng một hệ thống BFT. Cách tiếp cận mà một blockchain lựa chọn phụ thuộc vào các ưu tiên thiết kế như tốc độ, mức độ phi tập trung và bảo mật. Từ đó hình thành các thuật toán đồng thuận khác nhau.
Các thuật toán đồng thuận blockchain
Thuật toán đồng thuận là cơ chế mà blockchain sử dụng để thống nhất trạng thái của sổ cái (ledger). Các cách tiếp cận phổ biến nhất là proof-of-work (PoW) và proof-of-stake (PoS).
Bitcoin sử dụng PoW, được Satoshi Nakamoto chuyển thể thành thứ được gọi là cơ chế đồng thuận Nakamoto (Nakamoto consensus). Trong mô hình này, các nút cạnh tranh để giải một câu đố tốn kém về mặt tính toán nhằm thêm một khối mới. Chi phí cho công việc đó khiến về mặt kinh tế là không thực tế đối với kẻ xấu muốn viết lại chuỗi mà không kiểm soát hơn một nửa tổng năng lực tính toán. Loại tấn công này được gọi là tấn công 51%.
PoW không hoàn toàn miễn nhiễm với các lỗi Byzantine, nhưng chi phí khai thác và bảo mật mật mã của chuỗi đã khiến nó trở nên cực kỳ đáng tin cậy trong thực tế.
PoS đạt được các mục tiêu tương tự theo cách khác. Thay vì công việc tính toán, các trình xác thực sẽ đặt cược (stake) tiền mã hóa làm tài sản thế chấp. Hành vi gian dối có thể dẫn đến việc mất khoản stake đó, tạo ra động lực kinh tế mạnh mẽ để tham gia một cách trung thực.
Ethereum chuyển sang PoS vào năm 2022, và cơ chế hoàn tất (finality) của nó dựa trên các nguyên tắc BFT được dùng trong các giao thức như Tendermint. Những giao thức này cho phép mạng xác nhận các khối là cuối cùng (final) khi đủ số trình xác thực đã ký xác nhận, cải thiện cả tốc độ và độ an toàn so với finality mang tính xác suất trong các chuỗi PoW.
Câu hỏi thường gặp
Bảo tồn lỗi Byzantine có nghĩa là gì?
Bảo tồn lỗi Byzantine có nghĩa là một hệ thống có thể tiếp tục hoạt động đúng đắn ngay cả khi một số thành phần của nó hành xử một cách khó lường hoặc thiếu trung thực. Trong blockchain, điều đó có nghĩa là mạng có thể đạt được sự đồng thuận về các giao dịch hợp lệ ngay cả khi một số nút gửi thông tin sai hoặc mâu thuẫn.
Tại sao lại gọi là bảo tồn lỗi Byzantine?
Tên gọi này xuất phát từ Bài toán Tướng quân Byzantine (Byzantine Generals' Problem), một thí nghiệm tư duy từ năm 1982, sử dụng câu chuyện về các tướng lĩnh quân sự để mô tả thách thức trong việc đạt được thỏa thuận khi một số người tham gia không thể bị tin tưởng. Thuật ngữ "Byzantine" trong lĩnh vực điện toán đề cập đến các lỗi tùy ý hoặc mang tính độc hại, khác với những trường hợp chỉ đơn thuần ngừng hoạt động (crash).
Cần bao nhiêu phần trăm trong mạng phải trung thực để BFT hoạt động?
Thông thường, một hệ thống BFT cần ít nhất hai phần ba số người tham gia hành xử trung thực. Nếu một phần ba trở lên của mạng hành xử độc hại hoặc thất bại, đa số các giao thức BFT sẽ không còn có thể đảm bảo kết quả đúng. Ngưỡng này có thể thay đổi nhẹ tùy theo giao thức đồng thuận cụ thể được sử dụng.
Bảo tồn lỗi Byzantine trong cơ chế proof-of-work có không?
Proof-of-work không đạt được mức bảo tồn lỗi Byzantine một cách hoàn hảo, nhưng nó đạt được khả năng chống chịu thực tế nhờ chi phí khai thác cao. Kẻ tấn công sẽ cần kiểm soát hơn 50% tổng năng lực tính toán của mạng để có thể thao túng chuỗi một cách nhất quán, khiến các cuộc tấn công như vậy trở nên tốn kém và khó duy trì.
Những suy nghĩ kết thúc
Bảo tồn lỗi Byzantine là một khái niệm nền tảng trong thiết kế blockchain. Nó giải thích vì sao các mạng như Bitcoin và Ethereum có thể hoạt động đáng tin cậy ngay cả trong môi trường nơi người tham gia là ẩn danh và một số có thể cố gắng gian lận. Dù thông qua proof-of-work, proof-of-stake hay các giao thức BFT mới hơn được dùng trong các chuỗi hiện đại, mục tiêu vẫn giống nhau: giúp các nút độc lập đạt được thỏa thuận về sự thật mà không cần tin tưởng lẫn nhau một cách riêng rẽ.
Đọc thêm
Thuật toán đồng thuận blockchain là gì?
Proof of Work (PoW) là gì?
Proof of Stake (PoS) là gì?
Tấn công 51% là gì?
Tuyên bố miễn trừ trách nhiệm: Nội dung này được cung cấp cho bạn theo cơ sở "nguyên trạng" chỉ nhằm mục đích thông tin chung và giáo dục, không đưa ra bất kỳ tuyên bố hay bảo đảm nào dưới bất kỳ hình thức nào. Không nên hiểu nội dung này là lời khuyên tài chính, pháp lý hoặc tư vấn chuyên nghiệp khác, và cũng không nhằm mục đích khuyến nghị mua bất kỳ sản phẩm hoặc dịch vụ cụ thể nào. Bạn nên tìm lời khuyên của riêng mình từ các cố vấn chuyên môn phù hợp. Nếu nội dung được đóng góp bởi bên thứ ba, vui lòng lưu ý rằng các quan điểm được thể hiện thuộc về bên đóng góp thứ ba đó và không nhất thiết phản ánh quan điểm của Binance Academy. Giá tài sản kỹ thuật số có thể biến động. Giá trị khoản đầu tư của bạn có thể tăng hoặc giảm và bạn có thể không nhận lại được số tiền đã đầu tư. Bạn hoàn toàn chịu trách nhiệm cho các quyết định đầu tư của mình và Binance Academy không chịu trách nhiệm đối với bất kỳ khoản lỗ nào bạn có thể gặp phải. Để biết thêm thông tin, hãy xem Điều khoản sử dụng, Cảnh báo rủi ro và Điều khoản của Binance Academy.
