PBFT là gì?

PBFT là gì?

PBFT là một thuật toán đồng thuận được sử dụng trong các hệ thống phân tán để đạt được thỏa thuận về một giá trị dữ liệu duy nhất khi có các nút bị lỗi. PBFT đã được sử dụng rộng rãi trong các hệ thống sổ cái phân tán và các mạng blockchain khác nhau, đồng thời được biết đến với hiệu suất cao và đảm bảo an ninh. Đây cũng là một thuật toán xây dựng sự đồng thuận thường được sử dụng trong các blockchain kiểu tập đoàn (hệ thống blockchain chỉ được sử dụng trong một số tổ chức) .

PBFT là gì?

Hệ-thống-chịu-lỗi-Byzantine

Hệ thống chịu lỗi Byzantine

PBFT (Hệ thống chịu lỗi Byzantine thực tế) là một thuật toán được thiết kế để đảm bảo hoạt động an toàn và đáng tin cậy của các hệ thống phân tán. Nó dựa trên khái niệm về khả năng chịu lỗi Byzantine, trong đó nêu rõ rằng một hệ thống có thể duy trì hoạt động ngay cả khi một số thành phần bị lỗi hoặc hoạt động ác ý. PBFT được sử dụng trong nhiều hệ thống phân tán, chẳng hạn như blockchain, để đảm bảo rằng các giao dịch được xử lý an toàn và đáng tin cậy.

PBFT cung cấp một cơ chế đồng thuận cho các hệ thống phân tán bằng cách cho phép các nút đồng ý về một chế độ xem duy nhất về trạng thái của hệ thống. Điều này có nghĩa là tất cả các nút đều có cùng chế độ xem về trạng thái của hệ thống tại bất kỳ thời điểm nào, giúp ngăn chặn chi tiêu gấp đôi và các hoạt động độc hại khác. Ngoài ra, pBFT có thể giúp giảm độ trễ trong các hệ thống phân tán bằng cách cho phép các giao dịch được xác thực nhanh chóng.

Luồng PBFT

Hệ-thống-PBFT

Hệ thống chịu lỗi PBFT (Nguồn: Springer Link)

Luồng PBFT cụ thể như sau.

  1. Một trong các nút xác thực (Xác thực ngang hàng) được chỉ định làm nút chính và chỉ nút này được nhận những giao dịch từ các nút phụ (Ngang hàng không xác thực).
  2. Nút chính chuyển tiếp giao dịch đến các nút phê duyệt khác.
  3. Các nút phê duyệt phụ, sau khi xác nhận rằng giao dịch được chuyển từ nút chính không bị giả mạo sẽ thông báo kết quả cho các nút phê duyệt khác.
  4. Khi mỗi nút phê duyệt nhận được kết quả “giao dịch không bị giả mạo” từ một số nút nhất định, nó sẽ đánh giá rằng “giao dịch đã được gửi chính xác cho mọi người” và phân phối thông tin đó cho các nút phê duyệt khác.
  5. Mỗi nút phê duyệt sẽ xử lý giao dịch khi nhận được kết quả rằng “giao dịch đã được gửi đến mọi người một cách chính xác” từ một số nút nhất định.
  6. Phản ánh kết quả thực hiện vào sổ cái và sau khi sổ cái đã được cập nhật, nó sẽ được gửi đến các nút bị từ chối. 
  7. Nút không phê duyệt coi giao dịch là “đã hoàn thành” khi nó nhận được quá trình cập nhật sổ cái từ một số nút nhất định.

Ở đây, có một số yêu cầu nhất định về số lượng nút tham gia. Đầu tiên, xác định số nút chịu lỗi f. Sau khi xác định f này, yêu cầu tổng số nút phải là 3f+1 trở lên. Thuật toán PBFT chỉ được thiết lập khi điều này được thỏa mãn. Biện pháp này được áp dụng bởi vì nếu hệ thống cố gắng đảm bảo rằng tất cả các nút sẽ luôn hoạt động chính xác thì nó sẽ không chịu được lỗi.

Nó tương tự như các thuật toán PoW và PoS ở chỗ các giao dịch được xác minh bởi nhiều nút. Mặt khác, nó khác ở chỗ không có nút dẫn đầu hoặc khuyến khích kiểm tra giả mạo. Những khác biệt này trở thành đặc điểm của PBFT và ảnh hưởng đến nó như một lợi thế hoặc bất lợi.

Ưu điểm của PBFT

Ưu điểm đầu tiên của việc sử dụng PBFT là có thể đạt được tính chính xác (thời gian hoàn thành thanh toán rõ ràng). PBFT không cần bất kỳ sức mạnh băm nào để thêm các khối mới vào chuỗi khối cơ bản, trái ngược với các quy trình PoW hoặc PoS. Kết quả là thuật toán trở nên tiết kiệm năng lượng hơn đáng kể và cuối cùng có thể tránh được các vấn đề tập trung hóa mà PoW (nhóm khai thác) và PoS (những người nắm giữ cổ phần lớn giảm khối lượng giao dịch) mắc phải.

Blockchain sử dụng PBFT có thể được coi là hấp dẫn và giúp tối ưu hóa  trong các lĩnh vực mà tốc độ xử lý là cực kỳ quan trọng, chẳng hạn như các tổ chức tài chính.

