In the past weeks I had this continious thinking about how can we approach a distributed peer to peer social media network. I faced this problem where I don’t know the best way to identify a piece of content and here is why.
If we say the post I wrote on my blog is identified by the the URL and you shared this URL you assume people will open the link and find the article you mean to share.
But If after you shared it I changed the content completely to something else now the URL doesn’t point to the actual article you wanted to share.
But “changing the content completely” is the extreme. there is a scale between not changing the not changing the content at all and replacing the whole post with another post like fixing a typo or adding referenced at the end or thanks and aknowledgment section or adding a paragraph or a notice that the content is outdated.
Twitter for example is on the side of immutable content. you write the tweet once and fire it. you can’t even fix a typo. and that is annoying.
Facebook on the other end of the scale you can write a post it goes viral and you can change it to a punch of ads afterwards.
So If I’m sharing this article. what am I exactly sharing? it’s not the literal content of the article right? because you can accept little changes like me fixing a typo or adding a clarification or footnotes. but you won’t accept it if I started to change the article to a review of some hardware with affiliate links.
A system like IPFS went on to address the content with the hash of its bytes. if you change one byte it’s different content.
These are the things I assumed when I thought about a solution for this issue.
If I’m building a social media how can I address a piece of content?
So the solution I though of will be in the middle ground between both worlds (immutability and extreme alteration):
The previous solution means: