Byzantine Fault Tolerance (BFT) chính là một thuật toán đồng thuận Blockchain tương đối phổ biến và được dùng vô cùng rộng rãi. Nó có thể xử lý được vấn đề cốt lõi của bài toán các vị tướng quân Byzantine.
Bắt đầu tìm hiểu thôi!
Xem thêm
- Starkware là gì? Giải pháp mở rộng Layer 2 mới cho Ethereum?
- DAO là gì? Hạn chế và tiềm năng đầu tư của DAO trong Crypto
Byzantine Fault Tolerance là gì?
Byzantine Fault Tolerance (hay Hệ thống chịu lỗi Byzantine – BFT) chính là hệ thống có thể xử lý được vấn đề của bài toán Byzantine. Việc này tức là hệ thống BFT hoàn toàn có thể tiếp tục hoạt động ngay cả khi một số node không may bị lỗi hoặc thực hiện hành động gây hại cho mạng chung.
Có rất nhiều giải pháp khả thi cho vấn đề cho bài toán các vị tướng Byzantine, vì thế cho nên có nhiều phương pháp để xây dựng một Hệ thống chịu lỗi Byzantine (BFT). Tương tự như thế, có rất nhiều phương pháp khác nhau để một blockchain có thể đạ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).
Hệ thống chịu lỗi Byzantine
Sau đây, mình sẽ phân tích liên quan về bài toán Byzantine và những vấn đề của nó để anh em hiểu một cách chi tiết hơn về Hệ thống chịu lỗi Byzantine.
Bài toán các vị tướng Byzantine
Bài toán các vị tướng Byzantine được đưa ra vào năm 1982. Bài toán miêu tả việc một nhóm các vị tướng Byzantine gặp những vấn đề liên lạc khi không ngừng cố gắng đạt sự đồng thuận về bước đi tiếp.
Nếu như mà toàn bộ những tướng tấn công cùng một khoảng thời gian, họ sẽ thắng, tuy nhiên thì nếu họ tấn công vào những thời điểm khác nhau, họ sẽ thua một cách thậm tệ. Những vị tướng không có kênh liên lạc an toàn với nhau bởi vì bất cứ thông điệp nào họ gửi hoặc nhận có thể đã bị chặn hoặc lừa bởi những kẻ thù. Làm theo cách nào để cho những tướng có thể tổ chức tấn công cùng một khoảng thời gian?
Bài toán các vị tướng Byzantine chính là một bài toán liên quan về lý thuyết trò chơi, miêu tả khó khăn mà các bên phân quyền (Decentralized) gặp phải trong việc đạt được sự đồng thuận mà không cần dựa vào một bên trung tâm đáng tin cậy.
Trong một mạng lưới mà không có bất cứ một thành viên nào có thể xác minh được danh tính của các thành viên khác, thì làm sao mà những thành viên có thể đồng ý với nhau về một sự thật nào đó?
Bài toán các vị tướng Byzantine
Hệ thống tập trung và phân cấp (Centralized and Decentralized)
Chỉ có những hệ thống phi tập trung mới phải đối diện với vấn đề của Byzantine, bởi vì chúng không có thông tin đáng tin cậy và không có bất cứ một phương pháp nào để xác minh thông tin mà chúng nhận được từ các thành viên khác trong mạng.
Đổi lại, trong những hệ thống tập trung, một cơ quan có thẩm quyền được tin cậy để công bố thông tin đúng sự thật và ngăn chặn thông tin không đúng hoặc gian lận được lan truyền trên toàn mạng.
Ví dụ: Trong hệ thống tài chính truyền thống, các ngân hàng được tin tưởng tuyệt đối trong việc hiển thị số dư và lịch sử giao dịch của người sử dụng. Nếu như mà một ngân hàng cố gắng lừa gạt hoặc nói không đúng sự thật khách hàng của họ, thì một ngân hàng trung ương hoặc chính phủ sẽ đứng ra để khắc phục hành vi phạm lòng tin.
Cách Bitcoin giải quyết vấn đề chung của lỗi Byzantine
Chắc hẳn câu hỏi này là câu hỏi mà anh em quan tâm nhất đúng không? Vậy thì bây giờ cùng tìm hiểu câu trả lời nhé!
Bitcoin đã xử lý vấn đề chung của Byzantine bằng phương pháp 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 bắt buộc cần phải xuất bản chứng cứ 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.
Phương pháp hoạt động của Thuật toán đồng thuận Proof of Work
Bởi vì những quy tắc là khách quan, không thể có bất đồng hoặc sự can thiệp vào thông tin trên mạng Bitcoin. Bên cạnh đó, một khi một khối đã được thêm vào chuỗi khối, nó sẽ vô cùng khó để loại bỏ, làm cho quá khứ của Bitcoin trở nên bất biến và rất phức tạp.
Do đấy, tại tất cả thời điểm, những thành viên của mạng Bitcoin có thể đồng ý về trạng thái của blockchain và toàn bộ những 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 rằng những giao dịch có hợp lệ hay không dựa trên các yêu cầu khác.
Nếu như mà bất kỳ thành viên nào của mạng cố gắng hết sức phát đi thông tin sai lệch, toàn bộ những node trên mạng sẽ ngay tức thì, 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 toàn bộ thông tin trên chính mạng Bitcoin, vậy nên không cần phải tin tưởng quá nhiều vào những thành viên khác của mạng, việc này làm cho Bitcoin trở thành một hệ thống không đáng tin cậy (trustless).
Đặc biệt chú ý rằng thuật toán PoW không đảm bảo tuyệt đối khả năng chịu lỗi Byzantine, tuy nhiên thì 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 đáng tin cậy và an toàn nhất cho các mạng blockchain.
Trừ PoW thì hiện nay những thuật toán nổi tiếng nhất là Proof of Stake (PoS) và những biến thể của nó như dPoS (Delegated Proof of Stake), PoA (Proof of authority),….
Tìm hiểu thêm: Proof of Work là gì? Tầm quan trọng của PoW trong Blockchain
Tổng kết
Thế là mình đã cung cấp cho anh em những thông tin liên quan về Byzantine Fault Tolerance (BFT) và làm theo phương pháp nào để các Blockchain giải quyết được bài toán Byzantine. Nếu như anh em thấy bài viết này hay thì hãy chia sẻ cho những anh em khác cùng biết nhé!
Disclaimer: Tất cả những thông tin trên bài viết chỉ nhằm mục đích chia sẻ những trải nghiệm trên thị trường và không được coi là lời khuyên đầu tư. Đầu tư Crypto là một hình thức đầu tư mạo hiểm và chỉ nên tham gia với số vố có thể mất.