Byzantine Fault Tolerance (BFT) là gì? Bitcoin đã khắc phục bài toán này ra sao

SangLV
SangLV
Follow me:

Kể từ khi Bitcoin được sinh ra (2008) với hệ thống tiền điện tử ngang hàng, các đồng tiền số khác cũng bắt đầu được tạo ra với những cơ chế riêng. Tuy nhiên, điểm chung của các dự án này là yếu tố đồng thuận trong Blockchain. 

Không bàn đến một số ít ngoại lệ, hầu hết các Blockchain đều được thiết kế để đạt được tính phi tập trung, hoạt động như 1 cuốn sổ cái điện tử. Trong đó, các node máy tính phân tán có vai trò chính trong việc duy trì hoạt động của mạng lưới. Do đó, công nghệ Blockchain khiến các giao dịch trở nên đáng tin cậy và minh bạch mà không cần đến bất cứ trung gian nào. Các hệ thống thanh toán, ngân hàng truyền thống cũng dần áp dụng crypto như một giải pháp thay thế khả thi.

Tuy nhiên, một trong những vấn đề cốt lõi của hệ thống tính toán phân tán là sự đồng thuận của những người tham gia trong mạng lưới. Như sự đồng thuận về trạng thái hiện tại của Blockchain hay các thay đổi: storage, bandwidth, gas fee,… Việc đạt được sự đồng thuận nhanh trên 1 mạng lưới phân tán chưa bao giờ là dễ dàng => Giải pháp cho vấn đề trên là gì? làm sao giúp các Node đồng thuận nhanh trạng thái hiện tại của mạng. Liệu có trường hợp nào các Node gây hại cho mạng lưới? Đó chính là lúc bạn cần phải hiểu kỹ về bài toán về các vị tướng Byzantine, và khái niệm hệ thống chịu lỗi Byzantine là gì.  

Byzantine Fault Tolerance – BFT là gì?

1. Byzantine Fault Tolerance là gì

BFT là cách gọi của một hệ thống có thể hoạt động liên tục dù cho có lỗi xảy ra. Nó giúp giải quyết được vấn đề mà các vị tướng quân Byzantine thường gặp nên mới được đặt tên là Byzantine Fault Tolerance. Cụ thể, khi ứng dụng BFT trong Blockchain, dù xuất hiện một số Node bị lỗi hay có những hành động gây hại cho mạng lưới thì Blockchain sử dụng hệ thống BFT vẫn có thể tiếp tục hoạt động.

Các Blockchain phổ biến hiện nay đang dần xây dựng riêng cho mình rất nhiều thuật toán đồng thuận (consensus) để đạt được hệ thống chịu lỗi Byzantine.

Bài toán của vị tướng quân Byzantine

2. Bài toán của vị tướng quân Byzantine

Bài toán của BFT đã xuất hiện từ năm 1982 để mô tả về một bài toán logic song đề. Cụ thể hơn, vấn đề được đặt ra là một nhóm các vị tướng Byzantine cố gắng liên lạc với nhau để đạt được sự thống nhất trong hành động tiếp theo.

Giả định của bài toán là mỗi tướng có một quân đội riêng, được đóng quân tại nhiều địa điểm khác nhau quanh thành phố xảy ra cuộc chiến. Để đạt được thắng lợi, họ sẽ cần đồng thuận về việc tấn công hoặc rút lui. Về bản chất, tấn công hay rút lui không quan trọng, điểm cốt lõi nằm ở chỗ tất cả các tường cần đồng thuận về 1 quyết định chung để phối hợp thực hiện. Hay nói cách khác, 1 là tổng tấn công, 2 là tổng rút lui, và các tướng phải đồng thuận được điều đó khi đóng quân tại nhiều vị trí khác nhau. 

Chúng ta có thể xem xét một số mục tiêu sau:

  • Mỗi tướng phải đưa ra quyết định xem tấn công (có) hay rút lui (Không).
  • Vị tướng không thể thay đổi quyết định sau khi quyết định của mình đã được thực thi.
  • Tất cả tướng phải nhất trí về một quyết định chung và có sự tiến hành đồng bộ. 

Tất nhiên, trên thực tế, các tướng có thể giao tiếp với nhau thông qua lính đưa tin. Tuy nhiên, rủi ro của việc đưa tin là thông điệp có thể bị chậm hoặc bị mất. Ngay cả khi thông điệp đã đến được tay các vị tướng thì những quyết định gây hại của một số vị tướng xấu cũng có thể gây nhiễu và tạo ra thất bại. 

Khi áp dụng bài toán này vào Blockchain, mỗi vị tướng có thể đại diện cho một Node và sự đồng thuận trạng thái hiện tại là điều mà mọi Node cần phải đảm bảo. Để tránh thất bại, phần lớn người tham gia trong mạng lưới phi tập trung phải cùng đồng ý và thực hiện cùng một hành động. 

Cách duy nhất để đạt được thành công là các Node mạng trung thực và đáng tin cậy cần  phải có được sự đồng thuận với tỉ lệ ít nhất là ⅔ hoặc nhiều hơn. Nếu phần lớn quyết định trong mạng lưới là hành động gây hại, hệ thống sẽ có khả năng bị tấn công hoặc bị lỗi mà điển hình có thể kể đến cuộc tấn công 51%.

 

So sánh BFT của hệ thống tập trung và phi tập trung
(Centralized vs Decentralized)

3. Centralized vs Decentralized

Các vấn đề của Byzantine thường sẽ xuất hiện trong hệ thống tập trung hay phi tập trung?

Như chúng ta được biết, hệ thống tập trung sẽ có một tổ chức hoặc cơ quan đứng ra chịu trách nhiệm quản lý và kiểm soát. Điều đó cũng đồng nghĩa với việc các thông tin được công bố là những thông tin đúng sự thật, được cung cấp bởi cơ quan có thẩm quyền. Dựa vào đó, những thông tin gian lận hoặc sai lệch có thể được ngăn chặn hoặc khó lan truyền trên toàn mạng. Như vậy, sự đồng thuận cũng dễ dàng đạt được hơn.

Đối với hệ thống phi tập trung, vấn đề trở nên khó khăn hơn thế rất nhiều. Lý do là bởi không có bất cứ tổ chức hoặc cơ quan nào đứng ra chịu trách nhiệm quản lý, kiểm soát hệ thống. Kéo theo đó, nguồn thông tin không được xác minh một cách chắc chắn, khó đạt được sự tin cậy của các thành viên trong mạng.

Để anh em dễ hình dung, chúng ta có thể lấy ví dụ các ngân hàng tài chính truyền thống. Chúng ta thường có nhiều lý do để tin tưởng ngân hàng hơn trong việc lưu trữ và giao dịch tài sản. Khi một ngân hàng có hành vi lừa gạt khách hàng, ngân hàng trung ương hoặc chính phủ sẽ là những cơ quan đứng ra để khắc phục những hành vi này.

Cách Bitcoin giải quyết lỗi Byzantine

4. Cách Bitcoin giải quyết vấn đề chung của lỗi Byzantine

Như đã phân tích phía trên, bài toán về BFT thường bắt gặp với hệ thống phi tập trung hơn là với hệ thống tập trung. Đối với hệ sinh thái Crypto, gần như tất cả mọi hoạt động đều được diễn ra phi tập trung. Vậy làm cách nào để Blockchain giải quyết được vấn đề này.

Tuỳ thuộc vào các đặc tính của Blockchain mà các dự án sẽ thiết lập những thuật toán khác nhau để tạo dựng niềm tin của các Node. Đối với Bitcoin, thuật toán được sử dụng để khắc phục vấn đề này là thuật toán đồng thuận Proof of Work. Thông qua đó, một loạt các nguyên tắc khách quan và rõ ràng được đặt ra để thiết lập hệ thống.

Trong đó, để thêm được một Block vào Blockchain, thành viên của mạng bắt buộc sẽ phải cung cấp bằng chứng có liên quan để chứng minh rằng kết quả mà họ đạt được là dựa trên công sức của chính họ. Quá trình này đòi hỏi khá nhiều chi phí cho creator (đội ngũ sáng tạo), đồng thời có thể khuyến khích họ xuất bản thông tin một cách trung thực.

Các thuật toán đồng thuận chịu lỗi như thế nào?

Người dùng có thể không nắm được danh tính của nhau nhưng những nguyên tắc là khách quan, không có sự can thiệp hay bất đồng đối với thông tin trên mạng Bitcoin. Bên cạnh đó, một khi Block đã được thêm vào Blockchain, nó gần như trở nên bất biến. Điều này có nghĩa là rất khó để có thể loại bỏ nó và quá khứ của Bitcoin là không thể xâm phạm hoặc thay đổi.

Dựa vào đặc điểm này, nhưng người tham gia trong mạng lưới có thể nắm được và đồng nhất trạng thái của Blockchain trong mọi thời điểm. Dựa vào đó, họ cũng có thể xác minh và đồng nhất được về các giao dịch có trong Bock. Theo yêu cầu của Proof of Work, mỗi Node sẽ có trách nhiệm tự xác minh hoặc dựa vào một số yêu cầu nhất định để xem các khối có hợp lệ hay không.

5. Cách POW chịu lỗi thuật toán

