TekMol 2 hours ago

Why is this so complicated?

Can't we build a social network with a simple protocol:

1: Each user has a private key that they use to sign their messages.

2: Each user keeps a list of instances who announced that one of their members follows them. When the user posts something, they broadcast the post to those instances.

Shouldn't this be enough?

It could all be url based. One user, one url.

When Sue wants to read Joes latest posts, she sends this request:

someserver.com/joedoe?action=latest_posts

When Sue wants to follow Joe, she sends this request:

someserver.com/joedoe?action=follow&from=otherserver.com/suelue&sig=f819h...

  • pwg 2 hours ago

    For a small network and low "follower" counts, yes.

    But the moment you start scaling to potentially millions of posters each with a disjoint set of millions of followers the M:M connections for broadcast become problematic. The result of a chatty enough group would look identical to a DDOS to many/most of the nodes.

    • TekMol 2 hours ago

      Every instance would only get the messages that its members have subscribed to. How can any system be more efficient than this?

      A $5/month VM could ingest millions of messages per day. What's the problem?

      • twosdai an hour ago

        Build it and get your friends to join you.

      • fragmede 41 minutes ago

        Taylor Swift is the problem. In terms of the system design and architecture, it's an interview question for a distributed systems engineers. You've got a superstar user, with 89 million followers, how do you scale every aspect of your system to handle when she posts? Naturally you're object and say that Taylor Swift isn't going to moving to TekMolTwitter, but pwg said it won't work after a certain size and you said why not, and the short answer is that it doesn't scale past N users, and you can just cheat and say N is higher than you want to care about. We could do a bit of back of the envelope math to see that notifying 15 million users will saturate the gigabit link on you're $5 VPS if each notification packet is 64 bytes, and then design all sorts of queues and caches and redis and and and. It's a fun interview question (and practical problem for Twitter/X) but at the end of the day, if you believe in it, just go build it and get all of your friends and family to join TekMolTwitter (or Mastodon). It's entirely within your capabilities in 2025 to just go out and make something like that, so the thing is, if this is a something that you believe in you can just go do it. No one's stopping you.

        https://highscalability.com/the-architecture-twitter-uses-to...

        The reality is people aren't gonna bother when Facebook/Instagram/Snapchat/Twitter/TikTok/Substack/etc is right there.

  • nozzlegear 2 hours ago

    > Can't we build a social network with a simple protocol:

    > 1: Each user has a private key that they use to sign their messages.

    > 2: Each user keeps a list of instances who announced that one of their members follows them. When the user posts something, they broadcast the post to those instances.

    > Shouldn't this be enough?

    > It could all be url based. One user, one url.

    I might be misremembering how it works, but this sounds conceptually similar to how Ghost (the blog platform) works after their recent 6.0 update. They now support federation, posting on Bluesky and Mastodon, etc.

  • TylerE 2 hours ago

    That falls apart as soon as one single node is a bad actor and starts sending out DDOS floods.

    To add one simple, fundamental objection that scuppers your whole plan: Who allocates usernames? What happens if two instances have two seperate joesmiths?

  • pjc50 2 hours ago

    shrug if you think it's simple, why don't you build it?

    • slipheen 2 hours ago

      Because the technical aspect of building the software like is the most fun and nerd–sniping, but perhaps the least important part in the process of building an audience and encouraging people to adopt it.