diff --git a/MultiDeviceAnnouncementsBlob.md b/MultiDeviceAnnouncementsBlob.md new file mode 100644 index 0000000..0384985 --- /dev/null +++ b/MultiDeviceAnnouncementsBlob.md @@ -0,0 +1,26 @@ +Previous: [[MultiDeviceAnnouncementsPush]] + +So what is the blob of information that is pushed by DHT annoucements. + +It has these charachteristics: + +1) It has 2 things - a name and a payload. + +2) It is small - 1K to 4K in size. + +3) The name is related to an derivable from the PersonaID - say the name is the PersonaID for now. + +4) It it pushed regularly so people can get the PersonaID relatively soon - say hourly for now. + +5) It is encrypted so that the contents can not be seen in transit. + +6) It is encrypted so that it can be verified to be from the PersonaID. + +So here is a best guess of how the encryption works. I'm not a crypto guy, so please take it with a grain of salt and help with suggestions. + +The blob is intended to be the mapping to an active ToxID, and could be a mapping to a set of ToxIDs, the set of that Personas devices, with one marked active. This set of ToxIDs could be keys that open the encrypted blob. Anyone who already has a ToxID of the Persona could open the blob to get the update. + +Unknown for now is does the client have to send an add request to the new ToxID to make it active? + +Either way the clients would manage this seemlessly to aggregate the two ToxIDs together under one Persona that is shown to the user. +