Kể từ khi Bitcoin được tạo ra vào năm 2008 dưới dạng hệ thống tiền điện tử ngang hàng, nhiều loại tiền điện tử khác đã được tạo ra, mỗi loại có một cơ chế cụ thể. Nhưng một yếu tố mà hầu hết tất cả các loại tiền điện tử đều liên quan đến là blockchain là thành phần chính trong kiến trúc của chúng.
Với một vài trường hợp ngoại lệ, blockchain được thiết kế nhằm mục đích phi tập trung hóa, hoạt động như một sổ cái kỹ thuật số được duy trì bởi một mạng lưới các nút máy tính phân tán. Vì lý do này, công nghệ blockchain đã giúp tạo ra các hệ thống kinh tế đáng tin cậy, trong đó các giao dịch tài chính minh bạch và đáng tin cậy có thể được thực hiện mà không cần qua trung gian. Tiền điện tử được coi là một giải pháp thay thế khả thi cho các hệ thống thanh toán và ngân hàng truyền thống vốn phụ thuộc nhiều vào niềm tin.
Giống như hầu hết các hệ thống điện toán phân tán, những người tham gia mạng tiền điện tử cần phải thường xuyên đồng ý về trạng thái hiện tại của chuỗi khối và đây là điều mà chúng tôi gọi là đạt được sự đồng thuận. Tuy nhiên, việc đạt được sự đồng thuận trên mạng phân tán một cách an toàn và đáng tin cậy không phải là một nhiệm vụ dễ dàng.
Vậy làm thế nào để một mạng lưới phân tán gồm các nút máy tính đồng ý với một quyết định, điều gì sẽ xảy ra nếu một số nút về mặt lý thuyết bị lỗi hoặc hành động không trung thực? Đây là một câu hỏi cơ bản về vấn đề của cái gọi là tướng lĩnh Byzantine, điều này đã làm nảy sinh khái niệm về sự khoan dung của người Byzantine.
Vấn đề của các tướng Byzantine là gì?
Nói một cách ngắn gọn, Bài toán các vị tướng Byzantine được đặt ra vào năm 1982 như một tình huống khó xử logic minh họa cách một nhóm các vị tướng Byzantine có thể gặp vấn đề về giao tiếp khi cố gắng thống nhất bước tiếp theo.
Tình thế tiến thoái lưỡng nan liên quan đến việc mỗi vị tướng có quân đội riêng của mình và mỗi nhóm ở một địa điểm khác nhau xung quanh thành phố, có ý định tấn công thành phố. Các tướng cần phải đồng ý tấn công hoặc rút lui. Việc họ tấn công hay rút lui không quan trọng miễn là tất cả các tướng đạt được sự đồng thuận, tức là. đưa ra quyết định chung để thực hiện nó một cách nhất quán.
Vì vậy, chúng ta có thể xem xét các mục tiêu sau:
Mỗi tướng phải quyết định: tấn công hay rút lui (có hoặc không);
Một khi đã đưa ra quyết định thì không thể thay đổi được;
Các tướng phải thống nhất, ra quyết định chung và thực hiện đồng bộ.
Những vấn đề liên lạc trên xuất phát từ việc một vị tướng chỉ có thể liên lạc với người khác thông qua tin nhắn được gửi bằng chuyển phát nhanh. Do đó, vấn đề chính với các tướng Byzantine là các tin nhắn bằng cách nào đó có thể bị trì hoãn, bị thất lạc hoặc bị phá hủy.
Ngoài ra, ngay cả khi tin nhắn được gửi thành công, một hoặc nhiều tướng có thể hành động ác ý (vì bất kỳ lý do gì) và gửi tin nhắn lừa đảo nhằm gây nhầm lẫn cho các tướng khác, dẫn đến thất bại chung.
Nếu vấn đề nan giải này được áp dụng cho bối cảnh blockchain thì mỗi vị trí chung đại diện cho một nút mạng và các nút này cần đạt được sự đồng thuận về trạng thái hiện tại của hệ thống. Nói cách khác, đa số người tham gia mạng phân tán phải đồng ý và thực hiện cùng một hành động để tránh thất bại hoàn toàn.
Do đó, cách duy nhất để đạt được sự đồng thuận trong các loại hệ thống phân tán này là phải có ít nhất ⅔ nút mạng trung thực và đáng tin cậy hơn. Điều này có nghĩa là nếu một phần lớn mạng quyết định hành động độc hại thì hệ thống sẽ dễ bị lỗi và bị tấn công khác nhau (ví dụ: tấn công 51%).
Dung sai lỗi Byzantine (BFT)
Nói một cách ngắn gọn, Dung sai lỗi Byzantine (BFT) là một thuộc tính của một hệ thống có khả năng chịu đựng được một loại lỗi phát sinh do các Sự cố chung của Byzantine. Điều này có nghĩa là hệ thống BFT có thể tiếp tục hoạt động ngay cả khi một số nút ngừng hoạt động hoặc hoạt động độc hại.
Có nhiều giải pháp khả thi cho vấn đề Tướng quân Byzantine và do đó có một số cách để xây dựng hệ thống BFT. Tương tự như vậy, có nhiều cách tiếp cận khác nhau đối với blockchain để đạt được khả năng chịu lỗi Byzantine và điều này đưa chúng ta đến cái gọi là thuật toán đồng thuận.
Thuật toán đồng thuận Blockchain
Chúng ta có thể định nghĩa thuật toán đồng thuận là cơ chế mà mạng blockchain đạt được sự đồng thuận. Phổ biến nhất là Bằng chứng công việc (PoW) và Bằng chứng cổ phần (PoS). Nhưng chúng ta sẽ xem Bitcoin làm ví dụ.
Trong khi giao thức Bitcoin quy định các quy tắc cơ bản của hệ thống, thuật toán đồng thuận PoW xác định cách tuân thủ các quy tắc này để đạt được sự đồng thuận (ví dụ: trong quá trình xác minh và xác nhận giao dịch).
Mặc dù khái niệm Proof of Work có từ lâu đời hơn chính tiền điện tử nhưng Satoshi Nakamoto đã phát triển một phiên bản sửa đổi như một thuật toán cho phép tạo ra Bitcoin dưới dạng hệ thống BFT.
Xin lưu ý rằng thuật toán PoW không thể chấp nhận 100% các lỗi Byzantine, nhưng do quá trình khai thác tốn kém và các kỹ thuật mã hóa cơ bản, PoW đã được chứng minh là một trong những thuật toán an toàn và đáng tin cậy nhất trên blockchain. Theo nghĩa này, thuật toán đồng thuận Proof of Work do Satoshi Nakamoto phát triển được nhiều người coi là một trong những giải pháp khéo léo nhất cho các lỗi Byzantine.
Phần kết luận
Bài toán các vị tướng Byzantine là một vấn đề nan giải hấp dẫn mà cuối cùng đã tạo ra các hệ thống BPT được sử dụng rộng rãi trong nhiều hệ thống khác nhau. Ngoài ngành công nghiệp blockchain, một số trường hợp sử dụng hệ thống BFT bao gồm hàng không, vũ trụ và năng lượng hạt nhân.
Trong bối cảnh tiền điện tử, giao tiếp mạng hiệu quả cùng với cơ chế đồng thuận tốt là điều quan trọng đối với bất kỳ hệ sinh thái blockchain nào. Đảm bảo tính bảo mật của các hệ thống này là một nỗ lực không ngừng và các thuật toán đồng thuận hiện tại vẫn còn một số rào cản cần vượt qua (chẳng hạn như khả năng mở rộng). Tuy nhiên, PoW và PoS là những cách tiếp cận rất thú vị đối với BFT và chắc chắn khuyến khích các ứng dụng có tiềm năng quan tâm áp dụng các công nghệ đổi mới rộng rãi.

