Subscriptions

A subscription allows a user to receive broadcasts from a subscribed address. Since broadcasts are encrypted, a subscription is a must-have, because the public key of the sender is required to decrypt a broadcast.

Safety
A Broadcast is encrypted with a key, that can be derived from the address it was sent from. To decrypt a broadcast without having the address requires a user to convert a public key to the address it is used for. After this has been done, the derived key must be created from each generated address and decryption has to be tried. This process gets harder with more active addresses being in the network but it is possible.

Once a broadcast is decrypted, the sender address is known. Now every broadcast ever sent and every broadcast sent in the future can be decrypted. If this happens, depending on the content in the broadcasted message, the sender might want to take steps for plausible deniability.

Storage
Broadcasted messages and the subscription entry itself are stored in the messages.dat.