Replies (44)

Not stupid. Quite clever, actually IMHO 🤔
Yeah, probably deep state figured out Nostr threat and building their own alternative.
The stupid thing that Bitsocial did is that it isn't a smartphone app. Maybe later? 🤷 Love the p2p focus, though.
@fiatjaf Nice take on interoperable clients with no central servers or domains.
What’s your opinion on applying that to LoRa mesh protocols (Meshtastic, Reticulum, etc.) for social apps when the internet is down?
No information or repo on how to install a http router and/or gateway.. current 5chan board is single centrally hosted UI, if I run a second one the users only see the manually "github curated" server chosen by the devs.
Does the 5chan web ui contain all the p2p/pubsub etc code? Is it reimplemented with every web app that gets released?
Interesting project, wish them all the best. But would need to see some actual decentralization demonstrated before taking it more seriously.
I gave it a chance, but some apps don't even open, and others you can only see but not do anything else and have very limited searches.:concerned:
although I think it doesn't have to be that bad either, because something I saw during the exploitation of the online security law in June is that several desaroolers, including children, started getting into application development to see if they could find a way to counteract these attacks, many failed but others found something else that made them some money but left out the original goal of evading age verification.
Bitsocial Forge Inc seems very decentralized
notice how it does not compare itself to Nostr ;)
The contention will always be to p2p or not to p2p. And Nostr's position is "well if we want something that works, we don't do p2p, and because of tamperproofing it does not really matter that much anymore anyway, because now its flexible to the point of hosting your own stuff if you want, but you are not required to"
and why do you believe it is stupid?
Protocol cofounder here, whats stupid about it? Would love some constructive criticism
what apps didn't work? 5chan.app should work, but its still under testing. If you download the desktop app the experience is usually more stable since desktop apps use tcp+quic transports
Bitsocial Forge Inc doesnt own anything. In the future it will own public RPCs for people who want to delegate running communities to a third party.
All of the project is GPL 3.0 as you can see on github
we do have an android app though, check releases of 5chan and seedit.
Btw try out p2p.5chan.app, full p2p experience in browser with helia/libp2pjs! No more IPFS gateways
The relay you choose only partly affects how many people you reach, it should not impact the people that follow you. Also relays are super undefined so they can have all sorts of purposes.
In any event, after all those years i have protocol fatigue, i already had it before Nostr, and now there is Nostr, I am glad i am done looking at protocols, because Nostr appears to be for the most part the be-all-end-all. So unfortunatly i cant be bothered to look at bitsocial (or much of anything else, have not looked at FIPS either and that is a Nostr thing), but i wish you the best
5chan was the only one who opened the door for me, not seddit
Yes Seedit still needs some work. You can look at the "Call to Action" section on the website it explains why the focus is on 5chan right now
the truth is that I am curious to know how these projects will evolve, because the truth is, what they do I feel is something that NOSTR lacks, being able to make p2p connections so as not to depend completely on DNS or other parts that are still depended on just to connect.
Sure, thats basically the core thesis behind our project is that DNS is not reliable nor censorship resistant enough for decentralized social media. We do use domains but we use ENS for those and its completely opt-in, you can have a fully running community with people posting to only public key.
More on it here,

