From b8a8d132b2fbd0d5186a85e0fbe472a7b4c99dc0 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Thu, 1 Nov 2018 11:41:06 +0000 Subject: [PATCH] Note why convergence is desirable --- proposals/1442-state-resolution.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/proposals/1442-state-resolution.md b/proposals/1442-state-resolution.md index 11796a1c..a07b6755 100644 --- a/proposals/1442-state-resolution.md +++ b/proposals/1442-state-resolution.md @@ -453,9 +453,13 @@ should appear in the process, as they should not appear in state (and the algorithm only uses events in one of the state sets or their auth events). This helps ensure that different servers' view of state is more likely to -converge, since rejection state of an event is may be different. This can happen -if a third server gives an incorrect version of the state when a server joins a -room via it (either due to being faulty or malicious). +converge, since rejection state of an event may be different. This can happen if +a third server gives an incorrect version of the state when a server joins a +room via it (either due to being faulty or malicious). Convergence of state is a +desirable property as it ensures that all users in the room have a (mostly) +consistent view of the state of the room. If the view of the state on different +servers diverges it can lead to bifurcation of the room due to e.g. servers +disagreeing on who is in the room. Intuitively using rejected events feels dangerous, however: