Khả năng chịu lỗi của Byzantine là gì và nó đảm bảo tính ổn định của chuỗi khối như thế nào?
Sự tin cậy và bảo mật là yếu tố sống còn đối với công nghệ chuỗi khối—và cơ chế đồng thuận chịu lỗi Byzantine (BFT) là cốt lõi cho sự an toàn của chuỗi khối.
BFT đảm bảo rằng các chuỗi khối tiếp tục hoạt động, ngay cả khi một số người tham gia mạng không đáng tin cậy hoặc độc hại. Vậy BFT là gì, nó hoạt động như thế nào và tại sao nó lại quan trọng đối với công nghệ chuỗi khối?
Mục Lục
Dung sai lỗi Byzantine là gì?
Khả năng chịu lỗi Byzantine đề cập đến khả năng mạng hoặc hệ thống tiếp tục hoạt động ngay cả khi một số thành phần bị lỗi hoặc hỏng hóc.
Với hệ thống BFT, các mạng chuỗi khối tiếp tục hoạt động hoặc thực hiện các hành động đã lên kế hoạch miễn là hầu hết những người tham gia mạng đều đáng tin cậy và chính hãng. Điều này có nghĩa là hơn một nửa hoặc hai phần ba số nút trên mạng chuỗi khối phải đồng ý xác thực giao dịch và thêm giao dịch đó vào khối.
Đối với các nút bị xâm nhập gây ác ý trên chuỗi khối chịu lỗi Byzantine, chúng phải chiếm đa số. Ác ý này có thể ở dạng chi tiêu gấp đôi, tấn công 51%, tấn công Sybil, v.v.
Khả năng chịu lỗi của Byzantine trong công nghệ chuỗi khối bắt nguồn từ vấn đề chung của Byzantine do Leslie Lamport, Marshall Pease và Robert Shostak tiên phong. Khái niệm này trở nên nổi bật khi họ xuất bản một bài báo, với một bản sao do Microsoft lưu trữ, có tên là ‘Vấn đề về các vị tướng Byzantine (PDF)’ vào năm 1982.
Lamport, Pease và Shostak đã mô tả trường hợp một nhóm tướng lĩnh của quân đội Byzantine cắm trại bên ngoài thành phố của kẻ thù. Mỗi vị tướng đều có quân đội riêng và cần liên lạc và đưa ra quyết định thống nhất về việc nên tấn công hay rút lui.
Vấn đề là tiến hành một hành động chung trong bối cảnh một số tướng lĩnh bị thỏa hiệp. Tình trạng khó xử này được gọi là lỗi Byzantine và khi một hệ thống giải quyết thành công vấn đề này, nó được cho là có khả năng chịu lỗi Byzantine.
Khái niệm chịu lỗi Byzantine sau đó đã được áp dụng cho mạng chuỗi khối tiền điện tử. Trong không gian tiền điện tử, các tướng là các nút xác thực các giao dịch tiền điện tử.
Dung sai lỗi Byzantine hoạt động như thế nào?
Các mạng phi tập trung thực hiện khả năng chịu lỗi Byzantine thông qua các quy tắc hoặc giao thức đồng thuận. Tất cả các nút trong mạng phải tuân thủ các giao thức hoặc thuật toán này nếu chúng muốn tham gia xác thực và xử lý các giao dịch.
Để một giao dịch được xác thực, xử lý và thêm vào một khối đang phát triển, hầu hết các nút phải đồng ý rằng giao dịch đó là xác thực thông qua thuật toán đồng thuận của mạng. Bitcoin, Ethereum và các chuỗi khối bằng chứng công việc (PoW) và bằng chứng cổ phần (PoS) khác sử dụng thuật toán BFT.
Trong thuật toán đồng thuận PoW, những người khai thác trên mạng giải các câu đố mật mã để xác thực và tạo ra các khối ghi lại các giao dịch. Người khai thác giải được các câu đố trước tiên sẽ giành được quyền thêm giao dịch vào khối đang phát triển và kiếm được phần thưởng khối. Nhưng người khai thác phải công bố bằng chứng rằng họ đã giải được câu đố để thêm khối.
Quá trình khai thác trong chuỗi khối PoW yêu cầu máy tính hoặc giàn khai thác đắt tiền. Chi phí cao này không khuyến khích những người khai thác chia sẻ thông tin sai lệch vì những người tham gia khác sẽ từ chối nó. Nó cũng làm giảm khả năng các tác nhân độc hại giành quyền kiểm soát hầu hết các nút trong hệ thống.
Trong khi đó, với cơ chế đồng thuận PoS, bạn phải đặt cọc một lượng tiền điện tử nhất định để có quyền xác thực giao dịch. Sau đó, nếu giao thức mạng chọn bạn, bạn có thể thêm giao dịch vào khối đang phát triển và kiếm phần thưởng khối.
Các hệ thống PoS giải quyết lỗi Byzantine bằng các phương pháp khác nhau. Chẳng hạn, Ethereum sử dụng thuật toán Casper, thuật toán này yêu cầu ít nhất 2/3 số nút đạt được sự đồng thuận về các khối. Cuối cùng, các hệ thống PoS cần hầu hết các nút thống nhất về các khối trước khi chúng có thể được thêm vào.
Các chuỗi khối này sử dụng thuật toán đồng thuận BFT để chống lại các nút thiểu số không đồng ý với sự đồng thuận. Bằng cách này, mạng chuỗi khối có thể tiếp tục với chức năng của nó, từ chối các giao dịch bị lỗi hoặc không trung thực.
Vai trò của khả năng chịu lỗi Byzantine trong công nghệ chuỗi khối
Công nghệ chuỗi khối dựa vào khả năng chịu lỗi của Byzantine vì những lý do sau:
- BFT giữ cho mạng blockchain hoạt động liên tục, ngay cả với một số nút không đồng ý.
- Nó giữ an toàn cho mạng, ngăn chặn ác ý có thể xảy ra dưới hình thức tấn công 51% (hoặc tấn công Sybil) hoặc chi tiêu gấp đôi.
Hạn chế của khả năng chịu lỗi Byzantine
Khả năng chịu lỗi của Byzantine đã mang lại lợi ích to lớn cho ngành công nghiệp blockchain. Tuy nhiên, hệ thống vẫn có vấn đề, đặc biệt là thuật toán đồng thuận chịu lỗi Byzantine thực tế (pBFT).
Khả năng chịu lỗi Byzantine thực tế là một hình thức tối ưu hóa của khả năng chịu lỗi Byzantine ban đầu. pBFT hoạt động thông qua một hệ thống không đồng bộ bao gồm nút dẫn chính và các nút dự phòng khác. Trong hệ thống này, các nút độc hại không thể nhiều hơn các nút trung thực, thường không đến một phần ba. Các nút luôn liên lạc với nhau để đảm bảo rằng hầu hết các nút (những nút trung thực) đồng ý về trạng thái của mạng.
Một số hạn chế của pBFT bao gồm:
- Giao tiếp cao: Để duy trì hoạt động, hệ thống yêu cầu giao tiếp cao giữa các nút. Quá trình này tốn thời gian và dẫn đến các vấn đề về khả năng mở rộng.
- Các vấn đề về khả năng mở rộng: pBFT gặp vấn đề với khả năng mở rộng, đặc biệt là với các mạng rất rộng.
- Bảo mật thấp: pBFT dễ bị tấn công Sybil, trong đó một nút trên mạng giả vờ là 51% các nút khác để thống trị mạng và gây ác ý.
Sáu nền tảng dựa trên chuỗi khối BFT phổ biến
Dưới đây là một số chuỗi khối tích hợp các cơ chế chịu lỗi của Byzantine.
1. Bitcoin
Bitcoin kết hợp khả năng chịu lỗi Byzantine vào mạng của nó thông qua giao thức đồng thuận bằng chứng công việc. Thuật toán đồng thuận PoW của chuỗi khối bắt buộc tất cả các nút trên chuỗi khối phải kiểm tra cấu trúc dữ liệu, kích thước khối, dấu thời gian khối, hàm băm tiêu đề khối và giao dịch đầu tiên trên mọi dữ liệu. Quá trình này, được gọi là băm dữ liệu, sử dụng sức mạnh tính toán.
2. Ethereum
Trước đây sử dụng PoW, chuỗi khối Ethereum đã chuyển sang hệ thống PoS để giải quyết các vấn đề Byzantine của nó. Trình xác thực mạng đóng góp mã thông báo Ether của họ và giao thức chọn trình xác thực trung thực để xử lý giao dịch, xác thực khối và bỏ phiếu cho người đứng đầu chuỗi. Giao thức này buộc những người đặt cược phải trung thực, khiến việc tấn công mạng trở nên cực kỳ tốn kém.
3. EOS
Chuỗi khối EOSIO đạt được sự đồng thuận thông qua lớp chịu lỗi byzantine không đồng bộ (aBFT) và lớp bằng chứng cổ phần (DPoS) được ủy quyền. Lớp aBFT xác nhận từng khối giao dịch cho đến khi nó là khối không thể đảo ngược (LIB) cuối cùng. Sau đó, lớp DPoS xác nhận LIB là khối cuối cùng, không thể đảo ngược.
4. Gợn sóng
Ripple không sử dụng cơ chế đồng thuận PoW hoặc PoS. Thay vào đó, nó sử dụng Giao thức đồng thuận sổ cái XRP, một cơ chế đồng thuận chịu lỗi của Byzantine. Chuỗi khối tiếp tục hoạt động bình thường nếu số người xác nhận không đáng tin cậy chiếm ít hơn 20% tổng số người xác nhận. Hệ thống này ngăn chặn chi tiêu gấp đôi và cải thiện tính toàn vẹn của chuỗi khối.
5. Kadena
Kadena sử dụng cơ chế đồng thuận ScalableBFT để xác nhận các khối. Chuỗi khối kết hợp hệ thống PoW của Bitcoin với việc thay đổi các cơ chế đồng thuận chuỗi khối song song phi tập trung, tiết kiệm năng lượng, có thể mở rộng và an toàn, đồng thời cung cấp đầu ra được cải thiện nhiều so với hệ thống của Bitcoin. Thiết lập này, được gọi là “Chainweb”, cho phép Kadena thực hiện tới 480.000 giao dịch mỗi giây (TPS) với 20 chuỗi chạy đồng thời.
6. Số đại biểu
Cơ chế đồng thuận cho hệ thống mật mã Quorum là cơ chế đồng thuận chịu lỗi Istanbul Byzantine (IBFT). QuorumChain ủy quyền bỏ phiếu cho một nhóm các nút (trình xác nhận); một nút được coi là người đề xuất để bắt đầu xác nhận khối trong khi các nút khác xác thực khối. Nếu hơn 1/3 số nút trong nhóm hoạt động không chính xác, khối sẽ không được chèn.
Tương lai của khả năng chịu lỗi Byzantine rất tươi sáng
Miễn là tiền điện tử và công nghệ chuỗi khối tiếp tục tồn tại, khả năng chịu lỗi của Byzantine và các cơ chế đồng thuận khác cũng vậy. Tuy nhiên, các cơ chế này có thể sẽ tiếp tục phát triển.
Ban đầu, Ethereum tích hợp BFT bằng PoW, nhưng Ethereum đã chuyển từ PoW sang PoS và cập nhật thuật toán BFT của nó. Tương tự như vậy, bạn sẽ tiếp tục thấy các hệ thống mới hơn và tốt hơn theo thời gian. Hãy nhớ rằng, không gian tiền điện tử không ngừng phát triển.