diff --git a/proposals/1442-state-resolution.md b/proposals/1442-state-resolution.md index c6ae5e701..021990040 100644 --- a/proposals/1442-state-resolution.md +++ b/proposals/1442-state-resolution.md @@ -449,8 +449,9 @@ event (rather than based on their auth chain) are handled as usual by the algorithm, unless otherwise specified. Note that no events rejected due to failure to auth against their auth chain -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). +should appear in the process, as they should not appear in state (the algorithm +only uses events that appear in either the state sets or in the auth chain of +the events in the state sets). This helps ensure that different servers' view of state is more likely to converge, since rejection state of an event may be different. This can happen if @@ -461,7 +462,7 @@ 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: +Intuitively, using rejected events feels dangerous, however: 1. Servers cannot arbitrarily make up state, since they still need to pass the auth checks based on the event's auth chain (e.g. they can't grant themselves