GitHub
GitHub - bitsocialnet/bso-resolver: resolver for .bso names to to resolve names to public keys in Bitsocial protocol
resolver for .bso names to to resolve names to public keys in Bitsocial protocol - bitsocialnet/bso-resolver
... why? A torrent-like protocol that doesn't support transferring arbitrary data? Just why?
You can add arbitary data as files to IPFS, and then add their CID as a field to your json. Then peers in the network can decide whether to fetch that CID or not
But why do you need the IPFS backend, when you can just allow transfer of binary data alongside text within your protocol? Like someone could just base64 arbitrary data in your protocol anyway.
if you own the community you can do anything like allowing or forbidding base64 arbitrary data in your own community. But by default we limit all comments to 40kb.
We use IPFS because its the best framework for a global content-addressable p2p network, they also have IPNS (mutable names) which is the basis of our protocol community names. We dont use any DNS/TLS within our core protocol, everything is signed and verified by using IPFS and IPNS primitives.
More info about IPNS here,
IPNS (InterPlanetary Name System) | IPFS Docs
Learn about mutability in IPFS, InterPlanetary Name System (IPNS), and how it can be used in conjunction with IPFS.
I see.
the issue with nostr is not just that it's not P2P, it's also that you can't moderate the replies to your own comments or the posts in your communities via some automated P2P challenge system, it seems like the spam moderation is just non existent/not effective (like having to pay relays to post) or fully centralized.
without P2P downloading, nostr design doesn't really make sense, relays just get hammered with tons of bandwidth for free which isnt sustainable, unlike p2p which scales infinitely with more peers.
also without being able to do some p2p challenge for your own replies/posts in your community, your replies/community are either 100% spam or 100% curated by the frontend, which will for sure censor you.
the nostr design is fundamentally centralized, they need a p2p fallback for when relays are getting too much traffic, and they need a way to do p2p replies challenges. otherwise anyone can spam infinite replies to his "hello world" post, making the app unusable.
Bitsocial being fully p2p we solve 2 fundamental problems of nostr: 1. relays are not free, they dont scale infinitely unlike P2P. 2. there's no censorship resistant way to moderate/curate replies or posts in a community using nostr.
Neither these things can easily be added to nostr. They could technically be added but it'd be like recoding IPFS/libp2p gossipsub from scratch.
I actually like the spirit of nostr, I just think the technical design doesn't really make sense and would be really difficult to fix, you'd have to add a complete P2P stack to it. if the nostr design allowed censorship resistant infintely scalable social media I would much rather use it than build my own.
For Nostr, Anti-Spam exists on the relay level. And moderated communities already exists on Nostr.
Seems kinda like Bitsocial is inspired by Secure-Scuttlebutt though and that’s cool. I support your efforts
You should ask
@Sirius about this. Because I think he has built BitSocial about 4 times now haha
if the relay decides what's spam, the relay is the choke point, also from my understanding the relay you use decide how many people you can reach. in bitsocial each community runs its own challenge (captcha, rate limit, token gate, payment, IP filters, custom code) and the operator's node validates challenge responses directly over pubsub.
we're not actually inspired by scuttlebutt, we're built on ipfs/libp2p where everything is content-addressable. community pubkey is the address gossipsub for realtime challenge exchange. We're much closer to bittorrent imo.
> if the relay decides what's spam, the relay is the choke point
> in bitsocial each community runs its own challeng
Is this not “antics with semantics”? Instead of using the word “relay”, you’re using the word “community”?
Endless passion about the "right" to be seen by people who don't want to see you... But not enough passion about the right to be reliably found by the people who have a literal URL of your data.
A community is a bitsocial concept, a community is essentially a keypair with comment records and metadata. Users connect to communities to publish content to them. A community has 0 power over a user interacting with other communities or peers, unlike a nostr relay.
More on it here,
Peer-to-Peer Protocol | Bitsocial Docs
How Bitsocial uses IPFS/libp2p, public-key addressing, peer-to-peer pubsub, and browser P2P nodes to deliver serverless social media.
Let me see something…
> A relay is a nostr concept, a relay is essentially a URL with comment records and metadata. Users connect to relays to publish content to them. A relay has 0 power over a user interacting with other relays or peers
Being a little bit tongue in cheek, but do you see what I’m saying?
I don't think he will understand because he thinks Nostr relays are some kind of gateway you have to hardcode into an app or something like that. So you pick one relay and you're stuck with publishing only to that and reading only from that? I'm not sure what is his understanding.
But you are right that relays are much more like what they call "communities" on BitSocial.
Relays could have been "just a keypair" on Nostr too, but that would be stupid, because one of the functions of relays is to solve connectivity. Because p2p doesn't really work on a global scale relays are both classic web servers servers with DNS names and "communities". But of course some people went overboard with the concept of relays after that, which is good.
If IPFS and p2p just worked and we could just assume that everything everybody published was ready "in the cloud" and easy accessible by anyone then Nostr wouldn't have ever existed.
I think you are kind of right. But if you build p2p people will eventually decide that it sucks and create discoverable "peers" that are functionally relays.
Its just a question of what you'd rather fight with. Do you want to forever fight with opening permissions on something too restricted or forever try to lock down and filter something too permissive. I think we should try both.
nostr relays are not like communities in Bitsocial at all.
A "community" in Bitsocial is an IPNS record that is published by the community owner (with their own or delegated node). The community node has no power or influence over the network at all. Peers who want to publish will gossip it through pubsub topic of that community and it will eventually reach the community node. Then community will decide whether its a spam, or not, and decide whether to send a challenge.
Running a community is also free since u would only need an IPFS node and then u would generate a keypair.
In Nostr, From my understanding you have to share a relay with somebody in order to reach them. Which means there's always a third party in any kind of social interactions in nostr. There's no such thing in Bitsocial, if u could access a community node by any means you could publish to that community directly.
Running a relay is not free either, you have to buy the domain + maintain + stay up to date on spam etc. No matter how easy it is to add relays eventually most clients/people would settle on 5-10 relays to announce to. Those relays can then be pressured through DNS seizures to block people or force kyc.
In Bitsocial when we designed it from the bottom up our core assumption was that DNS can compromised at any moment. All of our data primitives are either IPFS immutable files (comments) or mutable community records (IPNS, no need for DNS).
The assumption within our protocol is that the community owner will stay online or delegate somebody to stay online for them. They need to be online to receive publications and respond with challenges if needed to them. That's the price of having an arbitaerry anti-spam functionality for each community.
Eventually we would have lots of public RPCs where people can delegate their community hosting while maintaining ownership by owning the .bso name of that community
Its always possible to have http trackers like BitTorrent, and a DHT fallback. It worked pretty well for BitTorrent and thats what we're using at the moment
On Nostr you don't have to "share a relay". You read from people's relays directly, and they read from yours. But this is for the Twitter-style microblogging interface that BitSocial apparently doesn't have, so it's irrelevant here.
BitSocial communities are _like_ a relay in the sense that there is someone who "owns" them. Of course there are differences, but there are also similarities.
Nostr relays can be treated like closed or semi-closed communities too.
This makes Bitsocial communities even more like Nostr relays: you said it was free to run a Bitsocial community, but now you're saying I'll need basically a server online 24/7, even if running in my home. This is equivalent to an HTTP/WebSocket server required for a Nostr relay.
Nostr relays can also run on rented hosting infrastructure.
They can also run on alternative domain name systems like .bso (although no one does this because we are not that crazy yet), we do have some relays running on .onion.
But I don't care about the similarities between Nostr relays and Bitsocial communities, it's ok if they're completely different to me, I was just making a comment.
> I'll need basically a server online 24/7, even if running in my home
That's not a terribly high barrier to entry.
@fiatjaf I said a server but that's basically any machine you have laying around, since with running p2p the cost of scaling network doesn't scale with the number of nodes, the cost of running a node is pretty low. I'm sure if somebody spends a weekend on it we would get a fully running Bitsocial node on Android that hosts a community. You could probably host thousands of communities on a raspberry pi easily.
Running communities is free in the economical sense, in the same way seeding a bittorrent file is "free" because there's no DNS to be bought, and u basically have to only leave the app running in the background
It is not expensive to run a relay though. If your relay is only used by a few users the cost is probably less than $1/mo (there are no such cheap VPSes out there, but you could be a tenant on someone else's server), same if you host stuff on your local desktop and expose it to the internet with Cloudflare etc, or even an Android phone.
I am not trying to win the argument of how easy it is to run a community or a relay, though. The entire point of Nostr is that most people don't have to run servers.
It is probably true that it in practice it is easier to run a BitSocial community (again, Nostr relays are not just communities, they are a bunch of things), but I'm not super excited about IPFS. Are you sure it works? I was super excited about IPFS many years ago but all I got was disappointment, wasted time and lost data. I don't think it can ever work. If it seems to work for you I would bet it is because they introduced some hardcoded bigserver centralization in the mix and everybody is relying on that without even realizing.
There is a cost to connecting, routing, finding, hosting and serving data. On Nostr these costs are clear and obvious with the concept of relays. On IPFS that cost is distributed to people who never signed up for that job.
You can try it out by downloading the desktop apps or running a bitsocial-cli docker container and then use the hosted webuis,

GitHub
GitHub - bitsocialnet/bitsocial-cli: An interface to Bitsocial API through command line
An interface to Bitsocial API through command line - bitsocialnet/bitsocial-cli
Its pretty fast especially on desktop thanks to udp+quic support.
I think your issues with IPFS stemmed from using their DHT, yes its pretty terrible and slow. Unfortunately we struggled for a long time with it till we realized the better way would be to have http routers (similar to bittorrent trackers) as the default mechanism to find providers of content, and we could have DHT as a fallback in case http routers are offline or start censoring. You could also get creative and have .bso names attach http routers used by community in a text record, though with how light http routers its very easy to replace and spin up new ones all the time.
Peer-to-Peer Protocol | Bitsocial Docs
How Bitsocial uses IPFS/libp2p, public-key addressing, peer-to-peer pubsub, and browser P2P nodes to deliver serverless social media.