Byzantine Fault Tolerance (BFT) được cho là có thể giải quyết được vấn đề của bài toán các vị tướng quân Byzantine. Hiện nay, thuận toán đồng thuận này khá phổ biến và được sử dụng rộng rãi trong thị trường Crypto. Vì vậy, trong bài viết hôm nay, chúng ta sẽ đi sâu vào tìm hiểu về thuật toán BFT nhé!
Byzantine Fault Tolerance (BFT) là gì?
Byzantine Fault Tolerance (BFT) là một trong những đặc tính cơ bản của các quy tắc hoặc giao thức blockchain đáng tin cậy. Hệ thống này có thể giải quyết được vấn đề của bài toán Byzantine, đảm bảo cho một mạng máy tính phân tán hoạt động như mong muốn và đạt được sự đồng thuận chính xác. đồng nghĩa với việc chúng có thể tiếp tục hoạt động ngay cả khi một số node bị lỗi hoặc thực hiện hành động gây hại cho mạng chung.
Có nhiều giải pháp khả thi cho vấn đề cho bài toán các vị tướng Byzantine, do đó, có nhiều cách để xây dựng một Hệ thống chịu lỗi Byzantine (BFT). Tương tự như vậy, có nhiều cách khác nhau để một blockchain đạt được hệ thống chịu lỗi Byzantine và điều mà chúng ta có ở đây chính là các thuật toán đồng thuận (consensus).
Bài toán về các vị tướng quân Byzantine
Bài toán Byzantine được định nghĩa trong một bài báo do Leslie Lamport, Robert Shotak, và Marshall Pease xuất bản năm 1982. Bài báo được đặt tên là “Bài toán các vị tướng Byzantine”. Nêu một câu chuyện ngụ ngôn về các vấn đề để đạt được “sự đồng thuận” trong một hệ thống phi tập trung.
Bài toán giả định rằng mỗi tướng có quân đội riêng và mỗi tướng đóng quân ở các địa điểm khác nhau xung quanh thành phố mà họ dự định tấn công. Các tướng phải đồng thuận về việc tấn công hoặc rút lui. Vấn đề tấn công hay rút lui không quan trọng mà là sự đồng thuận của tất cả các tướng, tức là, đồng thuận về một quyết định chung để cùng phối hợp thực hiện.
Do đó, chúng ta có thể xem xét các mục tiêu sau:
- Mỗi tướng phải quyết định: tấn công hoặc rút lui (có hay không);
- Không thể thay đổi quyết định sau khi đưa ra;
- Tất cả tướng phải nhất trí về một quyết định giống nhau và tiến hành đồng bộ với nhau.
Các vấn đề liên lạc như đề cập ở trên liên quan đến thực tế là một tướng chỉ có thể giao tiếp với các tướng khác thông qua các thông điệp được chuyển đi bởi lính đưa tin. Vấn đề trọng tâm của bài toán các vị tướng Byzantine ở đây là các thông điệp có thể bị chậm, hủy hoặc mất.
Ngoài ra, ngay cả khi xét rằng thông điệp sẽ được gửi thành công, vẫn còn khả năng xảy ra là một hoặc nhiều tướng có thể chọn (vì bất kỳ lý do gì) thực hiện hành động gây hại và gửi đi một thông điệp sai để gây nhiễu tới các tướng khác, dẫn đến một thất bại hoàn toàn.
Nếu chúng ta áp dụng bài toán song đề vào trường hợp có sự xuất hiện của blockchain, mỗi tướng sẽ đại diện cho một nút mạng và các nút cần đạt được sự đồng thuận về trạng thái hiện tại của hệ thống. Nói cách khác, phần lớn những người tham gia trong một mạng lưới phân tán phải đồng ý và thực hiện cùng một hành động để tránh một thất bại hoàn toàn.
Vì vậy, cách duy nhất để đạt được sự đồng thuận trong các loại hệ thống phân tán này là có sự đồng thuận của ít nhất ⅔ hoặc của nhiều hơn các nút mạng trung thực và đáng tin cậy. Điều này có nghĩa là nếu phần lớn nút trong mạng quyết định thực hiện hành động gây hại, hệ thống sẽ dễ bị lỗi và bị tấn công (ví dụ như tấn công 51%).
Cách Bitcoin giải quyết vấn đề chung của lỗi Byzantine
Bitcoin đã giải quyết vấn đề chung của Byzantine bằng cách sử dụng cơ chế đồng thuận Proof of Work để thiết lập một bộ quy tắc rõ ràng, khách quan cho blockchain.
Để thêm thông tin, được gọi là khối (block) vào blockchain, một thành viên của mạng phải xuất bản bằng chứng rằng họ đã đầu tư công sức đáng kể vào việc tạo ra khối. Công việc này đặt ra chi phí lớn cho người sáng tạo (creator) và do đó khuyến khích họ xuất bản thông tin trung thực.
Bởi vì các quy tắc là khách quan, không thể có bất đồng hoặc can thiệp vào thông tin trên mạng Bitcoin. Ngoài ra, một khi một khối đã được thêm vào chuỗi khối, nó sẽ rất khó để loại bỏ, khiến quá khứ của Bitcoin trở nên bất biến.
Do đó, tại mọi thời điểm, các thành viên của mạng Bitcoin có thể đồng ý về trạng thái của blockchain và tất cả các giao dịch trong đó. Mỗi node tự xác minh xem các khối có hợp lệ hay không dựa trên yêu cầu Proof of Work, và liệu các giao dịch có hợp lệ hay không dựa trên các yêu cầu khác.
Nếu bất kỳ thành viên nào của mạng cố gắng phát đi thông tin sai lệch, tất cả các node trên mạng sẽ ngay lập tức, nhận ra nó là không hợp lệ một cách khách quan và bỏ qua nó. Bởi vì mỗi node có thể xác minh tất cả thông tin trên chính mạng Bitcoin, nên không cần phải tin tưởng vào các thành viên khác của mạng, điều này làm cho Bitcoin trở thành một hệ thống không đáng tin cậy (trustless).
Lưu ý rằng thuật toán PoW không đảm bảo 100% khả năng chịu lỗi Byzantine, nhưng nhờ vào quá trình đào tốn kém và các kỹ thuật mã hóa đằng sau, PoW đã chứng tỏ là một trong những thuật toán đồng thuận an toàn và đáng tin cậy nhất cho các mạng blockchain.
Ngoài PoW thì hiện tại các thuật toán phổ biến nhất là Proof of Stake (PoS) và các biến thể của nó như dPoS (Delegated Proof of Stake), PoA (Proof of authority),….
Ưu và nhược điểm của Byzantine Generals Problem
Ưu điểm
- Nó không yêu cầu sức mạnh giải thuật toán hoặc mức sử dụng năng lượng vì không có bất kỳ thợ đào nào giải các thuật toán phức tạp cho mọi khối giao dịch. Điều này làm cho nó thân thiện với môi trường hơn nhiều so với Proof of Work.
- Giao dịch không yêu cầu nhiều xác nhận. Nếu các node đồng ý về một khối giao dịch, thì nó sẽ được xác nhận ngay lập tức.
- Vì tất cả các node đều có thể tham gia hành động nên tất cả người tham gia đều có thể chia sẻ phần thưởng. Không có sự khác biệt nào giữa phần thưởng các node như trong Proof of Work và Proof of Stake.
Nhược điểm
- Nó dễ bị tấn công bởi các cuộc tấn công Sybil. Đây là hình thức một bên có thể giành quyền kiểm soát một phần lớn các node.
- Byzantine Generals Problem yêu cầu giao tiếp giữa các node ở mọi bước của quy trình. Điều này mất thời gian và có thể hạn chế khả năng mở rộng.
Điểm đặc biệt của BFT
Một giao thức đồng thuận là Byzantine Fault Tolerant vẫn có thể phối hợp và đi đến đồng thuận mặc dù có một số bất đồng giữa các nút. Điều này rất quan trọng đối với các blockchain phi tập trung như Ethereum hoặc Bitcoin.
Một trong những đổi mới quan trọng của Satoshi Nakamoto khi họ tạo ra Bitcoin là giải quyết Vấn đề của tướng Byzantine bằng cách áp dụng bằng chứng công việc cho mạng Bitcoin. Bằng cách có thuộc tính của BFT, mạng Bitcoin được bảo vệ khỏi tới một phần ba số nút là độc hại.
Tương lai của BFT
Nguyên tắc của BFT sẽ tiếp tục đóng một vai trò chính trong mạng lưới blockchain. Khi nhiều người và tổ chức khám phá các hệ thống phân tán và phi tập trung, các cách thức đổi mới hơn để thiết kế hệ thống BFT sẽ được phát hiện và thực hiện.
Kết luận
Bài viết của DeFiX tới đây là kết thúc. Hi vọng những thông tin này hữu ích với các nhà đầu tư! Hãy theo dõi DeFiX.Network để cập nhật thêm nhiều thông tin thú vị, mới nhất về thị trường trường tài chính và tiền điện tử nhé.
Hẹn gặp lại các bạn trong các bài chia sẻ, hướng dẫn tiếp theo. Chúc các bạn đầu tư thành công!
View Comments (0)