hữu ích cho chúng ta xem xét các hình thức tổng quát hơn của thỏa thuận, trong một tìm kiếm cho các đặc điểm và giải pháp chung. Phần này định nghĩa sự đồng thuận chính xác hơn và liên quan cho ba vấn đề liên quan đến thỏa thuận: tướng Byzantine, thống nhất tương tác và multicast hoàn toàn ra lệnh. Chúng tôi đi vào kiểm tra trong những trường hợp các vấn đề có thể được giải quyết, và phác thảo một số giải pháp. Đặc biệt, chúng tôi thảo luận về việc không thể nổi tiếng kết quả của Fischer et al. [1985], trong đó nói rằng trong một hệ thống không đồng bộ một bộ sưu tập của các quá trình chỉ chứa một quá trình bị lỗi không thể được đảm bảo để đạt được sự đồng thuận. Cuối cùng, chúng ta xem xét làm thế nào mà các thuật toán thực tế tồn tại bất chấp kết quả không thể.
15.5.1 mô hình hệ thống và vấn đề các định nghĩa mô hình hệ thống của chúng tôi bao gồm một tập hợp các quá trình pi (i 12} N??? =) ing communicat- bằng tin nhắn đi qua. Một yêu cầu quan trọng được áp dụng trong rất nhiều những tình huống thực tế là sự đồng thuận để đạt được ngay cả trong những lỗi lầm presenceof. Chúng tôi giả định, như trước đây, truyền thông đó là đáng tin cậy nhưng các quá trình có thể thất bại. Trong phần này chúng ta xem xét Byzantine (tùy ý) thất bại quá trình, cũng như thất bại của vụ tai nạn. Chúng ta đôi khi chỉ định một giả định rằng có đến một số số f của các quá trình N bị lỗi - có nghĩa là, họ Ex hibit một số loại nhất định lỗi xảy ra; phần còn lại của quá trình này là chính xác. Nếu thất bại tùy ý có thể xảy ra, sau đó một yếu tố quy định cụ thể hệ thống của chúng tôi là liệu các quy trình kỹ thuật số đăng ký các thông điệp mà họ gửi (xem mục 11.4). Nếu quá trình đăng ký tin nhắn của họ, sau đó một quá trình bị lỗi được giới hạn trong những thiệt hại nó có thể làm. Cụ thể, trong một thuật toán thỏa thuận nó không thể làm cho một tuyên bố sai về những giá trị mà một quá trình chính xác đã được gửi đến nó. Sự liên quan của ký thông báo sẽ trở nên rõ ràng khi chúng ta thảo luận về giải pháp cho các vấn đề tướng Byzantine. Theo mặc định, chúng tôi giả định ký kết không diễn ra. Định nghĩa ofthe sự đồng thuận vấn đề • Để đạt được sự đồng thuận, mỗi tiến trình pi bắt đầu từ bang chưa quyết định và đề xuất một vi giá trị duy nhất, được rút ra từ một tập D (i 12} N??? =). Các quá trình giao tiếp với nhau, trao đổi giá trị. Mỗi quá trình sau đó đặt giá trị của một biến quyết định, di. Khi làm như vậy nó đi vào trạng thái quyết định, trong đó nó không còn có thể thay đổi di (i 12} N?? =). Hình 15.16 cho thấy ba quá trình tham gia vào một thuật toán đồng thuận. Hai quá trình đề xuất 'tiến hành' và một phần ba đề nghị 'hủy bỏ' nhưng sau đó bị treo. Hai tiến trình mà vẫn chính xác từng quyết định "tiến hành". Các yêu cầu của một thuật toán thống nhất được rằng các điều kiện sau đây nên giữ cho mỗi thực hiện nó: Chấm dứt: Cuối cùng, mỗi quá trình xác lập biến quyết định của mình. Hiệp định: Giá trị quyết định của tất cả các quá trình chính xác là như nhau: nếu pi và pj là chính xác và đã vào trạng thái quyết định, sau đó di dj = (ij 12} N =????). Integrity: Nếu các quá trình chính xác tất cả các đề xuất giá trị như nhau, sau đó bất kỳ quá trình chính xác trong trạng thái quyết định đã chọn giá trị đó. Những thay đổi trong định nghĩa của tính toàn vẹn có thể thích hợp, tùy theo ứng dụng. Ví dụ, một loại yếu về sự liêm chính sẽ cho giá trị quyết định
đang được dịch, vui lòng đợi..
