If I were to build a messaging app for Hive it would not store the content on the blockchain to avoid bloating it. What I would do is establish a connection between users by verifying that the messages are signed using the current public keys . The only contact with the blockchain would be to verify that the messages are signed with the correct keys on a P2P second layer.
The actual encryption key would be established using the Diffie-Hellman protocol.
@sn0n would like to have a word with you, he's been touting this idea since I first started talking with him. Maybe someday.
I thought about it in the beginning but the idea is that anyone can create their own message service if they need it