Trong trường hợp một thành viên của mạng cố gắng phát tán những thông tin không đúng sự thật, những node còn lại trên mạng có thể nhận ra chúng ngay lập tức và bỏ qua nó. Do thông tin được minh bạch đối với tất cả các Node nên bất cứ Node nào cũng có thể xác minh toàn bộ thông tin trên mạng chính Bitcoin. Nói một cách dễ hiểu hơn, tất cả các Node đều nắm trong tay nguồn thông tin minh bạch nhất, chính xác nhất nên họ không cần phải dựa vào thành viên khác hay tổ chức thứ 3. Đây cũng chính là đặc điểm khiến Bitcoin trở thành một hệ thống Trustless, có nghĩa là một hệ thống không cần người dùng phải tin tưởng.

Tất nhiên, thuật toán POW cũng không thể đảm bảo khả năng chịu lỗi Byzantine một cách tuyệt đối. Tuy nhiên, một đặc điểm khác của POW là khá tốn kém trong kỹ thuật mã hoá và quá trình khai thác coin. Yếu tố này giúp POW đem lại được khả năng bảo mật đáng tin cậy, và an toàn bậc nhất đối với các mạng Blockchain.

6. Cách POS chịu lỗi thuật toán

Bên cạnh POW, một số thuật toán khác cũng đã được xây dựng và ra đời nhằm đảm bảo được một số yếu tố khác như khả năng mở rộng bên cạnh các vấn đề về Byzantine. Trong đó có thể kể đến như POS – Proof of Stake, POA – Proof of Authority, …

Điểm đặc biệt của BFT

Điểm đặc biệt của BFT nằm ở chỗ đồng thuận vẫn có thể diễn ra mặc dù xuất hiện một số bất đồng giữa 2 node. Đây là thứ rất quan trọng đối với các Blockchain phi tập trung như Bitcoin hay Ethereum.

Satoshi Nakamoto – cha đẻ của Bitcoin cũng đã có một đổi mới rất quan trọng trong việc giải quyết vấn đề BFT. Với việc áp dụng bằng chứng công việc cho mạng lưới Bitcoin, mạng Bitcoin có thể được bảo vệ khỏi các Node độc lại, tương đương với khoảng một phần ba số Node.  

Ưu và nhược điểm của Byzantine Generals Problem

7. Ưu và nhược điểm của Byzantine Generals Problem

Ưu điểm

  • BGP không có yêu cầu về mức sử dụng năng lượng hay sức mạnh giải thuật toán. Lý do là bởi không có miner nào được yêu cầu giải các thuật toán phức tạp đối với mọi khối giao dịch. Điều này sẽ khiến quá trình đồng thuận có thể diễn ra thân thiện hơn so với giải pháp của Proof of Work. 
  • Trong trường hợp các Node đồng ý về một khối giao dịch, nó sẽ được xác nhận ngay lập tức chứ không yêu cầu nhiều xác nhận.
  • Do các node đều có khả năng tham gia hành động nên phần thưởng cũng có thể được chia sẻ đối với tất cả người tham gia. Tại đây, phần thưởng dành cho các Node sẽ không có sự khác biệt như đối với POW hay POS. 

Nhược điểm

  • Với phương pháp này, một bên có thể chiếm được quyền kiểm soát lượng lớn các Node, dẫn đến các cuộc tấn công Sybil. 
  • Phương pháp này cũng mất thời gian hơn và hạn chế khả năng mở rộng do yêu cầu các Node phải giao tiếp với nhau ở mọi bước của quy trình.

 

Với những chia sẻ trên, chắc hẳn anh em đã nắm được những thông tin cơ bản để hiểu được BFT là gì cũng như vai trò của nó đối với các Blockchain. Đồng thời, anh em cũng có thể hiểu được cách Bitcoin giải quyết được vấn đề này và ổn định hệ thống Blockchain. Dựa vào đó, anh em cũng có thể đánh giá được một Blockchain và cách vận hành của nó một cách hiệu quả hơn. 

 

Bài viết cùng chủ đề

Smart contract là gì? Tại sao lại vô cùng quan trọng với Blockchain

Mạng lưới trong Crypto là gì? Tại sao phải khớp mạng lưới mới chuyển coin được

➤  Thuật toán đồng thuận Blockchain là gì? Có những thuật toán nào nổi bật

 

Sign up for an eToro account and access more than 70 popular cryptocurrencies and crypto funds to invest in.

Kéo xuống bên dưới 1 chút nữa bạn sẽ thấy phần bình luận. Hoặc tham gia ngay vào các cộng đồng của mình:

 
Telegram Channel

Thảo luận Blockchain, xu hướng mới 2024

Facebook Group

Check dự án Scam, phân tích Bitcoin & Altcoin

guest

0 Comments
Inline Feedbacks
View all comments