Byzantine Fault Tolerance (BFT) là gì? Tầm quan trọng của BFT

Byzantine Fault Tolerance (BFT) là một tính năng của hệ thống phân tán hoặc mạng P2P, cho phép hệ thống này chịu được hoạt động của các nút bị lỗi hoặc thực hiện các hành động gây hại cho mạng chung.
Byzantine Fault Tolerance (BFT) là gì? Tầm quan trọng của BFT
avata
Cryptoday
29/03/2023
13:27
Cryptoday trênGoogle News

Byzantine Fault Tolerance (BFT) là gì?

Vào năm 2008, với sự ra đời của Bitcoin, Satoshi Nakamoto tuyên bố sẽ giải quyết vấn đề byzantine bằng cơ chế đồng thuận bằng chứng công việc (PoW). Tuy nhiên, đó chỉ là bước đầu tiên để đạt được sự đồng thuận trong một mạng phi tập trung. 

Byzantine Fault Tolerance (Hệ thống chịu lỗi Byzantine - BFT) là khả năng tiếp tục hoạt động của hệ thống máy tính ngay cả khi một số nút bị lỗi hoặc hoạt động ác ý.

Byzantine Fault Tolerance (BFT) là gì? Thuật ngữ này xuất phát từ một giả thuyết có tên là Bài toán các vị tướng Byzantine. Mỗi vị tướng có một đội quân và một vị trí xung quanh pháo đài, và họ phải quyết định tấn công hay rút lui theo đội.

Nếu tất cả cùng đưa ra một quyết định, họ sẽ thành công. Nhưng, nếu có sự hiểu lầm hoặc phản bội khiến một số tướng tấn công trong khi những người khác rút lui, thì trận chiến sẽ thua. Những sự cố loại này được gọi là lỗi Byzantine.

Với bất kỳ hệ thống máy tính nào có nhiều nút, mỗi nút có thể được coi là một nút chung. Khả năng chịu lỗi Byzantine của hệ thống đề cập đến việc liệu hệ thống có thể tiếp tục hoạt động ngay cả khi một số nút bị hỏng hoặc cố tình đánh lừa nó hay không.

Bài toán các vị tướng Byzantine 

Bài toán các vị tướng Byzantine là một lý thuyết trò chơi logic được mô tả lần đầu tiên trong một bài báo học thuật xuất bản năm 1982 bởi các nhà khoa học máy tính Leslie Lamport, Robert Shostak và Marshall Pease.

Bài toán được minh họa bằng cách sử dụng một kịch bản thế giới cổ đại về một số vị tướng đang cố gắng chinh phục một thành phố của kẻ thù. Các tướng phải phối hợp hành động của họ nếu họ muốn thành công. Nếu một đội quân riêng lẻ hoặc một liên minh thiểu số của các đội quân tấn công thì khả năng bị đánh bại rất cao. Do đó, tất cả các tướng, hoặc ít nhất là đa số, phải đồng loạt tấn công. 

Tuy nhiên, một vài thách thức cản trở các tướng lập kế hoạch dành chiến thắng, đặc biệt là quyết định xem có nên tấn công hay không và khi nào nên tấn công sau khi quan sát kẻ thù. 

Đầu tiên, việc liên lạc giữa họ được thực hiện thông qua các sứ giả phải đi qua lãnh thổ của kẻ thù. Điều đó có nghĩa là các tin nhắn đã gửi có thể bị chặn và bị xâm phạm. 

Byzantine Fault Tolerance (BFT) là gì?

Thứ hai, một số tướng có thể trở thành kẻ phản bội. Điều đó có nghĩa là họ có thể chuyển thông điệp cho các tướng khác để đánh lạc hướng. Ví dụ: họ có thể tuyên bố rằng họ đồng ý tấn công vào một thời điểm cụ thể trong ngày trong khi thay vào đó họ dự định rút lui.

Giải pháp lý thuyết cho thử thách này là một thuật toán giúp các vị tướng trung thành đi đến quyết định lý tưởng cuối cùng bất chấp nguy cơ mất một số thông điệp và hoạt động của những kẻ phản bội.

Bất kể thuật toán hoạt động nào mà họ phát triển đều được coi là đã tạo ra dung sai lỗi Byzantine của liên minh. Trong bài báo, Leslie Lamport, Robert Shostak và Marshall Pease thừa nhận rằng rất khó để phát triển một thuật toán như vậy. 

Tuy nhiên, họ kết luận rằng một thuật toán giải quyết bài toán các vị tướng Byzantine phải bao gồm một cơ chế cho phép mỗi vị tướng gửi và nhận tin nhắn từ tất cả những người khác. Ngoài ra, cơ chế cần giúp mỗi vị tướng có thể kiểm đếm các câu trả lời mà họ nhận được từ những người khác.

Nếu ít hơn 1/3 số tướng không đáng tin cậy, thì quyết định được đưa ra bởi hầu hết các tướng thường sẽ trở thành cách thích hợp nhất để thực hiện.

BFT ảnh hưởng thế nào đến Blockchain?

