Giả sử, ngược lại, rằng hai quá trình khác nhau ở họ thiết lập cuối cùng của giá trị. Mà không làm mất quát, pi quá trình chính xác một số sở hữu một v giá trị mà một quá trình chính xác pj (ij z) không có. Những lời giải thích duy nhất cho pi sở hữu một v được đề xuất giá trị vào giữa pj mà không có bất kỳ quá trình thứ ba, pk, nói, mà quản lý để gửi v để pi bị rơi trước khi v có thể được gửi đến pj. Lần lượt, bất kỳ quá trình gửi v trong vòng trước đó phải đã rơi, để giải thích tại sao sở hữu pk v trong vòng đó nhưng pj không nhận được nó. Tiến hành theo cách này, chúng ta phải posit ít nhất một tai nạn trong mỗi vòng trước. Nhưng chúng tôi đã giả định rằng tối đa f tai nạn có thể xảy ra, và có f + 1 viên đạn. Chúng tôi đã đi đến một mâu thuẫn. Nó chỉ ra rằng bất kỳ thuật toán để đạt được sự đồng thuận mặc dù đến f tai nạn thất bại đòi hỏi ít f + 1 viên đạn của trao đổi tin nhắn, không có vấn đề như thế nào đó là xây dựng [Dolev và mạnh 1983]. Ràng buộc dưới này cũng áp dụng trong trường hợp thất bại Byzantine [Fischer và Lynch 1982].15.5.3 vấn đề Byzantine tướng trong một hệ thống đồng bộ bây giờ chúng tôi thảo luận về vấn đề Byzantine tướng trong một hệ thống đồng bộ. Không giống như các thuật toán cho sự đồng thuận được mô tả trong phần trước, ở đây chúng tôi giả định rằng quá trình có thể triển lãm bất kỳ thất bại. Có nghĩa là, một quá trình bị lỗi có thể gửi bất kỳ thư nào với bất kỳ giá trị tại bất kỳ thời điểm nào; và nó có thể bỏ qua để gửi bất kỳ thư nào. Lên đến f của N quá trình có thể bị lỗi. Đúng quy trình có thể phát hiện sự vắng mặt của một tin nhắn thông qua một thời gian chờ; nhưng họ không thể kết luận rằng người gửi đã rơi, vì nó có thể được im lặng cho một số thời gian và sau đó gửi thư một lần nữa. Chúng tôi giả định rằng các kênh giao tiếp giữa các cặp của các quá trình được tư nhân. Nếu một quá trình có thể kiểm tra tất cả các tin nhắn đó quá trình khác mà gửi, sau đó nó có thể phát hiện những mâu thuẫn trong những gì một quá trình bị lỗi sẽ gửi cho quá trình khác nhau. Chúng tôi giả định mặc định về độ tin cậy kênh có nghĩa là không có quá trình bị lỗi có thể bơm tin nhắn vào các kênh giao tiếp giữa các quá trình chính xác. Lamport et al. [1982] coi là trường hợp của ba quy trình gửi tin nhắn dấu với nhau. Họ đã cho thấy là không có giải pháp đảm bảo đáp ứng các điều kiện của Byzantine tướng vấn đề nếu một quá trình được cho phép để thất bại. Họ tổng quát này kết quả cho thấy rằng không có giải pháp tồn tại nếu N 3f. Chúng tôi sẽ chứng minh những kết quả này một thời gian ngắn. Họ đã đi vào để cung cấp cho một thuật toán mà giải quyết vấn đề Byzantine tướng trong một hệ thống đồng bộ nếu N 3f + 1 t, cho unsigned (họ gọi cho họ 'miệng') thư. Impossibility withthreeprocesses • hình 15.18 cho thấy hai kịch bản trong đó chỉ là một trong ba quy trình bị lỗi. Trong cấu hình lefthand một trong các đội phó, p3, là bị lỗi; bên phải chỉ huy, p1, là bị lỗi. Mỗi kịch bản ở con số 15.18 cho thấy hai vòng của tin nhắn: các giá trị gửi chỉ huy, và các giá trị các đội phó sau đó gửi cho nhau. Các tiền tố số phục vụ để xác định các nguồn thư và để cho các viên đạn khác nhau. Đọc các ':' biểu tượng trong tin nhắn như 'nói'; Ví dụ, '3:1:u' là thư '3 nói 1 nói u'. Trong trường hợp lefthand, người chỉ huy một cách chính xác sẽ gửi cùng một giá trị v cho mỗi hai quá trình khác, và p2 đúng vang này để p3. Tuy nhiên, p3 sẽ gửi một giá trị uv z cho p2. Tất cả p2 biết ở giai đoạn này là rằng nó đã nhận được giá trị khác nhau; nó không thể cho biết đó đã được gửi bởi chỉ huy.
đang được dịch, vui lòng đợi..
