In a system hosting shared mutable data, we may allow any participant to mutate data. However, there should be some limits to what participants can do.
- Participants shouldn't impersonate other participants
- Participants shouldn't be able to corrupt data
- Participants shouldn't be able to manually mutate immutable data (this includes datasets that are lawfully defined to be derived from some source dataset)
- Participants shouldn't be able to overcome added security measures set within the system
In CRDTs, usually a machine is identified using some random identifier or one that is uniquely drawn from the system in some way. Conventional CRDTs are not byzantine fault tolerant in that any peer can use any identifier, including those of others.