Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: s@: decentralized social networking over static sites (satproto.org)
408 points by remywang 1 day ago | hide | past | favorite | 219 comments
 help



This suffers from the same problem that so so so many alternative social, federated, self-hosted ideas suffer from. Matrix, keybase, pgp, etc.

It’s too dependant on encryption. Yes, it’s a cool technical feat that stuff can be in the open but also private - but:

1. I want to be able to follow my freinds if my phone dies and i have to get a new one.

2. I am very technical, and idk exactly what a X25519 keypair is.

I would like for people to come up with more stuff like this that is designed for small communities but not for very secure communication. Like I want something where it’s secured by a username and password, that i give to a server i am registered with - and that server handles the encryption business. If the server rotates keys, that’s for the admin to figure out and exchange keys with sibling servers.

Idk I’m just making up specifics but this is the kind of ethos i think is needed to make things that can be successful with non-technical people in a way that can unseat big tech.

In case i sound too critical - this is cool. It just isn’t something i can use with family and friends to replace facebook or even email.


I could see myself making similar comments. On a practical level, they're valid. But maybe...

If we are ever going to free ourselves of rent-seeking middle men, we simply have to make a cultural change where non-technical people do more for themselves. I don't even think it's about technical difficulty (most of the time). I think people just want someone else to take care of their shit.


>, we simply have to make a cultural change where non-technical people do more for themselves. I don't even think it's about technical difficulty (most of the time). I think people just want someone else to take care of their shit.

The above includes us highly technical people on HN. We really can't expect (or lecture) the normal mainstream population to make a cultural change to adopt decentralized tech when most of us don't do it ourselves.

E.g. Most of us don't want to self-host our public git repo. Instead, we just use centralized Github. We have the technical knowledge to self-host git but we have valid reasons for not wanting to do it and willingly outsource it to Github. (Notice this thread's Show HN about decentralized social networking has hosted its public repo on centralized Github.)

And consider we're not on decentralized USENET nodes discussing this. Instead, we're here on centralized HN. It's more convenient. Same reason technical folks shut down their self-hosted PHP forum software and migrate to centralised Discord.

The reason can't be reduced to just "people being lazy". It's about tradeoffs. This is why it's incorrect to think that futuristic scenarios of a hypothetical easy-to-use "internet appliance" (possibly provided by ISP) to self-host email/git/USENET/videos/etc and a worldwide rollout out IPv6 to avoid NAT will remove barriers to decentralization.

The popular essay "Protocols Not Platforms" about the benefits of decentralization often gets reposted here but that doesn't help because "free protocols" don't really solve the underlying reasons centralization keeps happening: money, time, and motivation to follow the decentralized ethos.

"But you become a prisoner of centralized services!" -- True, but a self-hosted tech stack for some folks can also be a prison too. It's just a different type. To get "freedom" and escape the self-hosted hassles, they flee to centralized services!


I agree with you that it's about tradeoffs.

The cost ($$$, opportunity cost, and mental toll) of maintenance is very real. It can be hugely advantageous to outsource that effort to a professional, PROVIDED the professional is trustworthy and competent. To ensure that most professionals are trustworthy and competent two things need to be present:

1. A very high degree of transparency, so that it's very difficult for a service provider to act contrary to their user's interests without the user knowing about it.

2. Very low switching costs, so that if the service provider ever does act against their users' interests, they will be likely to lose their users.

As long as our laws encourage providers to operate in black-box fashion, and to engineer artificially high switching costs into their products, I believe there will continue to be a case for self-hosting among a minority of the population. And because they are a minority, they will be forced to also make use of centralized services in order to connect to the people who are held hostage by those high switching costs.

Somewhere in the multiverse, there's a world in which interoperability and accountability have been enshrined as bedrock principles and enforced since the beginning of the internet. It would be very interesting to compare that world with the one we inhabit.


It depends a lot on how accessible those services are. I tried to host some git repos 5 years ago and it was a hassle (needed mostly private git and reviews nothing fancy). I tried again this year and using forgejo was extremely easy. I don't remember exactly what problems I had before, so maybe I got better at finding things, but this time felt more polished. Containers, reasonable defaults, good tutorial on how to start, took in total less than one hour. I did in the meantime an upgrade and that was really 5 minutes (check change-log, apply it and go)

Of course, lots of work was done in the background to reach this point, but I think it is possible. Will I make the effort to make that happen for a social network? No, because I am not using them that much.

Technically things become simpler (in the sense that you can do it "at home" and if you add LLM-s to answer you when you don't know some obscure option it is even easier), but identifying well the use-case, deciding defaults, writing documentation, juggling trade-offs will remain as hard as before.

Note/edit: something being possible does not mean one should do it, so I think it will depend on everybody's priorities and skills. I wish though good luck to anybody trying...


Out of curiosity, how do you handle backups?

(To my great disappointment, a lot of "how to self-host" guides just omit that step, and quietly assume that disks don't go bad...)


Not the poster, but: use ZFS or LVM + XFS on your machine, do a snapshot, use restic or kopia to back it up to cheap object storage in the cloud, such as R2. If it's too technical, run syncthing and mirror it to a USB-connected external disk, preferably a couple of meters away from your machine.

A poor haphazard backup is better than no backup.


> A poor haphazard backup is better than no backup.

but is it better than cloud provider?

Cloud provider can lock you out without recourse and you'll lose your data.

Local backups can fail, be destroyed (for example a failed PSU kills both your PC and any attached devices), or be deleted by malware

How complex do you need to have your local backup to achieve cloud providers' reliability?


The best backup is a proper 3-2-1, with regular testing of integrity, and regular restoration from a backup as an exercise. But most people cannot be bothered to care quite so much.

So, keeping a half-assed backup copy on a spouse's machine in a different room is still better than not keeping any copy at all. It will not protect from every disaster, but it will protect against some.

My own backups progressed from manual rsync to syncthing to syncthing for every machine in the house + restic backups (which saved my bacon more than once).


>And consider we're not on decentralized USENET nodes discussing this. Instead, we're here on centralized HN. It's more convenient. Same reason technical folks shut down their self-hosted PHP forum software and migrate to centralised Discord.

You're contradicting yourself. Why is HN centralized, while a phpBB forum is decentralized? Are you conflating decentralization and being open source?


>Why is HN centralized, while a phpBB forum is decentralized?

There's a spectrum of decentralized <--> centralized for different audiences.

For this tech demographic here where installing some type of p2p or federated discussion tech (Mastodon? Matrix?) is not rocket science, it's more convenient for us to avoid that and just be on a "centralized" HN. I used to be very active on USENET and HN is relatively more centralized than a hypothetical "comp.programming.hackernews" newsgroup. This is not a complaint. It's an observation of our natural preferences and how it aggregates. (Btw, it's interesting that Paul Graham started this HN website but doesn't post here anymore. Instead, he's more active on Twitter. He's stated his reasons and it's very understandable why.)

For the phpBB forums where a lots of non-tech people discuss hobbies such as woodworking, guitar gear, etc., the decentralization perspective is the php forums and the centralization is towards big platforms such as reddit / Discord / Facebook Groups.

I see similar decentralized --> centralized trends in blogs. John Carmack abandoned his personal website and now posts on centralized Twitter.

My overall point is that a lot of us techies wish the general public would get enlightened about decentralization but that's unrealistic when we don't follow that ideal ourselves. We have valid reasons for that. But it does a create a cognitive dissonance and/or confusion as to why the world doesn't do what we think they should do.

EDIT add reply: >Wouldn't comp.programming.hackernews concentrate discussion under a single heading and also be hosted from a single specific computer?

Usenet is more decentralized/federated: https://en.wikipedia.org/wiki/Usenet#:~:text=Usenet%20is%20t...


> I used to be very active on USENET and HN is relatively more centralized than a hypothetical "comp.programming.hackernews" newsgroup.

How so? Wouldn't comp.programming.hackernews concentrate discussion under a single heading and also be hosted from a single specific computer? This confuses me even further; I don't understand what you mean by centralization.

>For the phpBB forums where a lots of non-tech people discuss hobbies such as woodworking, guitar gear, etc., the decentralization perspective is the php forums and the centralization is towards big platforms such as reddit / Discord / Facebook Groups.

Surely by this interpretation HN is decentralized. It's a special interest (if relatively broad) forum just like those phpBB forums were. I ask again: is HN "centralized" just because you can't spin up your own copy of the software to use it to talk about gardening?


> we simply have to make a cultural change where non-technical people do more for themselves

This only works with a TINY part of the population. Most people, even if they actually do care, just don’t want to expend the immense mental capacity to learn all the technical specifics. This stuff is HARD for people. Imagine having to learn metallurgy in order to drive a car.

> I don't even think it's about technical difficulty (most of the time)

I do. We simply don’t appreciate enough how HARD things are for non-technical people that we take for granted.

> I think people just want someone else to take care of their shit

Of course, that’s what software is supposed to do. And we can build software that does this, even with good primitives. We just have to laser-focus on UX and can not hand-wave away glaring issues that will instantly lose 95% of users like most of us keep doing.


One thing you learn from game theory is that you need to understand the rules of the game everyone is playing. You cannot change them, you can only play by them.

"Making a cultural change" is not something you or any group of people can do. The superstructure of the game decides those, not the players. You can try, but nobody will play your new game.


There’s room for both pragmatic and idealistic solutions in most cases. Sometimes the rules of the game change on short notice, and being in the right place at the right time makes all the difference.

It is not about playing new games though, but about affecting subtle changes over prolonged periods of time. You can't know the outcome, but you can help steer the right overall direction.

This isn’t true, or is true but much more limited in scope than you’re presenting it.

The ultra-rich spend big money chasing influence and power in order to change cultural norms. And it works.

Covid, and its backlash. changed cultural norms, while the rules of the “game” remained largely untouched.


Thats not at all a leason I learned during my years with game theory. It sounds like a life-lesson completely orthogonal to game-theory.

And wrong I must add, ignoring people who have made an actuall change in the world (although its true that most people end up making very little difference either way).


What's wrong with middle men? They provide a service, too.

Eg your bank genuinely helps with finance and transfers compared to transacting directly on a blockchain or snail mailing cash around.

> I think people just want someone else to take care of their shit.

Yes, division of labour!


> What's wrong with middle men?

Purely on a philosophical point of view and depending on where you live, they do nothing but increase the costs without adding value.

For example, realtors made sense back in the day when there was no internet. But, what value does a real estate agent add in 2026? An owner can list their apartment/house directly online. The buyer and search, find and contact the owner directly, a lot of times even for free (FB Marketplace, WhatsApp groups, etc.).

The most common argument is - "when things go wrong, the agent will take on the liability for the listing", but that is rarely the case in real life (again, may vary greatly depending on where you live). In most of Asia, this is not the case at all. They take their nice fat commission and wash their hands off later, not even picking up your calls most of the time when there is an issue.

So what do agents do now? They hoard information instead. They advertise good listings, but to talk to the owner you will need to engage (and pay them) first.

Real estate agents are just one. Car dealerships rank right on the second in my list.

We don't need more agents. We need democratized access to information.


> An owner can list their apartment/house directly online.

How will anyone find the house? If I use an online estate agent, then that's still a middle man. If I publish adverts on Facebook or Google, that's a middle man. If I'm hoping that I can generate enough SEO for my house to appear at the top of searches, that's also relying upon a middle man - the search engine. I guess I could just put a board outside the house with a URL on it and hope someone stops to take a photo.

Estate agents provide that marketing service as well as others around arranging viewings and interaction with solicitors, although that might be UK specific. But they do provide a service that would take a crazy amount of time for you to replicate by yourself for a one-off house sale.


> How will anyone find the house? If I use an online estate agent, then that's still a middle man.

Right now your realtor is paying your listing fees, paying a photographer (maybe) and paying to stage the home (again, maybe). Those are all fixed fees. Then the realtor takes a percentage of the transaction. If the realtor goes away, those fixed-fee services can all still exist and be easy to use. You could even replace the realtor with a general contractor sort of person who manages them and also charges a fixed fee and it’d still be a win.


Thanks, this is the best logical explanation to this argument, hands-down.

I find it amusing that the person who brought up the word "middleman" is implicitly pointing at big internet companies, and here you are telling me Facebook or WhatsApp are not middleman.

It is a very broad categorization to call anyone in-between a middleman. By that logic, these are all middleman because I use their service to sell a house:

1) My ISP because I use internet through them

2) My phone service provider, because I make calls via their network

3) My car manufacturer / leasing because I pay a monthly fee to go visit the listing

But, by my perhaps opinionated definition, none of the above should be classified as active middlemen because they don't interfere with my transaction w.r.t the listing. Facebook and WhatsApp are not active middlemen. They are simply just a listing service. I could replace them with say, Craigslist or even a Google sites web page and I would still be fine. The worst that could happen is I might be asked to pay a small fixed fee like $20 for a listing/webpage. The service provider (generally) doesn't care what the listing is about. That's why it's passive.

Real estate agents are active middlemen. They in most cases prevent the transaction altogether if you don't use them. They are not asking a fixed fee, they are asking for a percentage of the transaction - when the value they add doesn't compound with the transaction amount. That's why.


I think the point is to reduce the amount of middleman.

But why? More competing middle men is better than fewer.

The idea is fewer LAYERS of middle men - not less middle men competing for your business.

I.e. get rid of the realtors - don’t get rid of the house photographers, listings sites, and staging companies. Remove a layer between you and a sale, don’t reduce the number of photographers competing to take photos of your home for sale.


Well, you should be free to bypass layers, when you want to. But sometimes they can be useful, and people should be allowed to add layers.

Eg a concierge is purely a middle man between you and various restaurants and venues. Many people find them useful.

If the concierge is outsourcing some of the calls and research she has to make to some assistant in the Philippines, that should be fair game.


I do not disagree. You are free to use a realtor, and/or Facebook, and/or whatever.

I disagree. I do not care about the details of a ton of stuff. I do not even understand them.

On the other hand, I do care about people that are knowledgeable of these details, specialized, and trust to handle them for me for a fee.

That’s true of banking, realting, health, security, building, manufacturing of everything I use (or almost). That doesn’t prevent me from vaguely understanding the principles and some bits. And that saved me a ton of time and worry. But for the few times one agent does not work up to his promises.

I am 49, I have dealt enough with try to do all by myself, and I do appreciate and rely onto middlemen way earlier now.


This is fine and works for small ticket items. But in some cases, you will end up paying upto 50% of the ticket value. Eg. Realtors in some countries charge 50% of the transaction value - while the value they provide doesn't scale with transaction amount. Usually, a $200,000 house and a $2,000,000 house require the same amount of paper work (of course, depends on where you live, etc).

Yes. The crucial bit is that there are plenty of competing middle men you can choose from (and are also allowed to do it yourself, where possible).

> For example, realtors made sense back in the day when there was no internet. But, what value does a real estate agent add in 2026? An owner can list their apartment/house directly online. The buyer and search, find and contact the owner directly, a lot of times even for free (FB Marketplace, WhatsApp groups, etc.).

Is anyone forcing you realtors where you live?

FB Marketplace is just another middle man. (And that supports my thesis from another follow up comment: you want lots of competing middle man!)

Btw, real estate agents in eg the UK take about half the cut in a typical home sale compared to the US.

> Car dealerships rank right on the second in my list.

Yes, and as far as I know they are only a problem in the US, and that's because the US has crazy regulations that pretty much mandate car dealerships. In eg Germany you can buy your car direct from Volkswagen or from any dealership you want.

> We don't need more agents. We need democratized access to information.

Let a thousand flowers bloom. We need more agents, more competition. (But also make direct access legal, where possible.)


> Is anyone forcing you realtors where you live?

Yes. You can self-list on fb marketplace, but you can’t list a home in the MLS listing service they all use without using a realtor - and the buyer’s agents won’t show your home or suggest it to their clients.

