Here is prof-of-concept how this can be accomplished considering technologies in place. This is high-level simplified architecture to prove the concept, as it opens new perspective for those who think about direct messaging with no central authority involved. Will be implemented soon if stars will fall for that.
Building blocks for the application and architecture principles
The components needed are new mobile app; some cryptocurrency platform; some cloud file storage; ability to send and receive SMS messages (optional). I based my model based on crypto currency platform Stellar (https://www.stellar.org/), as it has reasonable low currency price and transaction fee, and network storage platform Box (https://www.box.com/en-gb/home), as it seemed to have good API description, but you may use your crypto of choice and cloud storage you want.
Users are defined anonymously in the process of creating the cryptocurrency valet for them. The same credentials are used to encrypt and decrypt messages transported over the network. The cloud storage is used to place and take message in an anonymous way. Currency is used to transfrer information about message ID.
In this simplified model communication is possible only among contacts in your address book. No broadcasts are available. No messaging to people you do not know. Just single storage provider. Just single currency provider.
New user registration
User must have smartphone and his/her cell phone number.
Standard mobile app creates Stellar wallet to hold user’s private key for its lumen transactions.
Standard Box user is created to hold user’s messages. The user authorization information is prepared for distribution to every contact that will be contacted in the future.
Adding user to the address book
When inviting new Receiver to your address book, application sends SMS to the Receiver’s cell sending your Stellar account ID (public key) and whole credentials of your Box storage (ID and authorization data).
The other application in response sends its own information. If both parties cannot agree on information exchange Receiver is not added to the address book.
Sending the message
Sender uses its application like any other messaging app, and creates message, text, voice or video file. App saves the message with some random or incremental name, i.e. 123.
Sender saves message in his/her cloud storage as a plain file. i.e. in his/her Box account.
App encrypts the file with Sender’s private key and Receiver’s public key.
App sends 0.xxxxxx units of crypto to Receiver, where xxxxxx is the name of the newly created file. I.e. 0.123 lumens. There fore Receiver knows that there is a message for him/her.
Receiving the message
Receiver gets notification that crypto has been transferred to this account from the Sender. I.e. amount 0.123 lumens.
Receiver logs into the account of Sender for the file xxxxxxx and acquires it. I.e reads file 123 from the Sender’s Box cloud storage.
Receiver uses its application like any other messaging app, and reads message, text, voice or video file.
Parties might want to acknowledge that the message have been delivered. Then Receiving party may place file with the same name in own storage, with conformation text in the body. Then Sender and Receiver can deletes the messages.
Sender might want to protect its message from accidental or intended deletion. This may be done by assigning only read-only access rights to its content.
Seems that platform in its full implementation cannot be censored or closed by anybody as there is no anybody. In the model above actually there is no "platform", just many senders and many receivers integrated via their direct contacts. No central servers. No supervisors. The use cases may expand to multiple countries, form independent circles, it can split into independent segments and so on.
Like Bitcoin was growing then, distributed messaging platform may grow quite unsupervised by itself. The platform is designed be used by good people for good reasons, please do not abuse this.