pBFT là gì? Khả năng chịu lỗi Byzantine thực tế (Practical Byzantine Fault Tolerance)

pBFT là gì? Khả năng chịu lỗi Byzantine thực tế (Practical Byzantine Fault Tolerance)

Mô hình khả năng chịu lỗi Byzantine thực tế pBFT (Practical Byzantine Fault Tolerance) chủ yếu tập trung vào việc cung cấp một bản sao máy trạng thái Byzantine thực tế chịu được lỗi Byzantine (các nút độc hại) thông qua giả định rằng có các lỗi nút độc lập và các thông báo bị thao túng được truyền bởi các nút cụ thể, độc lập.

Byzantine Fault Tolerance (BFT) là một khái niệm được nghiên cứu kỹ lưỡng trong các hệ thống phân tán và sự tích hợp của nó vào các hệ thống và nền tảng thế giới thực vẫn là một thành phần cơ sở hạ tầng quan trọng của tiền điện tử ngày nay.

Các mô hình đồng thuận là một thành phần chính của các hệ thống blockchain phân tán và chắc chắn là một trong những mô hình quan trọng nhất đối với chức năng của chúng. Họ là xương sống để người dùng có thể tương tác với nhau theo cách không tin cậy và việc triển khai chính xác của họ vào các nền tảng tiền điện tử đã tạo ra một loạt các mạng mới với tiềm năng phi thường.

Trong ngữ cảnh của các hệ thống phân tán, Byzantine Fault Tolerance là khả năng của mạng máy tính phân tán hoạt động như mong muốn và đạt được sự đồng thuận đầy đủ một cách chính xác bất chấp các thành phần độc hại (node) của hệ thống bị lỗi hoặc truyền thông tin không chính xác đến các đồng nghiệp khác.

Mục tiêu là để bảo vệ khỏi những lỗi hệ thống nghiêm trọng bằng cách giảm thiểu ảnh hưởng mà các nút độc hại này có đối với chức năng chính xác của mạng và sự đồng thuận phù hợp mà các nút trung thực trong hệ thống đạt được.

Bắt nguồn từ Bài toán của các vị tướng Byzantine, tình huống khó xử này đã được nghiên cứu sâu rộng và tối ưu hóa với một loạt các giải pháp đa dạng trong thực tế và đang được tích cực phát triển.

Hình ảnh minh họa Sự cố của các vị tướng Byzantine
Hình ảnh minh họa Sự cố của các vị tướng Byzantine. Ảnh: Debraj Ghosh

Khả năng chịu lỗi Byzantine thực tế (pBFT – Practical Byzantine Fault Tolerance) là một trong những cách tối ưu hóa này và được giới thiệu bởi Miguel Castro và Barbara Liskov trong một bài báo học thuật vào năm 1999 có tiêu đề “Practical Byzantine Fault Tolerance – Khả năng chịu lỗi Byzantine thực tế”.

Nó nhằm mục đích cải thiện các cơ chế đồng thuận BFT ban đầu và đã được triển khai và nâng cao trong một số hệ thống máy tính phân tán hiện đại, bao gồm một số nền tảng blockchain phổ biến.

Tổng quan về khả năng chịu lỗi Byzantine thực tế (Practical Byzantine Fault Tolerance)

Mô hình khả năng chịu lỗi Byzantine thực tế pBFT (Practical Byzantine Fault Tolerance) chủ yếu tập trung vào việc cung cấp một bản sao máy trạng thái Byzantine thực tế chịu được lỗi Byzantine (các nút độc hại) thông qua giả định rằng có các lỗi nút độc lập và các thông báo bị thao túng được truyền bởi các nút cụ thể, độc lập.

  Satoshi Nakamoto rời cộng đồng Bitcoin với thông điệp cuối cùng này 11 năm trước

Thuật toán được thiết kế để hoạt động trong các hệ thống không đồng bộ và được tối ưu hóa để có hiệu suất cao với thời gian chạy chi phí ấn tượng và độ trễ chỉ tăng một chút.

  • Về cơ bản, tất cả các nút trong mô hình pBFT (Practical Byzantine Fault Tolerance) được sắp xếp theo thứ tự với một nút là nút chính (đầu tàu) và các nút khác được gọi là nút dự phòng.
  • Tất cả các nút trong hệ thống giao tiếp với nhau và mục tiêu là để tất cả các nút trung thực đi đến thống nhất về trạng thái của hệ thống thông qua đa số.
  • Các nút giao tiếp với nhau rất nhiều và không chỉ phải chứng minh rằng thông báo đến từ một nút ngang hàng cụ thể, mà còn cần xác minh rằng thông báo đó không bị sửa đổi trong quá trình truyền.
Hình ảnh minh họa Khả năng chịu lỗi Byzantine thực tế pBFT
Hình ảnh minh họa Khả năng chịu lỗi Byzantine thực tế pBFT. Ảnh: Altoros

Để mô hình pBFT (Practical Byzantine Fault Tolerance) hoạt động, giả định là số lượng các nút độc hại trong mạng không thể đồng thời bằng hoặc vượt quá ⅓ tổng số các nút trong hệ thống trong một cửa sổ lỗ hổng nhất định.