So yes, they are using their dominant position in the market to protect their dominant position in the market.


We made very good experiences with a realtor when we bought our apartment. Where I live, there is a lot of bureaucracy at play and the process is not easy to understand even when you have experts to ask. There have also been very sophisticated frauds on both sides - sellers and buyers - that a realtor from a well-known franchise blocks.

Generally, I see no problem with competent middle men. They offer a service like any other service. If you want the service, you buy it, and if you don't want it you don't.


> there is a lot of bureaucracy at play and the process is not easy to understand even when you have experts to ask

I’d be willing to bet the reason there is a lot of bureaucracy at play is At least in part because realtors wanted job security. Just like taxes staying complex because of lobbying from tax prep companies.


I'm a bit confused about the tax prep. There's tax prep companies and software in other countries, too, and the incentives seem pretty much the same?

Germany has pretty complicated taxes, but I think they don't seem to have the same tax prep lobbying?

(In Germany, the complicated taxes are partially there because whenever you change anything or remove a complication, some people who currently benefit from that weirdness come out and complain.)

Here in Singapore taxes are mercifully simple.


Nothing wrong with middle men per se, but problems do arise when we all rely on the same middleman: those become way too powerful and can do nasty things.

By that time, no one can do without the nasty middle man as we have forgotten or never learned the skills to fend for ourselves and are thus beholden to the nasty middle man.

Network effect compounds this


As long as you have plenty of competing middle men, like we do for eg social networks in the real world, it seems all fine.

Remember: Facebook is for grandparents, not where the cool kids hang out.


Where do the cool kids hang out?

In a cool club on the other side of town, where the real cool kids go to sit around and talk bad about the other kids.

Yeah, it's a real cool club and you're not part of it.


That's ok, I dont really like clubs. Too many people

A while ago it was Instagram or perhaps tiktok?

However, take the fact that I have heard of these places as strong evidence that they are no longer cool.


There is in fact nothing wrong with a middle man who provides a service, as long as their power over you is limited to the provision of the service. The "tech platforms" are not middle men in this sense. They don't just provide a service, they also own aspects of your personal life.

> I don't even think it's about technical difficulty (most of the time). I think people just want someone else to take care of their shit.

I get where you're coming from, and as much as I'd love to see everyone become more technical, we live in a specialized society. You could use the exact same phrase to talk about fixing cars, making clothes, or producing your own produce & livestock.

A while back I, who has very little mechanical experience, decided to swap out my snow tires myself and fix a broken valve stem. After buying tools and parts (nearly the cost of having a mechanic do it) I probably spent nearly 12 hours on those two things combined. It was a slog, and didn't make logical sense for me to do it (working a bit extra to cover the cost of a mechanic's labor would have been more efficient), I just did it because I want to learn how to do basic mechanical stuff.

For a mechanic, that probably would have taken like 10 minutes - they might say "Hey, people should work on their cars more. It's not hard, people just want other people to fix their problems." But it's a lot harder for somebody who doesn't have a career in fixing cars, and I think a lot of IT guys have a bit of a blind spot when it comes to how easy tech is. Not that it's harder to learn than anything else, but that we already took the time to learn it, and it makes a lot more sense for people specialized in other things to outsource it.

The solution, IMO, is to create more user friendly alternatives to the user friendly centralized services. Open source &/or decentralization don't need to be much more complicated than something like Facebook would be.


Yes, I didn't mean to imply non-technical people need to suck it up and get comfortable with Unix man pages, say. I don't think that's possible on a large scale. But what might be possible is people learning to understand the invisible servitude they live under, and their lack of power over their own digital lives, and to start caring. That is a social and educational problem. If that happened, I believe the UX problems with self-owned software would mostly take care of themselves (and in many instances that is already the case, or nearly so).

I see where you're coming from, but I disagree. If we see it as a dilemma between:

* trust giant unaccountable organisations

* do things yourself, because you're the only one you can trust

we won't solve the issue, because there are too many things that every individual would have to understand, execute correctly , and do so with perfect OpSec.

We need to work out the social bit, as well as the technical. How do we make it practical for individuals to delegate trust to smaller organisations, so that they can switch between them if they show signs of abusing that trust? This needs social innovation as much as technical - how do we bootstrap trustworthiness for small organisations? How do we do it fast enough that the next move is to an ecology of small organisations, not just to the next Facebook/Play Store?


Agree completely. A solution would probably need to involve:

1. The alternatives being relatively easy to setup and use. This has already happened with some FOSS software.

2. Social norms changing around them (ie, it's "cool" / "normal" / "expected" to use privacy and ownership preserving alternatives). Basically has not happened at all.

3. Laws prohibiting, or limiting to a significant degree, the extent of the abuse that can be inflicted, changing the incentives. GDPR, whatever you think of its execution or effectiveness, is at least proof this kind of thing can be done.

The latter two are both very difficult problems, but I don't see any other way out.


Most people don't really care about rent seeking middle men though, so why should they put in effort into doing things themselves?

Maybe it's ok to create something that isn't for most people. That's how the internet started out. It's only gotten worse the more accessible it became to most people. Maybe it's a good thing to create a split based on capabilities and technical know-how.

But we already have a bunch of social networks that are not for everybody. The problem is that social networks are pretty much a winner-takes-all market due to network effects.

We do and many of us prefer it that way. I’m not on any major social media because I personally consider it asocial — you can’t have that many actual friends or acquaintances. My «social media» is a handful of smaller discord servers and an irc channel, and an extensive webring of personal websites.

> we simply have to make a cultural change

Yeah...


I mean, they're impossible, and yet they happen. I've seen cigarettes and seat belts change in my lifetime. As a former smoker and denizen of the world of ubiquitous airplane and restaurant smoking sections, I would have bet anything against the rapidity of change in norms and laws that occurred.

I mean cigarettes give you cancer and seatbelts can save your life. Both of them were supported by massive government initiatives and tax incentives. How is that even comparable to software middle men? The problem is not even on the same scale.

Governments have started banning social media country-wide.

How is social media a middle man service?

Or is that just another level of rent-seeking?

"one does not simply make a cultural change"

Maybe with ai assistants, everybody is effectively technical?

Then the AI assistants will be the middle men.

So anything external we depend on is a middleman at this point. We need to do better than this. :P

Convenience is king. We always pay for convenience in one way or another.

It's not rent seeking if they're providing a service

easy way will always win

1. Right after initialization you'll be prompted to export the private key and store it somewhere safe, e.g. your password manager

2. You don't need to know unless you want to implement the protocol! To use (the very barebones) implementation all you need to do is fork the repo & give access, which I admit can be too much for family/friends so you might have to set it up for them (and I bet they'd be stoked to have a website of their own!)


> Right after initialization you'll be prompted to export the private key and store it somewhere safe, e.g. your password manager

Having seen enough story in the vein of "if only I still have my bitcoin wallet from 2014" and "our storage server failed and when we tried to restore from backup we found out our last working backup was from two years ago," I have to say I have a rather dim view of how competent people actually are when it comes to keeping backups working.

I am not saying cryptography isn't useful for safeguarding your data, I just think for perhaps 90% of the users out here the risk of being locked out of your data permanently is more realistic than your data being accessed by a bad actor.

> which I admit can be too much for family/friends so you might have to set it up for them (and I bet they'd be stoked to have a website of their own!)

From reading the website, I was under the impression this is a techie oriented project still looking for technically inclined early adopters instead of something you can readily tell grandma to hop on. I sincerely doubt the average friend and family member who needs other's help to set up a personal website knows what the protocol does or why should he or she use it instead of Instagram or Facebook, or Signal, if the point is just to keep in touch with people you already know.


This is a usual pattern, a tech savvy hacker creates this great tool, but if you don’t put in the interface work to make it easy, frictionless, it might as well not exist for the general public to consume. Grandma will never use this. Or not even a slightly technical person will. (And it’s fine if that isn’t your audience ofc)

My call to any devs reading this: get an interface designer, put in the usability effort before adding new features.


The majority of users are not complete morons. If they understand the need to backup their private key (or wallet password, or whatever), they can do it. If they still don't do it, maybe they don't value their data. In 2026 even the proverbial grandma should know what a backup is, even if they don't understand exactly how a given private key or protocol works.

We shouldn't cater to such users and make our communication less secure because people put off making backups.


> In 2026 even the proverbial grandma should know what a backup is

https://xkcd.com/2501/


Authentication has gotten really annoying on the web. I don't even care if my data gets stolen for most sites. Like HN is just username and pass and I love that. I don't care if someone hacks my HN account. What are they going to do? Get all my public comments? I prefer that ease of use versus having had to 2FA every time for years.

I think a lot of even not very technical people have gotten used to TOTP QRCodes, and being able to store screenshots of them in password managers. (And having experience in losing 2FA keys that they'll go to some lengths to not repeat.)

I wonder if there's a decent way to encode these private keys in QRCodes? You can jam about 4kB in a high density one from memory? (I know that'd be possible from a developer/technical point of view, but if this were my project I'd want a talented UX designer to have complete authority over how this is presented and explained to users.)

One other idea - maybe implement a Shamir's Secret Sharing mechanism where your private keys get sharded and encrypted to a sufficient number of selected friends, so of you lose your s@ private key it can be re assembled by convincing - say - 8 out of 12 selected friends to give you their part?

Or alternatively - automate a "recovery mechanism" where you set up a new key pair and publish it on a temporary domain/site, and can then ask a friend/follower who can authenticate your identity out-of-band - to export all you posts decryptable with your new key, then put you new key and all your old posts back into your main site.


Many years ago, I had an idea to use specially formatted emails as a transport layer for a social network. Predictably, it too, went nowhere: https://medium.com/@hliyan/email-re-skinned-as-a-social-netw...

I had a similar idea, but it didn’t go very far beyond research. There are some special app interfaces that people have developed that remake email to look more modern like chat apps or social networks, by removing all the boilerplate.

Some of the issues I was thinking about:

Email clients by default block many types of messages and the allowed mime types are limited as is the support of html. So you really need your own email client to bring in the types of features we’d like to see, or, as you say, an intermediate format that is reinterpreted.

There’s also the fact that gmail or outlook mail servers may simply block and blacklist the content. Email was designed to be decentralized but it has moved to a system where a few companies control the major mail servers. If you wanted to re-decentralize email and add some anonymity then everyone would become their own mail server but this would raise the problems of email viruses and spam - and it’s not as convenient as just using your existing email and app.


I love this idea, and I’m implementing it! If I ever have a working MVP I’ll send you a link.

Please feel free to do so. Years ago, another HN user and I tried to make some headway, but our day jobs intervened. Now that we have LLMs at our disposal, you might have better luck!

That is a very good concept, enjoyed reading it.

On the original concept is restricted to share outside the participating people but could be relevant that people add more people that are interested in a topic.

Email is a good transport layer. Nowadays people just imagine it as messages between large providers, but I'm in strong favour that small providers or self-hosting email can still be used.


Some years ago I was involved with a society (club), and we wanted a webforum. But as we were geeks as well, we created a combination of a web-based solution, mail-lists and NNTP. These three solutions were syncronized, so it didn't matter which one you used. This worked well for several years.

In the FAQ at the bottom of the post, the author mentions that this proposal is just the AT protocol (BlueSky) without the active, "firehose" component.

I don't think this is a real proposal, but more a thought experiment about how a static site could integrate into BlueSky. I saw a few similar efforts to integrate the "passive" components of ActivityPub into static site generators so that you could make your static blog consumable via the Fediverse.

In reality, if you really wanted to publish your static site blog posts on BlueSky, this is probably a good place to start! As you mention, there are some serious usability issues with doing everything by hand, but you may find that acceptable or invest in workarounds. Maybe it's possible to use your BlueSky identity so that you aren't in the business of managing keys. Or maybe you could use a script or static site generator plugin to pull credentials from somewhere.


> ... in a way that can unseat big tech.

Where is it stated that this is a goal for this project? You and I both may want a way to break the influence of the dominant social media companies. But this doesn't have to be that in order to be successful. It just needs small groups of people to use it in a way that benefits their communities.


I tried to make a way of sharing posts with friends without having to be on a social network... I came up with NoteSub:

https://apps.apple.com/gb/app/notesub/id6742334239

I like it. And mass adaption is not required to use it.

I would have loved to have made this a true social network in some regards, however, there are issues of moderation and storage that become very expensive at scale.

Moreover, adoption of a new social network is super hard to promote. So many Twitter, Insta, etc clones have failed because they are just 'clones'. Not offering any thing new.

It should be considered although Thiel talks of 0 to 1... A great deal of dramatic software/hardware progression comes from a highly evolved successor to an average pre-existing product.

The iPhone was not a zero to one, nor was Apples GUI, they were just highly evolved versions of average or below average products that already existed. Social media apps are already highly evolved for their function. We need something better for edge cases, but the current state of social media platforms means that something supremely better is required before any adoption drive becomes meaningful. When such a product comes, mass adoption is inevitable; we crave and succumb to better ways of communication and contact.


I don't understand what it has to do with sharing, it just seems to be a note-taking app? It even talks about being local, offline and can't even sync with your own devices unless you pay.

But nothing obvious about your friends being able to see them.


You make a note, they are designed to look as good as any social media posts.

You can share the note with whomever you wish, using what ever messaging system you you like, and the note will look as good as a social media post, ie how you designed the note. I am sorry, it does take a bit of imagination. I never wanted to pitch it as a social media app, but, its as close to personally controlled social sharing that I could conceive.

You dont have to pay to use it. Very few people need to use cross device sync and those who do seem happy to pay for it.

Ie, it is free, so if any ones wants to try it, I would love to hear.


"1. I am very technical"

What does this mean

https://ianix.com/pub/x25519-deployment.html

For example, does "technical" mean curious, enjoys learning, motivated to take things apart to understand them, ...

Does it mean likes to create accounts, signs up for websites, apps, etc., heavy social media user, terminally online,...

What does it mean


This is what I built Jonline for. Haven’t maintained it for a while, but it’s quite functional as-is. Basically a very vanilla Twitter/Reddit-with-first-class-calendar-events, standard Rust web+gRPC server on Postgres DB, React web UI, and no encryption other than HTTPS/TLS. No server-to-server communication, just username/password auth. Super easy to understand APIs (https://jonline.io/docs). (I do need to build better cross-server auth, but this can be done in the FE only with the existing APIs.) Can boot it in a Docker container in seconds. A few “demo” instances I run are linked from the Readme: https://github.com/JonLatane/jonline

> Like I want something where it’s secured by a username and password, that i give to a server i am registered with - and that server handles the encryption business. If the server rotates keys, that’s for the admin to figure out and exchange keys with sibling servers.

Isn't that basically Mastodon?


Sure. Yes. One of the most successful alternative/distrubuted/federated social networks out there? Yes exactly. More like that please!

An encryption key could be stored in a QR code and the user could be sheltered from any technical issues.

To be honest if we’re talking truly accessible, even usernames and passwords aren’t great. Users forget them. That’s why a lot of sites these days offer to email you “magic links” to log you in. And if you want to do that you need to make sure you’re running a server sending emails that won’t immediately go to spam.

At a certain point if you want a truly scalable, decentralized platform you’re going to have to cut back on backend responsibilities. This is a logical answer to the problem.


> 2. I am very technical, and idk exactly what a X25519 keypair is.

As in, you cannot describe it exactly, or you have never run into it?

Additionally, you could just look it up if you care about the technical details.


Cloudflare tunnels are an interesting alternative, self hosted but with external security

Self hosted but with big tech having a backdoor into your local network, having your ssl private key, and dictating the terms and conditions of what you self host.

I've never understood selfhosters fascination with cloudflare. They have some cool products but I have a feel 2026/27 is the time they start to show their evolving colours


cloudflare should never be trusted after what they did to kiwifarms.

So you were ok with what they did to 8chan and the daily stormer but kiwifarms is where you draw the line??

What did they do to them?

They were defending Kiwifarms for awhile but then the pressure became too much and then they blocked them.

https://blog.cloudflare.com/kiwifarms-blocked/


So are they bad because they didn't block them for a long time or are they bad because they did block them eventually?

Unpopular opinion: names like PKCS12, X.509, X25519, ECDSA, etc. hurt adoption making the world less private, secure and decentralized.

I agree 100%. E.g. 802.11a/b/c/etc wasn’t selling. Wifi however…

Names matter. We can keep the technical stuff under the hood, while presenting a clean interface for those un-interested in the details. But we can only do that when the thing built right. Notice how you don’t have to share encryption keys when your friends want access to your home wifi?

Even the password part is harder than it should be. Idk why routers don’t just have a button you press when someone wants on the wifi. They knock on the network, a light flashes - press button, they are let in. Would work for most home use.


WPS is a thing that's exactly what you describe. People suggest disabling it these days because tools like reaver can use it to access a network in a few minutes.

QR codes with wifi details kind of obsoleted it in the past few years. (last three routers I've gotten even came with stickers with the default password as a qr code)

What I'm disappointed by is the lack of adoption of wifi standards that are encrypted, but don't require authentication to join. It's always a choice between no encryption, or password+encryption on hardware I've encountered.


Fully agree.

Who's gonna sniff your traffic from home? NSA, your ISP?

They already do.

Same as in corporate networks: your data is MITM anyway.

Fun should be unencrypted. It's not shopping or ssh into server.


> Fun should be unencrypted.

Five years ago I would totally agree. Now, when you do not want to share your fun thoughts with a border guard; a police person; an AI scavenger; a random jerk -- I would say, having a safe-ish space becomes almost a necessity


I’m not actually suggested anything be un-encrypted. I’m just saying we manage keys on the server not the client. Tls secures the password transaction, then the server issues the client a key and everything works as s@ suggests. If the keys expire or the client loses them, you repeat the login process.

> The private key is stored in the browser’s localStorage.

Woah.. when will those people learn? _Any_ browser storage is unreliable. Anything goes wrong with your web experience? Clear browser settings. Make new profile. Re-install browser. The browser's localStorage is not a replacement for filesystem. It cannot be backed up, it is super volatile, and it should _never_ be used for anything important. It's one of those "worst of both world" cases, where malware can access it with no problem, while legitimate backup programs are locked out.

(And yes, the post mentions "new device" flow, but how many people would (1) remember to export their private key and (2) won't lose it with their device? I bet in practice people will use the network until the first time localStorage is lost, and then they will get annoyed that their feeds are lost forever, and will likely leave the network for good)


Not in disagreement, but based on how casually the frontpage throws around terms like "X25519 keypair", it is obvious that mass adoption and ease of use aren't among the goals of this project. Looks more like an exploration of a concept - can a social network viably exist without any middlemen in between.

>> The private key is stored in the browser’s localStorage.

> Woah.. when will those people learn? _Any_ browser storage is unreliable. Anything goes wrong ...

Can't that be solved by a 1-liner button like "Export key in safe location" then URL.createObjectURL( localStorage.getItem("myTopSecretKey") ) and let the user save that on their filesystem?


from the very post you are replying to:

> but how many people would (1) remember to export their private key and (2) won't lose it with their device?

How does this help with either of those options? for example, I am on the phone, and imagine I've remembered to download the key... if my phone breaks, it'll be deleted. I also need to store it somewhere - google drive? password manager?

So yes, it could be solved but it would be more like "1-liner + few manual steps user must do", and there will be no guarantees that user will do those steps. So maybe people who are really invested into the new network or maybe crypt-owners who are used to manager their private key will do it, but most people will just loose their friend lists once they get a new phone or clear storage.


(1) prompt on setup after ~5min of usage to discard 90% of testers

(2) email it yourself, in fact instead of downloading the key it could also be a basic mailto: link

If users can't be bothered they don't really care about the data stored there.


> It's one of those "worst of both world" cases

It's also one of those cases where "perfect is the enemy of good enough", and also very easy to solve, offer a download/upload button that offers you to save the key, or upload a arbitrary one. Now every issue you mention disappears, and it's maybe ~50 lines of code...

And yes, loosing keys can mean you lose access. People who used 2FA are well aware of this problem, and yes it requires diligence. Also people who maintain their own cryptocurrency wallets seems to be able to handle this too, so not like it's completely impossible, just infeasible for the average Joe.


Well-known 2FA-using services (Google, Paypal, Github) etc.. offer some way to recover your account, so losing your 2FA device does not mean you lose all access.

Pretty sure that the only people who use un-recoverable private keys are crypto-wallet users, and even they regularly lose access, despite having strong monetary incentive to keep backups.

Now of course it's all open source, and authors can implement whatever they want, including things like: "It's your own fault that you did not do that backup procedure correctly, the button was _right there_. Serves you right that you have lost your account, maybe you did not deserve it in the first place." But that may be no the best approach if you want to create something that people actually use...


> By convention, the client looks under /satellite/ by default. If that path is already taken, place a satproto_root.json file at the domain root containing { "sat_root": "my-custom-repo" } — the client checks this first.

Would a `/.well-known/` be helpful here?

https://en.wikipedia.org/wiki/Well-known_URI


.poorly-known

Unfortunately. It's a great solution to a problem lots of tools face. A pity that people trying to establish new standards aren't aware of it aparently.

I'm a little disappointed there's no standard for /.well-known/list that points to things made available under /.well-known/ on that domain.

Doesn't need to be everything, just ones you want discoverable. Only other way to do it is trying every one you know.


Good idea actually. You could just make /.well-known an index page

Ah, just like AT Proto when it was released, introducing compatibility hazards and security vulnerabilities by putting stuff in the root rather than in .well-known. Sigh.

Did we?


Ah, that's right. Forgot about that one.

No. That is for the host/domain entirely not a specific stream.

I might want several directories in the future, and even if I don't, I might want it separate from my .well-known robots.txt. Many, many reasons I can think of not to blend these.

Bad idea.


The current design has the same limitation of applying to the domain as a whole, but has potential name clashes that .wellknown would avoid.

A bit of an off-topic, but the social networking protocol should never be designed for the sake of the protocol itself, or it’ll not enjoy the networking effect. A protocol must offer direct benefits to users, so that they keep participating in the network. This participation is what eventually forms the network of people, a.k.a, society. I always pick BitTorrent as the most successful example of such networking protocol - people just wanted to download stuffs (e.g. movies and pxxxs) but ends up participating in the sharing network.

Personally, I think a possible angle of attack for a new practical social network protocol is data management, as the amount of data people generate, consume, store, and share is enormous these days. More like, manage data conveniently, and share them easily as a side-effect.


> A protocol must offer direct benefits to users, so that they keep participating in the network

As someone who tried to give all of the decentralized social networks a shot... something I realised along the way is that they are never going to fly because they are not giving you dopamine kicks like the big tech giants are. I ended up forgetting to visit Lemmy or Pixelfed or <whatever> because I had 2-3 times when I opened up the app and saw the exact same content, giving me a feeling of "nothing is happening here" and thus, I didn't need to check in.

I mean, even Signal has that Instagram story function but I have never seen a contact use it because no one goes to Signal "just to scroll" or whatever. They go there to send or read a message.

Any social media needs content for people to visit. They need to make people feel like they are missing out if they are not visiting. Otherwise, they're just going to end up as an app on the phone which is never opened.


> I ended up forgetting to visit Lemmy or Pixelfed or <whatever> because I had 2-3 times when I opened up the app and saw the exact same content, giving me a feeling of "nothing is happening here" and thus, I didn't need to check in.

I think this is the point the OP is making though, there's little to no actual benefit if the content doesn't change often. You probably never forget to check HN for example.

An RSS reader linked to this via a browser extension might be a more useful interface for feeds that aren't updated as frequently.


I think a good protocol however is key for adoption. Many a good idea has died an early death because the implementation of it was, too complex, insufficiently robust, or poorly thought out for the future.

The .well-known/ suggestion from neilv is worth taking seriously. It's an IANA-registered convention that already has broad adoption — security.txt, robots.txt equivalents, app associations, and a growing number of machine-readable discovery files use it. Putting the discovery document at /.well-known/satproto.json instead of /satellite/satproto.json would immediately signal to anyone familiar with web standards that this is a protocol endpoint, not a page on your site. It also avoids the path collision problem that the satproto_root.json fallback is trying to solve — .well-known is reserved specifically so it doesn't collide with your content.

I don’t love well-known for this because it isn’t app- or account-level it’s host-level.

And maybe I want 2 of those directories.

SSL, file-based verifications, sure. Not for this.


It isn’t host-level, it’s domain-and-port-level. You can use multiple domains or subdomains and ports.

Ok it's domain/port level - the problem is the same. Do you even get the problem?

Glad to see more of these efforts. But here's what it will really take to decentralize social media and E2EE messengers:

We need something like Discord, except each server is an actual self-hosted server like a Minecraft server. DMs between two users should be handled by a mutual server. Account credentials should be handled by a Nostr-like protocol, which also gives you global tweeting capabilities as a bonus.

Run the whole thing on Yggdrasil Network or something similar so that it's not tied down to IPv4v6 and DNS and all existing hardware infra, but can still take advantage of them. And add reciprocal inter-server onion routing to make it difficult to geolocate servers. Also take a page from SoftEther VPN's book and wrap all traffic in HTTPS and perform automatic NAT traversal, so that people can host servers from behind ISP firewalls.

Anything short of that and we lose to big tech and govs in the long run. But once we've achieved the above, the decentralized web can truly take off: we will get WiFi routers running open-source firmware to make a mesh network to act as alternative physical layer infra for the new web. We can still take advantage of the existing Internet's bandwidth as long as there's an unblockable path to send a little bit of data to discover and coordinate nodes.


> Anything short of that and we lose to big tech and govs in the long run.

This is not a software issue, it doesn't matter how good the tech is, the masses will always aggregate to big tech networks because decentralized networks will never have billion dollar marketing budgets.


I don't think that's true. If there really was a good enough open-source Discord alternative, many would already switched. A big part of the problem is there isn't one. Matrix, Stoat, Telegram, etc are all missing something. That's why new ones are being built.

https://news.ycombinator.com/item?id=46949564


Non big tech solutions don't need billion dollar's worth of marketing. In fact I don't recall ever seeing an ad for tiktok and yet it is humongous.

Non big tech solutions need solid UI and UX that does not assume your average user can balance a binary tree, know what is a private key and how to safely back it up (other comments brought up this exact issue) or even knows what a "static website" means. Non big tech solutions need to give non technical users (read: the overwhelming majority of humanity) a good onboarding experience that does not involve learning ten new jargons and acronyms. Non big tech solutions need to know they have a limited strangeness budget [1] and should only spend it on places it matters. Non big tech solutions need to start actually cater to the unwashed masses before being befuddled by them choosing to stay on mark zuckerberg's platforms instead.

[1] https://steveklabnik.com/writing/the-language-strangeness-bu...


> In fact I don't recall ever seeing an ad for tiktok and yet it is humongous

Then maybe you're not the target audience, or you're just not noticing the ads, because TikTok is particularly notable for their aggressive marketing efforts during their growth phase.

> Non big tech solutions need solid UI and UX that does not assume your average user can balance a binary tree

Non big tech platforms don't need anything. They can never compete with billion dollar budgets and they shouldn't set that as a goal. Everyone enjoys a well designed UX, but billion dollar marketing budgets will always eclipse the alternatives.


> In fact I don't recall ever seeing an ad for tiktok and yet it is humongous.

For the first years of its existence I only new tiktok because they were advertising everywhere.


I guess I’d rather have something approaching bittorrent, edonkey/kad, ipfs, blockchain, webarchives.

You have named networks that are federated together, and people can publish to the networks they are invited to or sign up for. The networks survive even with individual servers go down. Data is cached all over at the edges.

Your version is just way too susceptible to rot, unless you see that as a feature. I see it as most of the good content falling into the ether sooner rather than later.

Also can use people viewing the pages as hosts https://gabe.durazo.us/tech/ephemeral-p2p-project/


If we decentralize messenging and social media, all of those protocols you mentioned will survive.

I’m not specifically saying to use those protocols as much as the philosophy of hashes pointing to blocks that are redundantly spread far and wide.

Minecraft servers are a poor metaphor for what ideal decentralized social media should look like. They are the opposite of robust.


The problem with distributed storage is they place too high of a requirement on edge nodes, which people have to host, and they synchronize too slowly for real time messenging. If I upload a 1GB video to my server's chat, that storage load should not be replicated on many other nodes. Who pays for that disk space? The federated model is a lot more robust in this regard.

As far as archiving is concerned, many archiving orgs will pop up if their discussion servers and public facing websites can't be traced or easily shutdown. The protocol itself can't archive things, but it protects the people doing the archiving work and gives a place for websites like Annas Archive to live without relying on IP and DNS. The idea is to amass enough uncensorable social power so that such efforts can't be banned or shutdown, then you can use existing protocols like BitTorrent all you want.


just found this curated list of self-hosted discord alternatives.

https://github.com/Vigno04/discord-selfhosted-alternatives

unfortunately though i think self-hosting is one of the problems. one of the features of discord is how easy it is to create your own server.

from that list i am checking out commet now, which seems to promise a better experience on top of matrix. that would at least solve the self-hosting issue, as i'll be able to use it on any existing matrix server. matrix has the technical features needed to work like discord, but not the interface.


That is being done today at https://geogram.radio

Each device (cellphone/laptop) is a server. They connect to preferred server stations that are used for discovering other peers. There are things like common chat rooms on the station servers but personal messages are completely p2p using webrtc.

There are other apps there, for example to host own websites or blogs and other things you'd expect from modern usage. Mesh is done today using cheap ESP32 devices (3 euros each).

It is a work in progress, the main point is that it can exchange data even outside the internet and use radio connections.


Nice project. P2P is not the way to go for DMs though. Both users and servers have to stay anonymous if we want to defeat surveillance and censorship long-term.

Ideally, nobody except a single server node of your choice (which is probably the one you self-host) is able to match your Nostr identity to your real IP address. Instead, IP-like-identifiers (like in Yggdrasil Network) should replace IP addresses when interfacing with other nodes. Server hosts would not share their traditional IP when inviting new people to connect to it, only their IP-like-identifier. The invited person can pick/host their own trusted server node as well, and that trusted server would relay that user's connection to your server, which they don't trust. Everyone has a trusted server that represents them.

The trusted server and the untrusted server should not have eachother's IPs during this relay process, either. Instead, the data should be bounced through some other server first, who may bounce it again, and again. The actual underlying path the data travels between the two servers which represent the two users should involve many onion-routed bounces that is not fully known to any server or user. The only situation where a device needs to know another device's IP is when two server nodes establish a reciprocal routing agreement and exchange IPs over an encrypted tunnel ("if I bounce X amount of traffic for you, you will bounce X amount of traffic for me in the future", it's a bandwidth transaction). Such negotiations should be made by querying random addresses or established manually (early on, when the network is small and sparse). This is where offline meshes can help. An ESP32 mesh doesn't have nearly enough capacity to handle all the messages and multimedia flying around, but they can be an alternative pathway to negotiate routing agreements. When the network is dense enough, it will be difficult to pin down your IP, even for state-level actors. And they certainly won't be able to surveil many people at once because even honeypotting one would be incredibly expensive.

Also consider encapsulating all of the Internet-routed traffic in HTTPS using only port 443 (like this: https://www.softether.org/1-features/1._Ultimate_Powerful_VP...). It needs to blend in with traditional web traffic so that no infra operator can identify/block/throttle it.

Also make sure to stay anonymous while developing this so you can't be sued or prosecuted.


Building exactly this; in Mikoto Platforms, "Spaces" can be located on any physical node, and DMs are E2EE routed through multiple nodes

Long ago there was this thing called foaf https://en.wikipedia.org/wiki/FOAF and also https://en.wikipedia.org/wiki/Pingback ... it was the closest I've seen to completely decentralised social media.

Webmention is the modern counterpart: https://indieweb.org/Webmention

(The IndieWeb wiki is probably the best resource for exploring the personal website-based social networking tech nowadays. I recommend the author check it out and maybe iterate on that instead :)


Is any of this stuff sort of out there working and I maybe used it without realising?

Or it's all super niche for "personal website-based social networking" enthusiasts and never took off, because big players didn't implement it and we need them to, or whatever?



I wish I could share a graph of my eyebrow height over time as I read through this part:

> sAT Protocol (s@) is a decentralized social networking protocol based on static sites. Each user owns a static website storing all their data in encrypted JSON stores.


But in all fairness it seems like a reasonable system, given the narrow scope of its goals. It does not scale, but that's on purpose. Although I could still see "Feed Aggregation" becoming impractical even with a small number of friends with a modest number of posts.

Cryptographically, a problem is that it makes ciphertexts publicly enumerable, protected by a X25519-derived key. This makes it very vulnerable to harvest-now-decrypt-later attacks, if you believe quantum computing will ever happen.


> if you believe quantum computing will ever happen.

... and you don't believe that everything will be totally fucked when it does happen.

If there is a global passive observer, and they get quantum computing, a huge amount of supposedly encrypted private information just got popped. Whether or not I care about my dinky little private social network posts when every ssl/tls connection I've ever made is being cracked and data mined is an interesting question.


Your app picks up a bunch of feeds and composes them into a nice page for you, much like an RSS feed reader. The twist is that each feed is encrypted in a way that only you can decrypt, so the cryptography also gives strong identity guarantees, and allows for private messaging.

It's basically PGP + RSS, only mapped to a bunch of files of specific structure. Those could be RSS/ATOM feeds instead of JSON, to reuse an existing format. The reuse of the ideas is good, these ideas are time-proven.

As any PGP-lookalike, this thing has the key distribution problem, and won't scale to billions of users due to that. Key rotation and revocation is another problem. But for a small-scale network it should be fine, and can run on very tiny, very low-power devices, maybe even with intermittent connectivity.


> The twist is that each feed is encrypted in a way that only you can decrypt

Not true, the "content key" is common to all viewers of all posts, from a particular author. (hence the need to re-encrypt the world when you unfollow someone...)


The content key is common, like the PGP session key is common. But to obtain the content key, you need to first decrypt it by your private key. The content key is encrypted by the public keys of every intended reader, so each can have a secure copy of the content key. Again, exactly like PGP works.

A PGP session key does not span multiple messages, however

This should not, too! If it does, it's a mistake.

So a database, that you can send a network response or request with that data, that when received by a client, builds a static website.

I see.

I see...


> Key Rotation (Unfollow)

    _  /
    .  .

It would be nice to start with what this actually is from the user’s point of view.

Forking, paths, JSON, decentralized, encryption, key rotation, etc and I still have no idea why I would bother and who else could use it (a decentralized social network is only so much fun if you are the only one on it).


I can think of at least a couple of dozen fairly technical friends who'd be capable enough to set this up themselves, and who're at least adjacently interested in recreational paranoia. And probably another dozen or two who're definitely into recreational (or possibly delusional and/or fully deserved paranoia) who'd be willing to learn or get help setting this up.

Right now, those circles of friends are _reasonable_ well served with some combination of Mastodon (effectively zero security but with decent findability) and Signal (much more limited mostly to only people you'd be OK with having your phone number).

I will definitely take this for a spin, and start having discussions with particular groups of friends to see it I get any traction.


Funny to see people mention nostr

https://satellite.earth/ (Satellite nostr client)

https://nsite.run/ (literally static sites on nostr)


I really like solutions in this space, and this is quite nice. Seeing people try create solutions like this really tickles my brain a lot. Even if I think more into it and conclude it has catastrophic issues, I still really get a weird kick learning about novel decentralised networks. I really can't explain it. Fancy combinations of encryption and decentralisation just really do it for me, to an abnormal and uncomfortable extent. Hopefully someone else relates to this.

Anyway, I really like this idea, it's cool. When I think about this one though, I feel there's too much friction in the follow/unfollow process. Having unfollowing requiring reenecrypting and rebuilding the entire website for everyone seems cumbersome. It's not a killer in itself, but combined with this:

> If the original post is inaccessible (e.g. the viewer doesn’t follow the author), the reply is hidden entirely. A user only sees replies from people they follow — this is the spam prevention mechanism.

I think this is going to prevent it from scaling in any desirable way. I know it's not intended to scale, and is targetted at smaller freinds networks, not influencers, but again, even small friendship networks grow complex, and I can see the experience on S@t turning into the worst parts of activitypub where you can only read half of the interesting replies because not being friends, and it being a pain to then become mutual friends.

But, I really, really do like that s@t feels like a combination of RSS, activity pub and static sites, having a browser heavy client is interesting to.

It does feel a bit like s@t wants stuff to be easily locked down between a dynamic list of friends though, and it feels a bit weird to have the foundational tech of such a protocol be static sites, which by definition make it hard to lock stuff down to a dynamic list of friends. Hmmmm, I really do love/hate static site architecture

This is nice though, thanks for sharing.


This obviously needs some iteration on the protocol design as other commenters have mentioned, but I'd still be up for partnering up over here at https://anproto.com/

This seems like a thin wrapper around libsodium, maybe I lack imagination but it's hard to see it as a protocol. On wiredove I see people posting with handles and profile pictures, where is that defined?

and thx for being the first person to notice the thin wrapper

userspace


Signed JSON reminds me of Nostr. I wish Nostr was somehow more mainstream.

I laughed when I saw this because two years ago I built a nostr client called Satellite! https://satellite.earth/

Satellite is great, thanks for making it. Glad to see you on here.

What's your npub?

I maintain hard separation of all identities from platform to platform, to maintain a degree of anonymity. You may see me around though :)

Smart move tbh

I built something similar to this. It's a SSG and CMS that runs in the browser and publishes the raw Markdown and JSON metadata alongside the rendered HTML. Unlike this it doesn't use encryption as it only publishes public data.

As the source is available, other clients can easily parse the data so that content can be made available beyond the browser, such as text-only clients, indexing and discovery networks and custom readers. I've built a prototype terminal client to test this out.

Now that the editor is working, my plans are to add public follow/block/like lists to sites to add a lightweight social layer and to build an open indexer framework for content discovery.

It's not trying to be another social network protocol. It's first and foremost a publishing platform, designed to be as easy to use as something like Medium while still being simple, open and portable.

I'd really appreciate any feedback: https://www.sparktype.org.



Real question for people who know what they’re talking about:

is perfect forward secrecy no longer considered valuable?


PFS is valuable largely in stable, small groups that rarely change shape or association.

PFS in an open, freely-associable environment is far more complicated when you move beyond even the smallest of group sizes. Realistically, once the group size is beyond Dunbar's number you can reasonably assume that PFS is moot, because you no longer can depend on maybe four or five people's personal security, but 150+. Statistically, someone's opsec failure will be guaranteed.


Seems a bit complicated.

Why not use git for social networking ;)

https://github.com/est/gitweets


Git-based systems sound clever until you hit the delights of merge conflicts and history rewrites from trolling or spam. Propagating edits or deletes in a decentralized social network via git is a full-time job for bots unless you limit activity to a few dozen people who never disagree. Static sites dodge a lot of cross-user sync pain at the cost of making anything dynamic feel like pulling teeth with chopsticks.

Very interesting idea, love the simplicity.

Question about this:

“Threads are positioned in the timeline by the original post’s created_at; replies within a thread are sorted by their own created_at ascending.”

Does this mean, I, as the person replying to the post can manipulate my reply time to say, 3 minutes before person X’s reply?

If so, I can imagine a few adversarial ways of (ab)using this.

I understand this is more for friend groups, just curious if my understanding is correct.


Yes that's correct.

edit: I guess an easy fix is to append a cryptographic hash to the post ID, but yeah currently I'm assuming you trust your friends.


The concept is good. It is in the right direction.

I think it needs to not have a dependence on github. This is a microsoft thing, and at best it means this will become another way for a corporation to make money from people.

Speaking of money, it needs to be paid for. (The github part is free from Microsloth and so is NOT free). So how do you pay for this? Micropayments.

So we need a system of micropayments. Then we need it to provide a way to help people economically. These are not barriers, because this is hacker news, instead this is an accurate understanding of more of the problem.

People keep talking about a collaborative internet without using the term. But to be clear we are talking about a fundamentally different kind of internet. That we can build.


It doesn't really seem to have a dependence on github, so much as a dependence on git. You can push to a git repo anywhere, even publish a site with it. For example the method I've used is no longer documented on the open web but an archive is here: https://web.archive.org/web/20220817005415/https://neurobin....

Also I think you're confusing "free as in beer" and "free as in free" here. The last thing any alternative social network needs is to bake capitalist incentives into the model, as that would just lead to everything optimizing for the same dark patterns and influencer garbage people want to avoid. There already exist plenty of ways to help people economically.


This is intriguing. But I wish there was a rationale/philosophy document on that site, that explains what the intentions and use-cases behind this project are. Given that cryptography is such a fundamental part of the design, I wonder if public posts are not desired.

So, in essence this is very, very similar to TWTXT (https://github.com/buckket/twtxt).

I'd imagine that similarly to TWTXT, this suffers from the same accessibility and barrier of entry issues. It's one thing when all you have to do is type text in a textbox and click "Submit", but it's a whole thing entirely when you have to screw around with updating your website to do anything.


2 years ago I built something I called "social media for blogs" that had some similar ideas. Nothing around encryption though, all on public data.

I'd be keen to revisit those ideas and see if they can take shape in another form.

MIT licensed if anyone's interested: https://github.com/yakkomajuri/recess


> A user’s identity is their domain name.

That's dead on arrival. The domain name system is one of the core reasons why everything has become so centralized in the first place. If one wants to fix anything wrong with the Internet, finding a better way to naming things should be the first step.


I'm curious why not use Nostr?

Unless this is just a PoC, you could benefit from a discovery mechanism. As much as that sounds like a webring for github, I'm probably not going to deploy a social network without knowing if anyone else is using it.

Why not at the every least use RSS for Posts? Why invent a new json spec? Wouldn't it make more sense to build this around RSS?

I wonder if the missing piece here is an agent layer.

A lot of decentralized/local-first social projects improve the protocol story, but the UX is still "please think about keys, storage, sync, exports, and trust boundaries yourself." That's fine for hackers, not for most users.

Something Claude Code-like, but local-first and protocol-aware, could make this much more approachable. The user says "post this to close friends" and the local agent handles signing, encryption, storage, syncing, and recovery.

That doesn't solve discovery, spam, or network effects, but it might solve a lot of the usability problem.



Thanks for this, nice concept. This would be good on a Tor onion service.


Amazing. I'm building almost the exact same thing. I'll share mine when it's mature enough. :D

It reminds me a lot of Org Social

Seems like a missed opportunity to not put a /satellite/satproto.json file on that site.

I think: A new way of old school forum would bring real UGC rel="ugc" that brings value to human and agentic readers.

Let's crash the fediverse! https://wire.wise-relations.com/


Just use RSS at that point. I don't see the value of encrypting everything, like people are gonna be spying on your random static blog entries.

These days people are fearful of their work ending up in LLM training datasets. A private, but static hosted website is on a lot of people's minds. Most social networks have privacy setting these days, which feels like a missing feature of standard, static blogs.

Isn't this just RSS with extra steps?

Yes, but there is protocol-level support for "commenting" on a friend's post via a post of your own.

have you considered Replace X25519 with a post quantum cryptography key encapsulation mechanism like kyber or saber?

This needs a YouTube demo video.

nice, RSS is a cool under used technology

i would prefer to see widespread hosting become cheap and easy to use… as simple as signing up for an account

then allow people to blog/post in a standardized format using rss. any other site can then subscribe to that site.


>I would prefer to see widespread hosting become cheap and easy to use… as simple as signing up for an account

It is and has been for years. You can literally just sign up for a shared hosting account on hundreds, possibly thousands of services and put whatever you want online (within legal limits of course.) You can even still use SFTP if you want.

People just don't do it anymore, but it's never been less expensive or more accessible.


i think one of the biggest reason is discoverability… so a solution on this front would need to help solve that to a certain extent beyond just “heres the ftp, here you go”

One solution would be to maintain an account on a platform like Mastodon and link to your blog from there. For some reason this has its own acronym (https://indieweb.org/POSSE). This is what I do, along with using my blog as a backup for my Mastodon account (because it's a very small account and I have to delete content every couple of weeks) and using Mastodon for comments.

Unfortunately I don't think there's anything to be done about discovery on the mainstream web, everything was ruined by SEO before even SEO got ruined by AI. Not being discoverable there is probably better than not.


Interesting take but I think the work is, at very best, halfway through.

If authors want this to take off they need to work on user experience, particularly for non-technical users. Otherwise it might at best become some tech niche that will eventually die.


The client fetches the pub key off the server which is decentralized? There's no part in the protocol that authenticates whether or not a pub key is legit. If its replaced by an attacker and someone subsequently goes to fetch a key they can read those messages. I mean, pub key infrastructure is meant to solve that. With SSL and such... that's why you its a federated chain of certificates with providers vouching that names = pub keys.

This is a very common problem. There is potential to possibly make this more decentralized with smart card technology. Like imagine a smart phone with access to pub keys in the hardware tied to an account cryptographically. Then you can say something like phone number = subscriber = pub key. Encrypted messaging apps seem to bootstrap off of ownership for numbers in the mobile system (mobile system security is very bad so there are dragons here.) The other apps like pidgin with OTR plugins they have unique phrases that help with the issue.

When you start looking at decentralized pub key infrastructure tied to human-meaningful names you start to run into zookos triangle:

https://en.wikipedia.org/wiki/Zooko%27s_triangle

human-meaningful, decentralized, secure -- pick two


satproto's implementation involves complex cryptographic signing and that makes it very not static. One needs to run a program of some sort to use satproto. The only static part is that the json that's operated upon.

This is not true of indieweb's web mention: https://indieweb.org/Webmention

It just uses HTTP POST (like pingback/trackback/etc, except it has a second step verifying the page sending the webmention actually has a link to a URL on the website). You can them them with a browser or cURL or some complex backend script. Receiving them is as easy as logging POSTs to a specific URL endpoint or even using someone else's community backend your site interfaces with via javascript (ie, https://webmention.io/ - not static since it uses JS). Or anything in between.

Totally decentralized and very simple. I implemented a simple nginx POST logging format in the config to receive on my static site. And HTML forms on my static site can send. http://superkuh.com/blog/2019-12-11-3.html


Webmention is cool indeed. Also one of few techniques that’s currently free of some corp’s greedy roadmap

Is spam a thing on webmention? Have the impression it is easy for spammers to generate webmentions to get attention.

I wonder what the signing is for if you already have a domain name to verify your authorship.

It doesn't use signing, aside from the signing that exists within TLS

I think they mean in s@.

...which doesn’t do signing, but does do E2E encryption? So it’s more like DMs-over-HTTPS.


[dead]


Does the polling need to be fast? I think back to mailing lists and the huge delays involved in those conversations. Yet they were/are often very productive. Somewhere between Twitter/X speed and mailing list speed might be acceptable.

Maybe this would be better with a LiveJournal style interface. Medium length posts with threaded comments/replies are an underrated format.


That should scale pretty well. The HTTP fetch of posts/index.json could use conditional get requests to avoid downloading the body when there are no changes. Static files are dirt cheap to serve.

Maybe that's a feature rather than a bug



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: