It’d be cool if there was some mechanism for secure communication between sender/receiver.
Ideally, the mechanism would be secure from eavesdroppers and authenticated by the bitcoin addresses involved (so would be as anonymous as those addresses).
Also ideally either store-and-forward (email-like) AND/OR real-time (instant-message-like) communication should be possible.
Storing the messages in the block chain as part of transactions (as proposed by several people) is probably NOT the right approach. And building the actual message communication into core bitcoin may not be the right approach.
Use cases to design for:
- Store wants to send anonymous customer information on status of an order they paid for a while ago. (example: “free upgrade for the software you bought last week is available” or “warning: the file you downloaded yesterday has been reported to contain malware”) – what about possiblity of spam?
- Customer wants to send authenticated message about a payment they sent (example: “I messed up the shipping address, please send to ‘123 main street’ instead of ‘213 main street’” or “the file I just got from you contains a virus”)
Bitcoin knows how to sign transactions with the public key corresponding to a bitcoin address; the key feature needed is, Gavin thinks, authentication: are you really communicating with the sender/receiver of bitcoin address? Perhaps bitcoin could support a function “please sign this arbitrary stuff with bitcoin address for which you have the private key and return the digital signature”; that might be sufficient to integrate with existing secure messaging infrastructure (like PGP email).