Càng nhiều nút trong hệ thống, thì về mặt toán học càng khó có khả năng một số gần ⅓ trong tổng số các nút là độc hại. Thuật toán cung cấp hiệu quả cả tính sống và an toàn miễn là tối đa (n-1) / ⅓), trong đó n đại diện cho tổng số nút, là độc hại hoặc bị lỗi cùng một lúc.

Kết quả sau đó là cuối cùng, các câu trả lời mà khách hàng nhận được từ yêu cầu của họ là chính xác do tính tuyến tính.

Mỗi vòng đồng thuận pBFT (được gọi là lượt xem) có 4 giai đoạn. Mô hình này theo định dạng “Chỉ huy và Trung úy” hơn là Bài toán về các vị tướng Byzantine thuần túy, trong đó tất cả các tướng đều bình đẳng, do sự hiện diện của một nút lãnh đạo. Các giai đoạn dưới đây.

  • Một máy khách gửi một yêu cầu đến nút lãnh đạo để gọi một hoạt động dịch vụ.
  • Nút dẫn đầu phát đa hướng yêu cầu tới các nút dự phòng.
  • Các nút thực hiện yêu cầu và sau đó gửi trả lời cho máy khách.
  • Máy khách đang chờ f + 1 (f đại diện cho số lượng nút tối đa có thể bị lỗi) trả lời từ các nút khác nhau với cùng một kết quả. Kết quả này là kết quả của hoạt động.

Yêu cầu đối với các nút là chúng có tính xác định và bắt đầu ở cùng một trạng thái. Kết quả cuối cùng là tất cả các nút trung thực đi đến thỏa thuận về thứ tự của bản ghi và họ chấp nhận hoặc từ chối nó.

Nút lãnh đạo được thay đổi theo định dạng kiểu round robin trong mọi lần xem và thậm chí có thể được thay thế bằng một giao thức được gọi là thay đổi chế độ xem nếu một khoảng thời gian cụ thể đã trôi qua mà nút lãnh đạo phát đa hướng yêu cầu.

Một phần lớn các nút trung thực cũng có thể quyết định xem liệu một nút dẫn đầu có bị lỗi hay không và loại bỏ chúng với nút dẫn đầu tiếp theo để thay thế.

  BFT là gì? Hệ thống chịu lỗi Byzantine Fault Tolerance

Ưu điểm và Mối quan tâm với Mô hình pBFT (Practical Byzantine Fault Tolerance)

Mô hình đồng thuận pBFT được thiết kế cho các ứng dụng thực tế và những thiếu sót cụ thể của nó được đề cập trong tài liệu học thuật gốc cùng với một số tối ưu hóa chính để triển khai thuật toán vào các hệ thống trong thế giới thực.

Ngược lại, mô hình pBFT (Practical Byzantine Fault Tolerance) cung cấp một số lợi thế đáng kể so với các mô hình đồng thuận khác.

Các lợi ích của mô hình pBFT
Các lợi ích của mô hình pBFT. Ảnh: Zilliqa

Một trong những ưu điểm chính của mô hình pBFT (Practical Byzantine Fault Tolerance) là khả năng cung cấp tính hoàn thiện của giao dịch mà không cần xác nhận như trong các mô hình Bằng chứng công việc (Proof-of-Work) như mô hình mà Bitcoin sử dụng.

Nếu một khối đề xuất được các nút trong hệ thống pBFT đồng ý, thì khối đó là khối cuối cùng. Điều này được kích hoạt bởi thực tế là tất cả các nút trung thực đang đồng ý về trạng thái của hệ thống tại thời điểm cụ thể đó là kết quả của giao tiếp giữa chúng với nhau.

Một ưu điểm quan trọng khác của mô hình pBFT so với các hệ thống PoW là việc sử dụng năng lượng giảm đáng kể.

Trong mô hình Proof-of-Work chẳng hạn như trong Bitcoin, một vòng PoW là bắt buộc đối với mỗi khối. Điều này đã dẫn đến việc tiêu thụ điện của mạng Bitcoin bởi các thợ mỏ cạnh tranh với các quốc gia nhỏ hàng năm.

Với việc pBFT (Practical Byzantine Fault Tolerance) không chuyên sâu về mặt tính toán, việc giảm đáng kể năng lượng điện là không thể tránh khỏi vì các thợ đào không giải được thuật toán băm chuyên sâu về tính toán PoW cho mọi khối.

Mặc dù có những ưu điểm rõ ràng và đầy hứa hẹn, nhưng có một số hạn chế chính đối với cơ chế đồng thuận pBFT. Cụ thể, mô hình chỉ hoạt động tốt ở dạng cổ điển với quy mô nhóm đồng thuận nhỏ do lượng giao tiếp cồng kềnh được yêu cầu giữa các nút.

Bài báo đề cập đến việc sử dụng chữ ký điện tử (digital signatures) và MAC (Method Authentication Codes – Mã xác thực phương pháp) làm định dạng xác thực thông điệp, tuy nhiên việc sử dụng MAC cực kỳ kém hiệu quả với lượng giao tiếp cần thiết giữa các nút trong các nhóm đồng thuận lớn như mạng tiền điện tử và với MAC, có cố hữu không có khả năng chứng minh tính xác thực của tin nhắn cho bên thứ ba.