Blockchain là các hệ thống phân tán trong đó các nút độc lập phải cộng tác với các nút khác. Một số nút thường có thể chọn hành động lừa đảo, đặc biệt là trong các kiến ​​trúc cho phép bất kỳ ai tham gia mạng.

Với Blockchain đầu tiên, chuỗi khối Bitcoin, Satoshi Nakamoto đã chọn sử dụng bằng chứng công việc  Proof of Work (PoW) để khắc phục bài toán của các vị tướng Byzantine. Giao thức này buộc các nút tiêu tốn năng lượng, giúp hệ thống hoạt động bình thường để chúng có thể thu lại khoản đầu tư vào phần thưởng. 

Các chuỗi khối khác sử dụng các giao thức đồng thuận khác với các ưu đãi khác. Ví dụ: Proof of Stake (PoS) yêu cầu các nút thể hiện thiện chí bằng cách mạo hiểm tiền của chính họ. 

Một số dự án đã chọn sử dụng phiên bản dung sai lỗi Byzantine do Leslie Lamport, Robert Shostak và Marshall Pease đề xuất trong bài báo năm 1982 của họ để khắc phục vấn đề chung của Byzantine trong các mạng ngang hàng chuỗi khối.

Tầm quan trọng của BFT

Các nhà phát triển chuỗi khối luôn tìm kiếm các kiến ​​trúc giúp công nghệ hoạt động hiệu quả nhất, đặc biệt là về thông lượng giao dịch và mức tiêu thụ năng lượng. 

Thật vậy, Byzantine Fault Tolerance (BFT) mang đến cơ hội xây dựng các hệ thống máy tính phân tán thậm chí còn tốt hơn.

Thuật toán đồng thuận được thảo luận nhiều nhất dựa trên BFT là cơ chế đồng thuận Hệ thống chịu lỗi Byzantine thực tế (pBFT).

Đây là một cơ chế đồng thuận trong đó các nút trên mạng ngang hàng về cơ bản bỏ phiếu cho một giao dịch hoặc trạng thái trước khi nó được thêm vào sổ cái chung.

Danh sách các chuỗi khối sử dụng một biến thể của pBFT bao gồm Solana, Stellar, Klaytn, Fantom và Okexchain.

Cách sử dụng các nút chính và nút phụ

Quá trình này có bốn bước cơ bản:

  • Nút phụ gửi đề xuất thay đổi trạng thái thành nút chính. 
  • Nút chính gửi đề xuất tới tất cả các nút phụ trên mạng.
  • Mỗi nút phụ thực hiện thay đổi và gửi phản hồi cho người đề xuất.
  • Người đề xuất kiểm tra các câu trả lời và quyết định đa số được xác định.

Lợi ích đối với pBFT 

Giao thức đồng thuận pBFT mang lại một số lợi ích, đặc biệt là so với các giao thức khác được sử dụng để khắc phục vấn đề chung của Byzantine. Chúng bao gồm:

  • Hiệu suất năng lượng: Các nút trên mạng sử dụng pBFT không bắt buộc phải tiêu thụ năng lượng để giúp duy trì trạng thái hoặc sổ cái dùng chung. Tất cả những gì họ có thể phải làm là đề xuất hoặc bỏ phiếu cho một thay đổi tiểu bang.
  • Giao dịch được phê duyệt nhanh chóng: Các hệ thống phân tán được xây dựng bằng BFT có thông lượng cao. Chúng có khả năng xử lý một số lượng lớn giao dịch mỗi giây (hơn 10.000 giao dịch). Ngược lại, cơ sở hạ tầng lớp một của chuỗi khối Bitcoin xử lý khoảng bảy và của Ethereum  thực hiện khoảng 15s.

Hạn chế đối với pBFT

Tuy nhiên, các giao thức đồng thuận BFT có những thách thức riêng, bao gồm: 

  • Rủi ro bảo mật: Do có ít tài nguyên bị đe dọa cho một nút, chẳng hạn như tiền xu hoặc chi tiêu năng lượng, mạng có thể dễ dàng bị tràn ngập bởi các nút xấu. Nếu hơn một phần ba số nút bị hỏng, toàn bộ hệ thống có thể bị xâm phạm.
  • Khả năng mở rộng: Các nút phải giao tiếp trong khi hình thành sự đồng thuận về các thay đổi trạng thái.  Càng nhiều nút tham gia vào giao tiếp, càng mất nhiều thời gian để hoàn tất giao dịch. Điều này gây khó khăn cho việc mở rộng quy mô.
logoMẠNG XÃ HỘI TIN TỨC BLOCKCHAIN, CÔNG NGHỆ, TÀI CHÍNH SỐĐịa chỉ: Tầng 6, Toà nhà ADG, 37 Lê Văn Thiêm, Thanh Xuân, Hà Nội - Điện thoại: 024 6687 6797 Chịu trách nhiệm nội dung: Nguyễn Minh

Giấy phép số: 497/GP - BTTTT, do Bộ Thông tin và Truyền thông cấp ngày 17/10/2022
© 2022 - Toàn bộ bản quyền thuộc về Cryptoday Việt Nam
Tải ứng dụng Cryptoday
downloaddownload