Kể từ khi Bitcoin ra đời như một hệ thống tiền điện tử ngang hàng vào năm 2008, nhiều loại tiền kỹ thuật số khác đã dần xuất hiện và mỗi loại tiền kỹ thuật số đều có cơ chế riêng. Nhưng hầu như tất cả các loại tiền kỹ thuật số đều có một điểm chung, đó là kiến ​​trúc cốt lõi của blockchain.

Trong hầu hết các trường hợp, chuỗi khối được thiết kế để phân cấp, sổ cái điện tử được duy trì bởi một mạng lưới các nút phân tán. Do đó, hệ thống chuỗi khối cho phép các giao dịch tài chính được thực hiện hoàn toàn minh bạch và đáng tin cậy mà không cần qua trung gian. Tiền kỹ thuật số đang dần thay thế các hệ thống thanh toán ngân hàng truyền thống đòi hỏi độ tin cậy cao.

Giống như hầu hết các hệ thống máy tính phân tán, những người tham gia mạng tiền kỹ thuật số cần thường xuyên thảo luận và thống nhất về trạng thái hiện tại của blockchain. Đây là những gì chúng tôi gọi là sự đồng thuận. Tuy nhiên, đạt được sự đồng thuận một cách an toàn và hiệu quả trong mạng phân tán không phải là nhiệm vụ dễ dàng.

Vì vậy, làm thế nào một mạng phân tán gồm các nút máy tính có thể thống nhất các quyết định trong trường hợp một số nút có thể gặp trục trặc hoặc hoạt động không trung thực? Đây là gốc rễ của cái gọi là Vấn đề về các vị tướng Byzantine, đã đưa đến khái niệm về Dung sai lỗi của Byzantine.


Vấn đề tướng quân Byzantine là gì?

Nói một cách đơn giản, vào năm 1982, Bài toán các tướng lĩnh Byzantine được coi là một vấn đề nan giải logic minh họa các vấn đề liên lạc mà một nhóm tướng lĩnh Byzantine có thể gặp phải khi cố gắng thống nhất một quan điểm thống nhất về bước đi tiếp theo của họ.

Tình thế tiến thoái lưỡng nan giả định rằng mỗi vị tướng đều có quân đội riêng, mỗi quân đóng tại một địa điểm khác nhau xung quanh thành phố mà họ định tấn công. Những vị tướng này cần phải thống nhất về việc nên tấn công hay rút lui. Tấn công hay rút lui không quan trọng, chỉ cần tất cả tướng lĩnh đạt được sự đồng thuận, tức là phối hợp và quyết định cùng nhau thực hiện.

Vì vậy, chúng ta có thể xem xét các điều kiện sau:

  • Mỗi tướng phải đưa ra 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;

  • Tất cả các tướng phải thống nhất một quyết định thống nhất và thực hiện nó cùng một lúc.


Vấn đề liên lạc trên liên quan đến việc một vị tướng chỉ có thể liên lạc với một vị tướng khác thông qua tin nhắn do các nhân viên tình báo gửi đến. Do đó, thách thức cốt lõi của Bài toán các vị tướng Byzantine là thông tin có thể bị trì hoãn, bị hỏng hoặc bị mất bằng cách nào đó.

Hơn nữa, ngay cả khi tin nhắn được gửi thành công, một hoặc nhiều tướng có thể chọn 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, khiến hoạt động thất bại.

Nếu chúng ta ánh xạ vấn đề nan giải này vào blockchain, mỗi vị trí chung đại diện cho một nút mạng và các nút 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ác hành động giống nhau để tránh thất bại.

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 2/3 số nút mạng đáng tin cậy và trung thực. Điều này có nghĩa là hệ thống dễ bị lỗi và bị tấn công (chẳng hạn như tấn công 51%) nếu phần lớn các nút trong mạng quyết định hành động độc hại.


Dung sai lỗi Byzantine (BFT)

Nói một cách đơn giản, Byzantine Fault Tolerance (BFT) là một thuộc tính hệ thống có thể chống lại một loạt lỗi do Bài toán tướng quân Byzantine gây ra. Điều này có nghĩa là hệ thống có khả năng chịu lỗi Byzantine có thể tiếp tục hoạt động ngay cả khi một số nút bị lỗi hoặc có hành vi nguy hiểm.

Có nhiều giải pháp khả thi cho Bài toán Tướng quân Byzantine, và do đó, có nhiều cách để xây dựng hệ thống Dung sai lỗi Byzantine. Tương tự như vậy, các chuỗi khối có nhiều cách khác nhau để đạt được khả năng chịu lỗi Byzantine, đó là cái mà chúng tôi gọi là thuật toán đồng thuận.


Thuật toán đồng thuận chuỗi khối

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. Các ví dụ phổ biến nhất là Bằng chứng công việc (PoW) và Bằng chứng cổ phần (PoS). Ở đây chúng tôi lấy Bitcoin làm ví dụ.

Giao thức Bitcoin đặt ra các quy tắc chính của hệ thống và thuật toán đồng thuận bằng chứng công việc giải thích cách tuân theo 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 thực giao dịch).

Mặc dù khái niệm bằng chứng công việc đã có trước tiền kỹ thuật số, Satoshi Nakamoto đã sửa đổi phiên bản gốc và phát triển một thuật toán bằng chứng công việc cải tiến có thể tạo ra Bitcoin như một hệ thống có khả năng chịu lỗi Byzantine.

Xin lưu ý rằng thuật toán bằng chứng công việc này không hoàn toàn chống lại các lỗi Byzantine, nhưng do quy trình khai thác chi phí cao và công nghệ mã hóa cơ bản, bằng chứng công việc đã được chứng minh là một trong những phương pháp an toàn và đáng tin cậy nhất trong mạng chuỗi khối. Theo nghĩa này, thuật toán đồng thuận bằng chứng công việc do Satoshi Nakamoto thiết kế được nhiều người coi là một trong những giải pháp tinh vi nhất đối với Dung sai lỗi Byzantine.

Tóm lại là

Bài toán các vị tướng Byzantine là một vấn đề nan giải thú vị mà cuối cùng đã dẫn đến sự ra đời của các hệ thống chịu lỗi Byzantine, hệ thống này đang được sử dụng rộng rãi trong nhiều tình huống khác nhau. Ngoài ngành công nghiệp blockchain, một số trường hợp sử dụng cho hệ thống Dung sai lỗi Byzantine cũng bao gồm các ngành hàng không, hàng không vũ trụ và năng lượng hạt nhân.

Trong lĩnh vực tiền kỹ thuật số, việc có mạng lưới giao tiếp hiệu quả và cơ chế đồng thuận tốt là rất quan trọng đối với bất kỳ hệ sinh thái blockchain nào. Việc bảo mật các hệ thống này đòi hỏi những nỗ lực không ngừng và có những hạn chế (chẳng hạn như khả năng mở rộng) mà các thuật toán đồng thuận hiện tại chưa thể khắc phục được. Tuy nhiên, bằng chứng công việc và bằng chứng cổ phần là những phương pháp hiệu quả cho các hệ thống có khả năng chịu lỗi Byzantine và các ứng dụng tiềm năng của chúng sẽ truyền cảm hứng cho nhiều đổi mới hơn.