#dusk $DUSK
Các con số 2/3 và 1/2 tiếp tục xuất hiện ở các phần khác nhau trong tài liệu đồng thuận, và tôi cứ xử lý chúng như cùng một ngưỡng nhưng được ghi bằng ký hiệu khác nhau. Không phải vậy. Đó là hai quy tắc ngưỡng bỏ phiếu khác nhau cho hai kết quả khác nhau.
Ngưỡng chấp thuận khối: ≥ 2/3 số tín chỉ của ủy ban phải bỏ phiếu Hợp lệ (Valid). Đây là ngưỡng siêu đa số. Với một ủy ban 64 tín chỉ, điều đó có nghĩa là ít nhất 43 tín chỉ cần đồng ý rằng khối là đúng trước khi nó được chấp nhận.
Ngưỡng từ chối khối: > 1/2 số tín chỉ của ủy ban — nghiêm ngặt là lớn hơn một nửa, cộng một — phải bỏ phiếu Không hợp lệ (Invalid), Không có Ứng viên (NoCandidate), hoặc Không đủ ứng viên (NoQuorum). Đây là ngưỡng đa số đơn giản. Với 64 tín chỉ, điều đó có nghĩa là ít nhất 33.
Cùng một ủy ban. Nhưng ngưỡng khác nhau. Đạt được sự chấp thuận khó hơn việc kích hoạt một thất bại.
Vậy tại sao ngưỡng từ chối lại không yêu cầu 2/3.
Sự bất đối xứng là có chủ ý. Lý do thiết kế là việc chấp thuận một khối cần mức độ tin cậy cao — bạn không muốn một khối được chấp nhận trừ khi một đa số mạnh đồng ý rằng khối đó là đúng. Nhưng việc đóng lại một lần lặp thất bại thì không mang rủi ro tương tự. Nếu bộ sinh khối bị offline, hoặc gửi thứ gì đó không hợp lệ, bạn muốn mạng chuyển sang bước tiếp theo nhanh chóng thay vì chờ một ngưỡng cao hơn để xác nhận thất bại. Ngưỡng từ chối thấp hơn giúp mạng thất bại nhanh hơn và thử lại sớm hơn.
Thực ra, tôi thấy sự bất đối xứng về ngưỡng thú vị hơn về góc nhìn an ninh hơn là về tốc độ. Ngưỡng chấp thuận càng khó thì việc kẻ tấn công đưa một khối độc hại được chấp nhận sẽ tốn kém đáng kể hơn so với việc các trình xác thực trung thực từ chối một khối không đúng.
Điều mà tôi chưa thấy được giải thích là cách mà việc phân trọng số ủy ban tương tác với các ngưỡng này — liệu chỉ cần một bên cung cấp nắm giữ 20 trên 64 tín chỉ có thể thực sự chặn sự chấp thuận hay tự mình tăng tốc việc từ chối, hay liệu việc phân phối tín chỉ trong ủy ban khiến kiểu tập trung đó về mặt thực tế gần như là không thể. @Dusk
$DUSK #dusk
Các con số 2/3 và 1/2 tiếp tục xuất hiện ở các phần khác nhau trong tài liệu đồng thuận, và tôi cứ xử lý chúng như cùng một ngưỡng nhưng được ghi bằng ký hiệu khác nhau. Không phải vậy. Đó là hai quy tắc ngưỡng bỏ phiếu khác nhau cho hai kết quả khác nhau.
Ngưỡng chấp thuận khối: ≥ 2/3 số tín chỉ của ủy ban phải bỏ phiếu Hợp lệ (Valid). Đây là ngưỡng siêu đa số. Với một ủy ban 64 tín chỉ, điều đó có nghĩa là ít nhất 43 tín chỉ cần đồng ý rằng khối là đúng trước khi nó được chấp nhận.
Ngưỡng từ chối khối: > 1/2 số tín chỉ của ủy ban — nghiêm ngặt là lớn hơn một nửa, cộng một — phải bỏ phiếu Không hợp lệ (Invalid), Không có Ứng viên (NoCandidate), hoặc Không đủ ứng viên (NoQuorum). Đây là ngưỡng đa số đơn giản. Với 64 tín chỉ, điều đó có nghĩa là ít nhất 33.
Cùng một ủy ban. Nhưng ngưỡng khác nhau. Đạt được sự chấp thuận khó hơn việc kích hoạt một thất bại.
Vậy tại sao ngưỡng từ chối lại không yêu cầu 2/3.
Sự bất đối xứng là có chủ ý. Lý do thiết kế là việc chấp thuận một khối cần mức độ tin cậy cao — bạn không muốn một khối được chấp nhận trừ khi một đa số mạnh đồng ý rằng khối đó là đúng. Nhưng việc đóng lại một lần lặp thất bại thì không mang rủi ro tương tự. Nếu bộ sinh khối bị offline, hoặc gửi thứ gì đó không hợp lệ, bạn muốn mạng chuyển sang bước tiếp theo nhanh chóng thay vì chờ một ngưỡng cao hơn để xác nhận thất bại. Ngưỡng từ chối thấp hơn giúp mạng thất bại nhanh hơn và thử lại sớm hơn.
Thực ra, tôi thấy sự bất đối xứng về ngưỡng thú vị hơn về góc nhìn an ninh hơn là về tốc độ. Ngưỡng chấp thuận càng khó thì việc kẻ tấn công đưa một khối độc hại được chấp nhận sẽ tốn kém đáng kể hơn so với việc các trình xác thực trung thực từ chối một khối không đúng.
Điều mà tôi chưa thấy được giải thích là cách mà việc phân trọng số ủy ban tương tác với các ngưỡng này — liệu chỉ cần một bên cung cấp nắm giữ 20 trên 64 tín chỉ có thể thực sự chặn sự chấp thuận hay tự mình tăng tốc việc từ chối, hay liệu việc phân phối tín chỉ trong ủy ban khiến kiểu tập trung đó về mặt thực tế gần như là không thể. @Dusk
$DUSK #dusk