Một ưu thế của PBFT là có thể xử lý một lượng giao dịch lớn trong một khoảng thời gian ngắn. Hệ thống này không yêu cầu xử lý tính toán (khai thác) như yêu cầu của PoW. Do đó nó có thể xử lý xác thực với tốc độ tương đối cao. Theo thông cáo báo chí của IBM , có thể thực hiện hơn 1.000 giao dịch mỗi giây, gần bằng với 1.388 giao dịch mỗi giây của hệ thống Zengin.

Nhược điểm của PBFT

Mặt khác, hệ thống chịu lỗi này cũng có một số nhược điểm. Trước hết, vì số lượng nút tham gia và nút dẫn đầu về cơ bản là cố định nên không thể hình thành sự đồng thuận mà không thông qua một quản trị viên cụ thể. Nói cách khác, PBFT về cơ bản chỉ có thể được sử dụng trong các loại hình tư nhân và tập đoàn. 

Ngoài ra, khi số lượng nút tham gia tăng lên, số lượng giao dịch sẽ tăng theo phương trình bậc hai. Do đó, số lượng nút tham gia không thể quá lớn. Vì vậy hệ thống này không thể áp dụng cho các blockchain công khai.

Kết luận

PBFT khác với các thuật toán xây dựng sự đồng thuận sáng tạo như PoW và PoS, nhưng có thể nói rằng đó là một thuật toán thích ứng tốt với hệ thống blockchain kiểu tập đoàn. PBFT được kỳ vọng sẽ đóng vai trò tích cực trong lĩnh vực doanh nghiệp, bao gồm cả lĩnh vực tài chính.

BlockchainWork biên dịch

Nguồn Gaiax

>> Có thể bạn quan tâm:

Nhân vật Adam Back – CEO của Blockstream

Vương Thảo 17/04/2024

Adam Back là một nhà khoa học máy tính và chuyên gia về mật mã số học người Anh. Ông nổi tiếng với những đóng góp quan trọng trong lĩnh vực mật mã và công nghệ blockchain. Ông…

Nhân vật Roger Ver – Nhà sáng lập Bitcoin.com

Vương Thảo 17/04/2024

Roger Ver, thường được biết đến với biệt danh “Bitcoin Jesus”, là một trong những nhà đầu tư ban đầu vào Bitcoin và các doanh nghiệp liên quan đến Bitcoin. Ông đã từng quảng bá mạnh mẽ cho…

Việc làm blockchain - web3

[HN - Fulltime] Business Development Blockchain

Hạn ứng tuyển 30/05/2024
Mức lương: Thỏa thuận

[Hà Nội - Fulltime] Host Tik Tok

Hạn ứng tuyển 30/05/2024
Mức lương: 10 - 15 triệu đồng

[HCM- Fulltime] Mobile Engineer (Senior)

Hạn ứng tuyển 30/05/2024
Mức lương: Thỏa thuận

[Hà Nội - Fulltime] Business Development

Hạn ứng tuyển 30/05/2024
Mức lương: 650 - 1000 USD

[HN - Fulltime] Business Development

Hạn ứng tuyển 30/05/2024
Mức lương: 10 - 20 triệu đồng

[HCM - Fulltime] Umbala Labs_Tech Talent Acquisition Specialist

Hạn ứng tuyển 30/05/2024
Mức lương: Thỏa thuận

[Hà Nội - Fulltime] Graphic Design

Hạn ứng tuyển 30/05/2024
Mức lương: 15 - 17 triệu đồng

[Hà Nội - Fulltime] Content Writer Tại Công Ty Công Nghệ Blockchain Nami Innovation

Hạn ứng tuyển 30/05/2024
Mức lương: 8 - 12 triệu đồng

[HN - Fulltime] Social Growth Specialist

Hạn ứng tuyển 30/05/2024
Mức lương: 600 - 700 USD

[HCM- Fulltime] Backend Engineer (Senior)

Hạn ứng tuyển 30/05/2024
Mức lương: Thỏa thuận

[HCM- Fulltime] Smart Contract (Senior)

Hạn ứng tuyển 30/05/2024
Mức lương: Thỏa thuận

[REMOTE - Fulltime] MARKETING MANAGER

Hạn ứng tuyển 30/05/2024
Mức lương: 20 - 30 triệu đồng

[HCM- Fulltime] UX/UI Designer (Senior)

Hạn ứng tuyển 30/05/2024
Mức lương: Thỏa thuận

[Hà Nội - Fulltime] Blockchain Marketing Executive

Hạn ứng tuyển 30/05/2024
Mức lương: 15 - 20 triệu đồng

[Hà Nội - Fulltime] Community Manager (Fresher/Junior)

Hạn ứng tuyển 30/05/2024
Mức lương: 8 - 15 triệu đồng

[Hà Nội] Thực Tập Sinh Javascript / Javascript Intern

Hạn ứng tuyển 08/05/2024
Mức lương: Thỏa thuận

[Hà Nội] Thực Tập Sinh Lập Trình Viên PHP/ PHP Intern

Hạn ứng tuyển 08/05/2024
Mức lương: Thỏa thuận

[Hà Nội - Fulltime] Tester/QC (Junior/Senior-6 Months Contract) Upto 1500

Hạn ứng tuyển 30/05/2024
Mức lương: Thỏa thuận

[HCM - Parttime] Cộng Tác Viên Sales Thị Trường

Hạn ứng tuyển 30/05/2024
Mức lương: 2 - 12 triệu đồng

[Hà Nội - Fulltime] Blockchain Marketing Executive

Hạn ứng tuyển 30/05/2024
Mức lương: 13 - 17 triệu đồng