Các thuật toán đầu tiên để giải quyết Byzantine thỏa thuận đã được đề xuất bởi Lamport et al. [20]. Chúng tôi trình bày hai phiên bản của các thuật toán.Phiên bản đệ quy của thuật toán được đưa ra trong thuật toán 14.2. Mỗi thông điệp có các tham số sau: một sự đồng thuận ước tính giá trị (v); một tập hợp các điểm đến (Dests); một danh sách các nút ngang qua tin nhắn, từ đặt ít nhất là tại (danh sách); và số lượng Byzantine xử lý mà cácthuật toán vẫn phải chịu đựng được (bị lỗi). Danh sách L = (Pi, Pk1... PKF 1 bị lỗi)đại diện cho chuỗi quá trình (chỉ) trong biểu thức kiến thức Ki (Kk1 (Kk2... Kkf 1 bị lỗi (v0)...)). Kiến thức này là những gì Pk con- veyed để Pk f −faulty + −chuyển tải đến... Pk1 f + 1−faultychuyển tải đến Pi người truyền đạt đến các người nhận thư này, giá trị của người chỉ huy (SMEgiá trị chướng. f + 1−faulty )'s ini- Chỉ huy invokes các thuật toán với tham số bị lỗi thiết lập để f, số lượng tối đa của các quá trình độc hại để được dung thứ. Sử dụng thuật toánf + 1 vòng đồng bộ. Mỗi tin nhắn (có tham số này bị lỗi = k)nhận được bởi một quá trình invokes trường hợp một số thuật toán với tham số bị lỗi = k − 1. Trường hợp terminating của đệ quy là khiCác tham số bị lỗi là 0. Như các nếp gấp đệ quy, sively progres mỗi quá trình tính đa chức năng trên các giá trị nó sử dụng như một nguồn cho rằng mức độ invocation trong unfolding, và các giá trị nó có chỉ com-puted như là sự đồng thuận giá trị bằng cách sử dụng các chức năng đa cho mức độ thấp hơn của invocations.Có là một mũ số lượng thư O (nf) được sử dụng bởi thuật toán này. Bảng 14.3 cho thấy số lượng thư được sử dụng trong mỗi vòng của thuật toán, và liên quan con số đó cho số lượng các quy trình đã viếng thăm của bất kỳ thư nào, số lượng các điểm đến của thư đó.Như nhiều tin nhắn nhận được trong bất kỳ một vòng từ mỗi của các quá trình khác, họ có thể phân biệt bằng cách sử dụng danh sách, hoặc bằng cách sử dụng một tính năng lập lịch thuật toán trong mỗi vòng. Một phiên bản lặp đi lặp lại chi tiết của các thuật toán cao cấp đệ quy được đưa ra trong thuật toán 14.3. Đường 2a-2e tương ứng với các hành động unfolding của mã giả đệ quy, và đường 2f-2giờ tương ứng với các gấp của các đệ quy pesudo mã. Hai hoạt động được xác định trong danh sách L: head(L) là thành viên đầu tiên của danh sách L, trong khi tail(L)
đang được dịch, vui lòng đợi..
