Kỹ thuật Blockchain: Byzantine Fault Tolerance là gì?

Kỹ thuật Blockchain: Byzantine Fault Tolerance là gì?

Byzantine Fault Tolerance là gì? Byzantine Fault Tolerance (hay Hệ thống chịu lỗi Byzantine – BFT), là hệ thống có thể giải quyết được vấn đề của bài toán các vị tướng quân Byzantine.

Việc xây dựng một hệ thống chịu lỗi Byzantine là một điều cần thiết, nhưng cũng cực kỳ khó khăn trong một hệ thống phân tán.

Năm 1999, 2 nhà khoa học máy tính Miguel Castro và Barbara Liskov giới thiệu thuậnt toán “Practical Byzantine Fault Tolerance” (PBFT) có thể quản lý các trạng thái Byzantine với một hiệu suất cao, có thể xử lý hàng nghìn requests một giây với độ trễ cực thấp.

Sau sự ra đời của PBFT, hàng loại các BFT protocols khác cũng được giới thiệu với nhiều sự cải tiến về mặt hiệu năng, và được ứng dụng rộng rãi hơn.

Byzantine Fault Tolerance hiện hữu trong những hệ thống engine của máy bay, tên lửa, nhà máy hạt nhân … những thứ cần phải đưa ra quyết định dựa vào thông tin nhận được từ rất nhiều các cảm biến khác nhau.

Byzantine Generals Problem & Blockchain & Consensus

Blockchain là một cuốn sổ cái được chia sẻ cho mọi thành viên trong một mạng lưới phi tập trung (decentralized). Ở đó, không hề có một bên thứ 3 được tin tưởng để quản lý sự vận hành của nó, mà tự các thành viên của hệ thống phải tương tác với nhau để đi đến một sự đồng thuận (consensus). Hay nói cách khác, một hệ thống Blockchain cần có cách để chịu lỗi Byzantine.

Khi Bitcoin, blockchain đầu tiên ra đời, cha đẻ của nó, Satoshi Nakamoto cũng đã giới thiệu một một phương pháp để giải quyết bài toán các vị tướng quân, được gọi dưới cái tên Proof-of-Work (PoW), hay “bằng chứng công việc”.

Satoshi Nakamoto cũng từng trực tiếp giải thích về cách Bitcoin dùng PoW để giải quyết bài toán các vị tướng Byzantine trong một email gửi đi ngày 14/11/2008, các bạn có thể xem qua tại đây

Kỹ thuật Blockchain: Byzantine Fault Tolerance là gì?

Cũng cần phải nhắc đến rằng, bài toán Byzantine trên mạng lưới Blockchain đã được đơn giản hơn, nhờ vào việc sử dụng chữ ký điện tử (Digital Signature). Với những đặc tính mà nó mang lại như:

  • Authentication (tính xác thực): chữ ký điện tử có thể dùng để xác thực xem ai là người đã gửi message. Chỉ có người quyền sở hữu với private key mới có thể tạo ra chữ ký điện tử cho một message.
  • Integrity (tính toàn vẹn): message không thể bị sửa đổi trong quá trình truyền đi. Nếu điều đó xảy ra, chữ ký điện tử sẽ trở nên không hợp lệ nữa.
  • Non-repudiation (không thể chối cãi): một message cùng chữ ký điện tử đã được gửi đi, thì người đã ký nó không thể phủ nhận việc mình đã tạo và ký message

Bên cạnh PoW, ngày nay các blockchain còn có sử dụng nhiều Consensus Protocol khác. Ví dụ như NEO dùng Delegated Byzantine Fault Tolerance, hay nền tảng Hyperledge Fabric của Linux Foundation dùng Practical Byzantine Fault Tolerance (PBFT), gần giống với giải pháp consensus mà Tendermint cung cấp.

Đặc biệt, nền tảng Blockchain lớn bậc nhất thế giới hiện nay, Ethereum cũng đã công bố kế hoạch chuyển từ Proof of Work sang Proof of Stake (PoS – Bằng chứng cổ phần) trong thời gian tới. PoS trên nền tảng Ethereum, với tên mã là Casper sẽ xuất hiện với phiên bản đầu tiên là Casper: Friendly Finality Gadget (Casper FFG), hay Vitalik Casper (do đây là phiên bản được thực hiện bởi nhóm nghiên cứu do Vitalik Buterin dẫn đầu). Đây sẽ là phiên bản Byzantine Fault Tolerance-style proof of stake, tức sẽ có những điểm giống với các thuật toán BFT truyền thống.

Binance