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

Người mới bắt đầuNov 21, 2022
Bài toán các vị tướng Byzantine là một mô tả tình huống của bài toán đồng thuận phân tán.
Vấn đề tướng Byzantine là gì

Giới thiệu loại coin

Bài toán các vị tướng Byzantine, còn được gọi là Bài toán hai vị tướng, được đề xuất trong bài báo của Leslie Lambert về khả năng chịu lỗi của giao tiếp mạng ngang hàng phân tán vào năm 1982. Trong giao tiếp của hệ thống phân tán, một số sự cố cục bộ có thể khiến máy tính gửi thông báo lỗi và phá hủy tính nhất quán của hệ thống. Do đó, Bài toán các tướng Byzantine thực chất là một bài toán về sự đồng thuận trong giao tiếp giữa các điểm.

Gốc

Bài toán các vị tướng Byzantine bắt nguồn từ thời trung cổ. Do lãnh thổ Byzantium rộng lớn nên việc liên lạc giữa các đội quân chỉ có thể dựa vào sứ giả. Nếu có kẻ phản bội cố tình xuyên tạc thông tin của các thủ lĩnh quân đội, sẽ dẫn đến kế hoạch tác chiến không nhất quán, dẫn đến “Thất bại của người Byzantine”.

Để giải quyết vấn đề này, có hai giải pháp: một là cử người đưa tin cho nhau bằng thỏa thuận miệng, và đạt được sự đồng thuận của đa số đơn giản, nhưng khó phân biệt được những kẻ phản bội tiềm năng; thứ hai là cử người đưa tin dưới hình thức thỏa thuận bằng văn bản để chuyển thông điệp bằng văn bản có chữ ký độc quyền, nên được cử đi bởi từng quân đội, nhưng nếu đường truyền quá chậm, chữ ký có thể bị mất. Vì cả hai giải pháp chỉ có thể giải quyết một phần của vấn đề và phải mất quá nhiều thời gian và nguồn lực để đạt được sự đồng thuận nên chúng không hữu ích.

Vấn đề tướng quân Byzantine trên Internet

Sự cố tướng Byzantine trên Internet có nghĩa là trong quá trình truyền kênh, một số nút có thể khó đạt được đồng bộ hóa thông tin do khối lượng công việc quá nhiều hoặc một số cuộc tấn công độc hại. Năm 1999, Miguel Castro và Barbara Liskov đã đề xuất Dung sai lỗi Byzantine (BFT). Họ tin rằng nếu 2/3 số nút trong hệ thống hoạt động bình thường thì có thể đảm bảo tính nhất quán và đúng đắn của hệ thống. Sau đó, Satoshi Nakamoto đã đề xuất cơ chế bằng chứng công việc (PoW) và thuật toán mã hóa bất đối xứng của Bitcoin, cung cấp một giải pháp mới cho Bài toán tướng Byzantine.

Khả năng chịu lỗi Byzantine

Giả sử có n tướng và t kẻ phản bội. Giả sử n=3, t=1, vậy một trong số A, B và C là kẻ phản bội. Nếu A ra lệnh [tấn công], nhưng kẻ phản bội B bảo C [rút lui], thì C không thể đưa ra phán quyết; Nếu kẻ phản bội B gửi lệnh [tấn công] cho A và lệnh [rút lui] cho C, thì A và C không thể đạt được thỏa thuận. Do đó, khi số lượng kẻ phản bội lớn hơn hoặc bằng 1/3, Bài toán tướng lĩnh Byzantine không thể được giải quyết.

Tương tự, giả sử rằng tổng số nút mạng là N và số nút độc hại là T, vấn đề chỉ có thể được giải quyết khi N>=3T+1, nghĩa là số nút bình thường trong mạng ít nhất ( 2/3) N, để đảm bảo tính thống nhất của thông tin. Trong giao tiếp mạng đáng tin cậy, Dung sai lỗi Byzantine có thể giải quyết vấn đề lỗi nút ở một mức độ nhất định, để hệ thống có thể đạt được sự đồng thuận.

Cơ chế Proof of Work (PoW)

Giả sử tướng A phát lệnh [tấn công] đầu tiên và đính kèm chữ ký của mình. Sau khi nhận được, nếu các tướng khác cũng có ý định tấn công, họ sẽ tuân theo lệnh [tấn công] và chữ ký của anh ta sau lệnh của tướng A. Nếu A không thực hiện lệnh [tấn công] sau khi A gửi đi, các tướng lĩnh khác có thể đánh giá A là kẻ phản bội và sử dụng nó để phân biệt thông tin chính xác.

Tương tự, nhiều nút tham gia sẽ nhận được kết quả thông qua một loạt công việc và nút đầu tiên nhận được kết quả sẽ phát nó ra toàn mạng. Nếu kết quả là chính xác, các nút khác sẽ thêm kết quả vào sổ cái của chính họ để chuẩn bị tính toán nhằm giành quyền ghi lại các giao dịch trên chuỗi khối.

Một Hacker phải có sức mạnh tính toán hơn 51% để phá hủy an ninh mạng hoặc xuất bản các khối giả mạo. Chi phí lớn hơn nhiều so với lợi nhuận. Do đó, cơ chế này có thể làm giảm khả năng thông tin sai lệch và giúp hệ thống đạt được sự đồng thuận nhanh hơn.

Thuật toán khóa bất đối xứng

Việc mã hóa và giải mã các thuật toán khóa bất đối xứng cần hai khóa bí mật riêng biệt - khóa chung và khóa riêng, thường xuất hiện theo cặp. Nếu A muốn gửi tin nhắn cho B, A cần khóa chung của B để mã hóa thông tin và B cần khóa riêng của mình để giải mã thông tin. Nếu B muốn hiển thị danh tính của mình, anh ấy/cô ấy có thể ký vào khóa riêng, viết một “văn bản chữ ký” và phát đi. Những người khác có thể xác minh danh tính của anh ấy/cô ấy theo khóa công khai của B.

Do danh tính và chữ ký không thể giả mạo nên các thuật toán khóa bất đối xứng đảm bảo tính riêng tư của quá trình truyền và chữ ký đáng tin cậy.

Tác giả: Jiji
Thông dịch viên: Joy
(Những) người đánh giá: Hugo, Cecilia, Ashley
* Đầu tư có rủi ro, phải thận trọng khi tham gia thị trường. Thông tin không nhằm mục đích và không cấu thành lời khuyên tài chính hay bất kỳ đề xuất nào khác thuộc bất kỳ hình thức nào được cung cấp hoặc xác nhận bởi Gate.io.
* Không được phép sao chép, truyền tải hoặc đạo nhái bài viết này mà không có sự cho phép của Gate.io. Vi phạm là hành vi vi phạm Luật Bản quyền và có thể phải chịu sự xử lý theo pháp luật.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500
Tạo tài khoản