thetvbytesoft
Member
Có thể nhận thấy rằng, từ khi Bitcoin sinh ra vào năm 2008, là một hệ thống tiền mã hoá ngang hàng. Kể từ đó, nhiều đồng tiền mã hoá được sinh ra nhiều hơn, với mỗi đồng tiền là một cơ chế riêng. Nhưng cơ chế chung là các đồng tiền mã hoá chính là blockchain - yếu tố cốt lõi trong kiến trúc
Xem thêm: Ứng dụng blockchain vào vận tải
Có một số ngoại lệ, các blockchain thiết kế với ý tưởng định hướng phi tập trung với chức năng hoạt động là một cuốn sổ cái điện tử được duy trì bởi một số mạng lưới với các nút máy tính phân tán. Vì lý do này, công nghệ blockchain cho phép tạo ra các hệ thống kinh tế phi ủy thác, nơi 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 trung gian. Các đồng tiền mã hóa đang được áp dụng như 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 sự ủy thác.
Xem thêm: Ứng dụng blockchain vào xuất nhập khẩu
Cũng giống như hầu hết các hệ thống tính toán phân tán, những người tham gia mạng lưới tiền mã hóa cần phải đồng ý về trạng thái hiện tại của blockchain, và đó là cái mà chúng ta gọi là sự đồng thuận. Tuy nhiên, việc đạt được sự đồng thuận trên mạng lưới phân tán một cách an toàn và đáng tin cậy không phải là một điều dễ dàng.
Xem thêm: Ứng dụng blockchain vào tài chính
Vậy thì 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 đạt được sự đồng thuận khi xử lý một quyết định, nếu một số các nút trong đó có khả năng là sẽ thất bại hoặc không đáng tin? Đây là câu hỏi cơ bản của vấn đề được đặt tên là bài toán các vị tướng Byzantine, từ đó làm khai sinh ra khái niệm về hệ thống chịu lỗi Byzantine.
Bài toán các vị tướng Byzantine là gì ?
Tóm tắt ngắn gọn, bài toán các vị tướng Byzantine, được đưa ra vào năm 1982, mô tả một bài toán logic song đề. Bài toán mô tả việc một nhóm các vị tướng Byzantine gặp các vấn đề về liên lạc khi cố gắng đạt sự đồng thuận về bước đi tiếp.
Byzantine thoi blockchain
Bài toán giả định rằng mỗi tướng có quân đội riêng và mỗi tướng đóng quân ở các địa điểm khác nhau xung quanh thành phố mà họ dự định tấn công. Các tướng phải đồng thuận về việc tấn công hoặc rút lui. Vấn đề tấn công hay rút lui không quan trọng mà là sự đồng thuận của tất cả các tướng, tức là, đồng thuận về một quyết định chung để cùng phối hợp thực hiện.
Do đó, 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 hoặc rút lui (có hay không);
Không thể thay đổi quyết định sau khi đưa ra;
Tất cả tướng phải nhất trí về một quyết định giống nhau và tiến hành đồng bộ với nhau.
Các vấn đề liên lạc như đề cập ở trên liên quan đến thực tế là một tướng chỉ có thể giao tiếp với các tướng khác thông qua các thông điệp được chuyển đi bởi lính đưa tin. Vấn đề trọng tâm của bài toán các vị tướng Byzantine ở đây là các thông điệp có thể bị chậm, hủy hoặc mất.
Ngoài ra, ngay cả khi xét rằng thông điệp sẽ được gửi thành công, vẫn còn khả năng xảy ra là một hoặc nhiều tướng có thể chọn (vì bất kỳ lý do gì) thực hiện hành động gây hại và gửi đi một thông điệp sai để gây nhiễu tới các tướng khác, dẫn đến một thất bại hoàn toàn.
Nếu chúng ta áp dụng bài toán song đề vào trường hợp có sự xuất hiện của blockchain, mỗi tướng sẽ đạ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, phần lớn những người tham gia trong một mạng lưới phân tán phải đồng ý và thực hiện cùng một hành động để tránh một thất bại hoàn toàn.
Vì vậy, 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à có sự đồng thuận của ít nhất ⅔ hoặc của nhiều hơn các nút mạng trung thực và đáng tin cậy. Điều này có nghĩa là nếu phần lớn nút trong mạng quyết định thực hiện hành động gây hại, hệ thống sẽ dễ bị lỗi và bị tấn công (ví dụ như tấn công 51%).
Tóm tắt ngắn gọn, 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. Đ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 bị lỗi hoặc thực hiện hành động gây hại.
Có nhiều giải pháp khả thi cho vấn đề của bài toán các vị tướng Byzantine, do đó, có nhiều cách để xây dựng một hệ thống BFT. Tương tự như vậy, có nhiều cách khác nhau để một blockchain đạt được hệ thống chịu lỗi Byzantine và điều mà chúng ta có ở đây chính là các thuật toán đồng thuận.
Các thuật toán đồng thuận Blockchain
Chúng ta có thể định nghĩa một thuật toán đồng thuận là một cơ chế mà qua đó một mạng blockchain đạt được sự đồng thuận. Các thuật toán phổ biến nhất là Proof of Work (PoW) và Proof of Stake (PoS). 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 sẽ quy định cách thức các quy tắc này sẽ được tuân theo để đạ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 trước khi sự ra đời của các đồng tiền mã hóa, Satoshi Nakamoto đã phát triển nó thành một thuật toán cho phép tạo ra Bitcoin như là một hệ thống BFT.
Lưu ý rằng thuật toán PoW không đảm bảo 100% chịu lỗi Byzantine, nhưng nhờ vào quá trình đào tốn kém chi phí và các kỹ thuật mã hóa đằng sau, PoW đã chứng tỏ là một trong những thuật toán triển khai an toàn và đáng tin cậy nhất cho các mạng blockchain. Theo nghĩa đó, thuật toán đồng thuận Proof of Work, được thiết kế bởi Satoshi Nakamoto, được coi là một trong những giải pháp thiên tài nhất cho vấn đề lỗi Byzantine.
Xem thêm: Ứng dụng blockchain vào vận tải
Có một số ngoại lệ, các blockchain thiết kế với ý tưởng định hướng phi tập trung với chức năng hoạt động là một cuốn sổ cái điện tử được duy trì bởi một số mạng lưới với các nút máy tính phân tán. Vì lý do này, công nghệ blockchain cho phép tạo ra các hệ thống kinh tế phi ủy thác, nơi 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 trung gian. Các đồng tiền mã hóa đang được áp dụng như 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 sự ủy thác.
Xem thêm: Ứng dụng blockchain vào xuất nhập khẩu
Cũng giống như hầu hết các hệ thống tính toán phân tán, những người tham gia mạng lưới tiền mã hóa cần phải đồng ý về trạng thái hiện tại của blockchain, và đó là cái mà chúng ta gọi là sự đồng thuận. Tuy nhiên, việc đạt được sự đồng thuận trên mạng lưới phân tán một cách an toàn và đáng tin cậy không phải là một điều dễ dàng.
Xem thêm: Ứng dụng blockchain vào tài chính
Vậy thì 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 đạt được sự đồng thuận khi xử lý một quyết định, nếu một số các nút trong đó có khả năng là sẽ thất bại hoặc không đáng tin? Đây là câu hỏi cơ bản của vấn đề được đặt tên là bài toán các vị tướng Byzantine, từ đó làm khai sinh ra khái niệm về hệ thống chịu lỗi Byzantine.
Bài toán các vị tướng Byzantine là gì ?
Tóm tắt ngắn gọn, bài toán các vị tướng Byzantine, được đưa ra vào năm 1982, mô tả một bài toán logic song đề. Bài toán mô tả việc một nhóm các vị tướng Byzantine gặp các vấn đề về liên lạc khi cố gắng đạt sự đồng thuận về bước đi tiếp.
Byzantine thoi blockchain
Bài toán giả định rằng mỗi tướng có quân đội riêng và mỗi tướng đóng quân ở các địa điểm khác nhau xung quanh thành phố mà họ dự định tấn công. Các tướng phải đồng thuận về việc tấn công hoặc rút lui. Vấn đề tấn công hay rút lui không quan trọng mà là sự đồng thuận của tất cả các tướng, tức là, đồng thuận về một quyết định chung để cùng phối hợp thực hiện.
Do đó, 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 hoặc rút lui (có hay không);
Không thể thay đổi quyết định sau khi đưa ra;
Tất cả tướng phải nhất trí về một quyết định giống nhau và tiến hành đồng bộ với nhau.
Các vấn đề liên lạc như đề cập ở trên liên quan đến thực tế là một tướng chỉ có thể giao tiếp với các tướng khác thông qua các thông điệp được chuyển đi bởi lính đưa tin. Vấn đề trọng tâm của bài toán các vị tướng Byzantine ở đây là các thông điệp có thể bị chậm, hủy hoặc mất.
Ngoài ra, ngay cả khi xét rằng thông điệp sẽ được gửi thành công, vẫn còn khả năng xảy ra là một hoặc nhiều tướng có thể chọn (vì bất kỳ lý do gì) thực hiện hành động gây hại và gửi đi một thông điệp sai để gây nhiễu tới các tướng khác, dẫn đến một thất bại hoàn toàn.
Nếu chúng ta áp dụng bài toán song đề vào trường hợp có sự xuất hiện của blockchain, mỗi tướng sẽ đạ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, phần lớn những người tham gia trong một mạng lưới phân tán phải đồng ý và thực hiện cùng một hành động để tránh một thất bại hoàn toàn.
Vì vậy, 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à có sự đồng thuận của ít nhất ⅔ hoặc của nhiều hơn các nút mạng trung thực và đáng tin cậy. Điều này có nghĩa là nếu phần lớn nút trong mạng quyết định thực hiện hành động gây hại, hệ thống sẽ dễ bị lỗi và bị tấn công (ví dụ như tấn công 51%).
Tóm tắt ngắn gọn, 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. Đ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 bị lỗi hoặc thực hiện hành động gây hại.
Có nhiều giải pháp khả thi cho vấn đề của bài toán các vị tướng Byzantine, do đó, có nhiều cách để xây dựng một hệ thống BFT. Tương tự như vậy, có nhiều cách khác nhau để một blockchain đạt được hệ thống chịu lỗi Byzantine và điều mà chúng ta có ở đây chính là các thuật toán đồng thuận.
Các thuật toán đồng thuận Blockchain
Chúng ta có thể định nghĩa một thuật toán đồng thuận là một cơ chế mà qua đó một mạng blockchain đạt được sự đồng thuận. Các thuật toán phổ biến nhất là Proof of Work (PoW) và Proof of Stake (PoS). 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 sẽ quy định cách thức các quy tắc này sẽ được tuân theo để đạ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 trước khi sự ra đời của các đồng tiền mã hóa, Satoshi Nakamoto đã phát triển nó thành một thuật toán cho phép tạo ra Bitcoin như là một hệ thống BFT.
Lưu ý rằng thuật toán PoW không đảm bảo 100% chịu lỗi Byzantine, nhưng nhờ vào quá trình đào tốn kém chi phí và các kỹ thuật mã hóa đằng sau, PoW đã chứng tỏ là một trong những thuật toán triển khai an toàn và đáng tin cậy nhất cho các mạng blockchain. Theo nghĩa đó, thuật toán đồng thuận Proof of Work, được thiết kế bởi Satoshi Nakamoto, được coi là một trong những giải pháp thiên tài nhất cho vấn đề lỗi Byzantine.