Kể từ khi tạo ra Bitcoin vào năm 2008, dưới dạng hệ thống tiền điện tử ngang hàng (ngang hàng), một số 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 hầu hết tất cả đều có điểm chung là mạng Blockchain đóng vai trò là yếu tố trung tâm trong kiến trúc của họ.
Với một số trường hợp ngoại lệ, mạng Blockchain được thiết kế có chủ ý để phân cấp, hoạt động như một sổ cái kỹ thuật số được duy trì bởi một mạng lưới phân tán gồm các nút được đại diện bởi máy tính. Vì lý do này, công nghệ Blockchain đã cho phép tạo ra một hệ thống kinh tế nơi các giao dịch tài chính minh bạch và đáng tin cậy mà không cần qua trung gian. Tiền điện tử ngày càng chiếm được nhiều không gian hơn bằng cách thể hiện mình là một giải pháp thay thế cho hệ thống ngân hàng truyền thống vốn phụ thuộc rất nhiều vào niềm tin đặt vào bên thứ ba.
Trong 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 điện tử cần phải thường xuyên đồng ý về trạng thái hiện tại của Blockchain của họ và đây là điều mà chúng tôi gọi là đạt được sự đồng thuận. Tuy nhiên, đạt được sự đồng thuận trong các 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.
Do đó, làm thế nào một mạng lưới máy tính phân tán có thể đưa ra quyết định nếu một số nút phải hoạt động bị lỗi hoặc không trung thực? Đây là câu hỏi cơ bản về bài toán nổi tiếng của các vị tướng Byzantine, đã làm nảy sinh khái niệm Dung sai lỗi Byzantine (BFT) - hay Dung sai lỗi Byzantine trong tiếng Bồ Đào Nha.
Vấn đề với các tướng Byzantine là gì?
Tóm lại, nó được hình thành vào năm 1982 như một tình huống khó xử logic minh họa cách một nhóm tướng lĩnh Byzantine có thể gặp khó khăn trong giao tiếp khi cố gắng đạt được thỏa thuận về bước đi chiến tranh tiếp theo.
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 và mỗi nhóm đóng ở các địa điểm khác nhau xung quanh thành phố mà họ muốn tấn công. Các tướng cần phải thống nhất về thời điểm tấn công hay rút lui. Việc họ tấn công hay rút lui không thành vấn đề, chẳng hạn như tất cả họ đều cần phải đồng ý để đạt được sự đồng thuận trong việc cùng nhau thực hiện các chiến thuật.
Vì vậy, chúng ta phải xem xét các mục tiêu sau:
Mỗi vị tướng cần quyết định: tấn công hay rút lui (có hoặc không);
Một khi bạn đã đưa ra quyết định thì không thể thay đổi được;
Tất cả các tướng cần thống nhất một chiến thuật và thực hiện đồng bộ.
Các vấn đề liên lạc đã được đề cập có liên quan đến thực tế là 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 được gửi qua đường bưu điện. Do đó, thách thức chính của Bài toán Đại tướng Byzantine là các thông điệp bằng cách nào đó có thể bị trì hoãn, bị phá hủy hoặc bị thất lạc.
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 (vì bất kỳ lý do gì) hành động ác ý hoặc 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ảm họa toàn diện.
Nếu chúng ta áp dụng vấn đề nan giải này vào bối cảnh của mạng Blockchain, mỗi vị tướng đại diện cho một nút trong mạng và các nút cần đạt được sự đồng thuận khi nói đến trạng thái hiện tại của hệ thống. Nói cách khác, phần lớn những người tham gia trong mạng phân tán cần phải đồng ý về cùng một quy trình để tránh thất bại trên diện rộng.
Tuy nhiên, 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 trở lên trên mạng đáng tin cậy và trung thực. Điều này có nghĩa là nếu phần lớn mạng quyết định hành động độc hại, hệ thống sẽ dễ bị lỗi và bị tấn công (chẳng hạn như Tấn công 51%).
Khả năng chịu lỗi Byzantine
Tóm lại, BFT là đặc tính mà một hệ thống phải chống lại các loại lỗi khác nhau có thể gây ra bởi tình thế tiến thoái lưỡng nan của các tướng Byzantine. Điều này có nghĩa là hệ thống BFT có khả năng tiếp tục hoạt động ngay cả khi một số nút trong mạng hoạt động theo cách bị lỗi hoặc độc hại.
Có một số cách để giải quyết vấn đề về tướng Byzantine và do đó có một số phương pháp xây dựng hệ thống BFT. Tương tự, nhiều cách tiếp cận có thể được khám phá để hệ thống Blockchain có thể làm cho BFT hoạt động chính xác, đưa chúng ta đến thuật toán đồng thuận mà chúng ta mong muố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à một cơ chế mà mỗi mạng Blockchain đạt được thỏa thuận về trạng thái của nó. Các triển khai nổi tiếng nhất là Bằng chứng công việc (PoW) và Bằng chứng cổ phần (PoS). Nhưng hãy lấy trường hợp Bitcoin làm ví dụ.
Trong khi giao thức Bitcoin quy định các quy tắc chính 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 trong nỗ lực đạ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 PoW đã rất cũ trong tiền điện tử nhưng Satoshi Nakamoto đã phát triển một phiên bản sửa đổi để có thể tạo Bitcoin dưới dạng hệ thống BFT.
Lưu ý rằng thuật toán PoW không có khả năng chấp nhận 100% các lỗi Byzantine, nhưng do chi phí lớn của quy trình khai thác và các kỹ thuật mã hóa cơ bản, PoW đã chứng minh rằng đây là một trong những cách triển khai an toàn và đáng tin cậy nhất cho mạng Blockchain. Ở khía cạnh này, thuật toán đồng thuận PoW do Satoshi Nakamoto phát triển được nhiều người coi là một giải pháp thiên tài để giải quyết vấn đề Byzantine.
Cân nhắc cuối cùng
Bài toán Byzantine là một vấn đề nan giải hấp dẫn mà cuối cùng đã dẫn đến sự ra đời của các hệ thống BFT, được áp dụng trong nhiều tình huống khác nhau. Ngoài thế giới Blockchain, hệ thống BFT còn được sử dụng trong các ngành hàng không, vũ trụ và nhà máy điện hạt nhân.
Trong bối cảnh tiền điện tử, việc có một mạng lưới truyền thô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. Việc đảm bảo an toàn cho các hệ thống này là một nỗ lực không ngừng và nhiều thuật toán đồng thuận hiện có vẫn chưa vượt qua được một số hạn chế (chẳng hạn như khả năng mở rộng). Tuy nhiên, thuật toán PoW và PoS là những cách tiếp cận thú vị để hoạt động như hệ thống BFT và các ứng dụng khả thi chắc chắn sẽ truyền cảm hứng cho sự đổi mới rộng rãi.
