1. In a sync community that includes a plurality of replicas, a protocol for replicating a first replica with a second replica, the protocol comprising: a request changes message from a first replica used to request changes that the first replica is unaware of, wherein the request changes message includes a knowledge argument used to represent a knowledge of the first replica; and a convey changes message used by the second replica to convey changes to the first replica, wherein the convey changes message includes a change argument and a change ID, wherein the change is to be applied to the first replica and wherein the change ID includes a replica ID that identifies which replica in the sync community that originated the change.