Mặc dù chữ ký số và multisigs cung cấp một cải tiến lớn so với MAC, việc khắc phục hạn chế giao tiếp của mô hình pBFT đồng thời duy trì bảo mật là bước phát triển quan trọng nhất cần thiết cho bất kỳ hệ thống nào muốn triển khai nó một cách hiệu quả.

Mô hình pBFT (Practical Byzantine Fault Tolerance) cũng dễ bị tấn công đồng bộ trong đó một bên có thể tạo hoặc thao túng một số lượng lớn danh tính (các nút trong mạng), do đó làm ảnh hưởng đến mạng.

Điều này được giảm thiểu so với kích thước mạng lớn hơn, nhưng khả năng mở rộng và khả năng thông lượng cao của mô hình pBFT (Practical Byzantine Fault Tolerance) bị giảm với kích thước lớn hơn và do đó cần được tối ưu hóa hoặc sử dụng kết hợp với cơ chế đồng thuận khác.

  Do Kwon tuyên bố không có UST hoặc LUNA nào được bán trong thời gian khủng hoảng

Một số Nền tảng triển khai các phiên bản được tối ưu hóa của pBFT

Ngày nay, có một số nền tảng blockchain sử dụng các phiên bản được tối ưu hóa hoặc kết hợp của thuật toán pBFT (Practical Byzantine Fault Tolerance) làm mô hình đồng thuận của họ hoặc ít nhất là một phần của nó, kết hợp với một cơ chế đồng thuận khác.

Zilliqa

Zilliqa sử dụng phiên bản pBFT cổ điển được tối ưu hóa cao kết hợp với vòng đồng thuận PoW sau mỗi ~ 100 khối (block). Họ sử dụng đa cấu trúc để giảm chi phí giao tiếp của pBFT cổ điển và trong môi trường thử nghiệm của riêng họ, họ đã đạt đến TPS vài nghìn với hy vọng mở rộng quy mô lên nhiều hơn nữa khi có nhiều nút hơn được thêm vào.

Nền tảng blockchain Zilliqa sử dụng pBFT
Nền tảng blockchain Zilliqa sử dụng pBFT

Đây cũng là kết quả trực tiếp của việc họ triển khai pBFT (Practical Byzantine Fault Tolerance) trong kiến ​​trúc sharding để các nhóm đồng thuận pBFT vẫn nhỏ hơn trong các phân đoạn cụ thể, do đó vẫn giữ được bản chất thông lượng cao của cơ chế trong khi hạn chế quy mô nhóm đồng thuận.

Hyperledger

Hyperledger Fabric là một môi trường cộng tác mã nguồn mở cho các dự án và công nghệ blockchain được tổ chức bởi Linux Foundation và sử dụng phiên bản được phép của thuật toán pBFT cho nền tảng của nó.

Nền tảng blockchain Hyperledger sử dụng pBFT
Nền tảng blockchain Hyperledger sử dụng pBFT

Vì các chuỗi được cấp phép sử dụng các nhóm đồng thuận nhỏ và không cần đạt được sự phân cấp của các chuỗi khối mở và công khai như Ethereum, pBFT là một giao thức đồng thuận hiệu quả để cung cấp các giao dịch thông lượng cao mà không cần phải lo lắng về việc tối ưu hóa nền tảng để mở rộng quy mô đến các nhóm đồng thuận lớn .

Ngoài ra, các blockchains được cấp phép là riêng tư và được mời với danh tính đã biết, do đó, sự tin tưởng giữa các bên đã tồn tại, giảm thiểu nhu cầu vốn có về một môi trường không tin cậy vì nó được cho là ít hơn ⅓ các bên đã biết sẽ cố ý xâm phạm hệ thống.

Sự kết luận về Practical Byzantine Fault Tolerance

Khả năng chịu lỗi Byzantine (BFT) là một khái niệm được nghiên cứu kỹ lưỡng trong các hệ thống phân tán và việc tích hợp nó thông qua thuật toán Khả năng chịu lỗi Byzantine thực tế (pBFT) vào các hệ thống và nền tảng trong thế giới thực, cho dù thông qua phiên bản được tối ưu hóa hay dạng kết hợp, vẫn là một thành phần cơ sở hạ tầng quan trọng của tiền điện tử ngày nay.

Khi các nền tảng tiếp tục phát triển và đổi mới trong lĩnh vực mô hình đồng thuận cho các hệ thống blockchain công khai quy mô lớn, việc cung cấp các cơ chế Byzantine Fault Tolerance nâng cao sẽ rất quan trọng để duy trì tính toàn vẹn của các hệ thống khác nhau và bản chất không tin cậy của chúng.

Theo: blockonomi

Khuyến cáo: Thông tin trên bài viết này chỉ mang tính tham khảo, không có bất kỳ lời khuyên nào về mua bán, đầu tư. Bạn hãy tự nghiên cứu trước khi thực hiện bất kỳ hình thức đầu tư nào.

Nội dung đề xuất