Your post describes a ( ) protocol ( ) github repo ( ) manifesto ( ) kickstarter for a distributed social network.
Your idea will not work. Here is why it won’t work. One or more of the following flaws may apply to your particular idea.
( ) You think “if you build it, they will come”
( ) All of the other social networks with more users, developers, time, and money
( ) “Users want to own their data” is an ideology not a use-case
( ) Public keys are not a magic wand to make security issues disappear
( ) Social problems dominate the technical ones
( ) People use email for that
Specifically your design fails to account for
( ) Scale
( ) Adoption
( ) That popularity is a Distributed Denial of Service attack
( ) Malicious Denial of Service attacks can happen too
( ) Only supporting ASCII or Latin-1 is racist
( ) HTTP Caching and Load Balancing
( ) Timezones are a necessary evil
( ) So is Unicode
( ) NAT Traversal
( ) Federation exists already
( ) DNS is still centralized
( ) Cross-site-scripting and SQL Injection are not features
( ) Further fragmentation will not solve interoperability
( ) Spam
and the following philosophical objections may also apply
( ) Character limits are the QWERTYUIOP of messaging
( ) Your homebrew markup is a tragedy of regular expressions
( ) Your understanding of HTTP and Representational State Transfer, is as informed as a youtube comment
( ) If it can’t be used for piracy, it isn’t decentralized enough
( ) You are proposing a new central point of failure
( ) OAuth. Now you have two problems
( ) OAuth2. The SOAP of Authentication
Furthermore, this is what I think about you:
( ) Sorry, but I don’t think it would work.
( ) This is a stupid idea, and I am going to make fun of you on a centralized social network.
( ) I will enjoy watching your dreams fall into obscurity and regret. I have popcorn.