As a historical note, there used to be quite a few very popular solutions for supporting early social networks over intermittent protocols.<p>UUCP [<a href="https://en.wikipedia.org/wiki/UUCP" rel="nofollow">https://en.wikipedia.org/wiki/UUCP</a>] used the computers' modems to dial out to other computers, establishing temporary, point-to-point links between them. Each system in a UUCP network has a list of neighbor systems, with phone numbers, login names and passwords, etc.<p>FidoNet [<a href="https://en.wikipedia.org/wiki/FidoNet" rel="nofollow">https://en.wikipedia.org/wiki/FidoNet</a>] was a very popular alternative to internet in Russia as late as 1990s. It used temporary modem connections to exchange private (email) and public (forum) messages between the BBSes in the network.<p>In Russia, there was a somewhat eccentric, very outspoken enthusiast of upgrading FidoNet to use web protocols and capabilities. Apparently, he's still active in developing "Fido 2.0": <a href="https://github.com/Mithgol" rel="nofollow">https://github.com/Mithgol</a>
This sounds like what I wanted from GNU Social when I first joined over a year ago. GNU Social/Mastodon is a fun idea, but it falls apart when you realise that you still don't own your content and it's functionally impossible to switch nodes like it advertised, along with federation being a giant mess.<p>I tried to switch what server my account was on halfway through my GNU Social life, and you just can't; all your followers are on the old server, all your tweets, and there is no way to say "I'm still the same person". I didnt realise I wanted cryptographic identity and accounts until I tried to actually use the alternative.<p>That's also part of the interest I have in something like Urbit, which has an identity system centered on public keys forming a web of trust, which also lets you have a reputation system and ban spammers which you can't do easily with a pure DHT.
> However, to get access to the DHT in the first place, you need to connect to a bootstrapping server, such as router.bittorrent.com:6881 or router.utorrent.com:6881<p>This is a common misunderstanding. You do not <i>need</i> to use those nodes to bootstrap. Most clients simply choose to because it is the most convenient way to do so on the given substrate (the internet). DHTs are in no way limited to specific bootstrap nodes, <i>any</i> node that can be contacted can be used to join the network, the protocol itself is truly distributed.<p>If the underlying network provides some hop-limited multicast or anycast a DHT could easily bootstrap via such queries. In fact, bittorrent clients already implement multicast neighbor discovery which under some circumstances can result in joining the DHT without any hardcoded bootstrap node.
Yes, this guy gets it. This community gets it.<p>Not everything needs a global singleton like a blockchain or DHT or a DNS system. Bitcoin needs this because of the double-spend problem. But private chats and other such activities don't.<p>I have been working on this problem since 2011. I can tell you that peer-to-peer is fine for asynchronous feeds that form tree based activities, which is quite a lot of things.<p>But everyday group activities usually require some central authority for that group, at least for the ordering of messages. A "group" can be as small as a chess game or one chat message and its replies. But we haven't solved mental poker well for N people yet. (Correct me if I am wrong.)<p>The goal isn't to not trust anyone for anything. After all, you still trust the user agent app on your device. The goal is to <i>control</i> where your data lives, and not have to rely on any particular <i>connections</i> to eg the global internet, to communicate.<p>Btw ironic that the article ends <i>"If you liked this article, consider sharing (tweeting) it to your followers"</i>. In the feudal digital world we live in today, most people speak must speak a mere 140 characters to "their" followers via a centralized social network with huge datacenters whose engineers post on highscalability.com .<p>If you are interested, here I talk about it further in depth:<p><a href="https://youtu.be/WzMm7-j7yIY" rel="nofollow">https://youtu.be/WzMm7-j7yIY</a>
My friends and I have thought this through in detail a while ago, and have a few suggestions to make. I hope you make the best of it!<p><i>Distributed identity</i><p>Allow me to designate trusted friends / custodians. Store fractions of my private key with them, so that they can rebuild the key if I lost mine. They should also be able to issue a "revocation as of certain date" if my key is compromised, and vouch for my new key being a valid replacement of the old key. So my identity becomes "Bob Smith from Seattle, friend of Jane Doe from Portland and Sally X from Redmond". My social circle is my identity! Non-technical users will not even need to know what private key / public key is.<p><i>Relays</i><p>Introduce a notion of the "relay" server - a server where I will register my current IP address for direct p2p connection, or pick my "voicemail" if I can't be reach right away. I can have multiple relays. So my list of friends is a list of their public keys and their relays as best I know them. Whenever I publish new content, the software will aggressively push the data to each of my friends / subscribers. Each time my relay list is updated, it also gets pushed to everyone. If I can't find my friend's relay, I will query our mutual friends to see if they know where to find my lost friend.<p><i>Objects</i><p>There should be a way to create handles for real-life objects and locations. Since many people will end up creating different entries for the same object, there should be a way for me to record in my log that guid-a and guid-b refer to the same restaurant in my opinion. As well I could access similar opinion records made by my friends, or their friends.<p><i>Comments</i><p>Each post has an identity, as does each location. My friends can comment on those things in their own log, but I will only see these comments if I get to access those posts / locations myself (or I go out of my way to look for them). This way I know what my friends think of this article or this restaurant. Bye-bye Yelp, bye-bye fake Amazon reviews.<p><i>Content Curation</i><p>I will subscribe to certain bots / people who will tell me that some pieces of news floating around will be a waste of my time or be offensive. Bye-bye clickbait, bye-bye goatse.<p><i>Storage</i><p>Allow me to designate space to store my friend's encrypted blobs for them. They can back up their files to me, and I can backup to them.
Bit of feedback: when you download the desktop application, it prompts for a desired name, image, and description.<p>It's unclear whether this can be changed later, and I'm not yet sure whether I want to use my real identity or a throwaway.<p>After creating an account with the default ¿randomly? generated name, I tried to use an invite obtained from <a href="http://198.211.122.115/invited" rel="nofollow">http://198.211.122.115/invited</a> which was linked from <a href="https://github.com/staltz/easy-ssb-pub" rel="nofollow">https://github.com/staltz/easy-ssb-pub</a>.<p>All I got back was "An error occured (sic) while attempting to redeem invite. could not connect to sbot"<p>It worked with <a href="http://pub.locksmithdon.net/" rel="nofollow">http://pub.locksmithdon.net/</a> though I feel a bit odd trusting a "locksmith" I've never heard of to stream lots of data to my harddrive...<p>It's cool that anyone can host a pub – basically, an instance of FB/Twitter/Gmail, it seems – but things 1) will get expensive for them, and it's unclear how they'll fund that – and 2) now I have to trust random people on the internet – not only to be nice, but also secure.<p>As a "random technically aware netizen", I honestly trust fooplesoft more, since they have a multi-billion-dollar reputation to protect. (Not that I <i>trust</i> fooplesoft).
Why do all "social networks" have to be a feed of news? Couldn't anyone think of anything better than a system in which people are only encouraged to talk about themselves and try to get other people's approval? In which having more "friends" is always better, because you have more potential for self-agrandissement in your narcissistic posts?
Since the author didnt mention it, the original creator of the patchwork project is <a href="https://github.com/pfrazee" rel="nofollow">https://github.com/pfrazee</a><p>When I used it, which admitedly was a long time ago now, the biggest setback was lack of cross device identities. So I ended up having two accounts with two feeds, `wesAtWork` and `wes`. Maybe they have solved this by now.<p>ps. Does patchwork still have the little gif maker? Because that was a super fun feature.
This excites me. I'm probably naive, but I always imagine that one day I'll retire and spend my days trying to work on an open source mesh network (or something similar).
I want future generations to live in a world where 'the internet' isn't a thing that authorities can grant/deny. A headless social network is a promising omen of a headless internet.
I've been thinking about this very thing the past few days!<p>Forgive the rambling, this is the first time I've written any of this down...<p>My idea is to use email as a transport for 'social attachments' that would be read using a custom mail client (it remains to be seen if it should be your regular email client or have it be just your 'social mail' client. But... if using another client as regular email, users would have to ignore or filter out social mails). It could also be done as a mimetype handler/viewer for social attachments.<p>Advantages of using email:
- Decentralized (can move providers)
- email address as rendezvous point (simple for users to grasp)
- Works behind firewalls
- Can work with local (ie Maildir) or remote (imap) mailstores. If using imap, helps to address the multiple devices issue. Could also use replication to handle it too (Syncthing, dropbox, etc)<p>Scuttlebutt looks like a nice alternative though. Will be following closely.
I am not much of a social networking type of person, but I have wondered how nice it would be to network with a community like HN. For example, I see a nice comment chain going on in some news article, but as the article dies so does all the conversation within it.<p>Maybe it's just me but if I see an article is x+ hours old (15+ for example), I don't bother commenting.<p>What type of social networking would HN use for non personal(not for family and immediate friends) communication? (I've tried hnchat.com, it's mostly inactive imho)
So it seems there are two ways to exchange information:<p>1) be on the same wifi (presumably great for dissidents in countries with heavy-handed internet control, and inconvenient for everyone else)<p>2) use "pubs", which can be run on any server, and connected to ¿through the internet?<p>So most users would use pubs, which are described as "totally dispensable" (a nice property). But how can users exchange information about which pub to subscribe to? Is there a public listing of them?<p>It seems like the "bootstrapping server" problem (eg; reliance on router.bittorrent.com:6881) will still exist in practice. For that matter, is there currently an equivalent to router.bittorrent.com that would serve this purpose?<p>This seems like a potentially significant project, and I'm excited by the possibility that it might actually take off – hence the inquiry.
Can I choose who's content I pass along? I am ok distributing my own feed, that's presumably why I am joining the network. I am not OK passing along someone else's hate speech, porn, warez, malware, spam, etc. I'd like to be able to review the feeds available and say "Yeah sure I'll pass that around." If everything in a feed is encrypted then I'd need to decide. Also yeah my brother who's feed I follow and pass may upload a really nasty bit of content and I may relay it.
The storage requirements are tremendous, though, right?<p>If I want to have access to everything that's been shared with me, I have to store it all. In the case of images, the storage burden can get large quickly.
I think I missed something. If information is exchanged when machines are on the same network, how does the guy in New Zealand get updates from the guy in Hawaii? Is there a server involved, or does the New Zealand guy have to wait until he is on a network with someone who has already connected with the Hawaii guy?
I'm not totally sure how the traffic management works, but what I would like to know is how services like this will be able to scale? What happens when there is a Pub with millions of users? Does it creep to a halt? Is there a need for dedicated Pub machines? If so, Who funds/maintains them? Does this lead to subscriptions?<p>Decentralized social networks seems like an inevitable progression as internet users become more aware of their privacy and ways they can improve online relationships and ...."social networking"
Right now Mastadon might as well be off-grid, unable to add additional accounts on the main server. Popularity has stunted it's growth!<p>I am not sure how much thought has been given to the scalability of this solution, it sounds like it will benefit from most of the advantages offered by P2P in this department.<p>Eventually something like this could organically grow into the "next Internet", in much the same way that the current internet has morphed into what it is today.
You can make sure that the author wrote this post by copy-pasting [this signature](<a href="https://raw.githubusercontent.com/staltz/staltz.github.io/master/signed_posts/2017-04-06-an-off-grid-social-network.md.asc" rel="nofollow">https://raw.githubusercontent.com/staltz/staltz.github.io/ma...</a>) <-- 404: Not Found.
Now I am not so sure on who the author is anymore...
The post starts by introducing two people (one in a boat in the ocean and another in the mountains in Hawaii) and states that they are communicating to each other. I thought this post was about some new long-range wireless protocol that sync'd via satellites or some such. I was disappointed to see this:<p>> Every time two Scuttlebutt friends connect to the same WiFi, their computers will synchronize the latest messages in their diaries.<p>Ultimately this technology seems to be a decentralized, signed messaging system. What problem are they solving? That facebook and twitter can delete and alter your messages?<p>Meanwhile I'm in search of a long-range, wireless communication system that can function like a network without the need of an ISP. Anyone know anything about this?
I really like his train of thought. The future of social networking will be very different from how it is structured today. That's a very safe bet.
> For instance, unique usernames are impossible without a centralized username registry.<p>This is Zooko's triangle and was squared by blockchains. Namecoin (2011), BNS (the Blockstack Name System, 2014), and now a bunch of other fully-decentralized naming systems can give you unique usernames. Recently, Ethereum tried launching ENS and ran into some security issues and will likely re-launch soon.
Does it normally take too long indexing database? since I started the app have been a long while.
I thought this could be a nice tool to use in places like Cuba, but I've realized now, that once connected to a Pub it download more than 1 GB, that would be a problem too in a place with lack of internet bandwidth.
Basic question: since the entries form a chain and reference the previous, is there no way to edit or delete your old entries? (I see it "prevents tampering" and there's something of a philosophical question here about whether you're "tampering" with your own history when you editorialize -- I agree with the crypto interpretation, but in the context of offline interaction, social communication isn't burdened with such expectations of accuracy or time-invariance.)<p>If so I see that as a fairly large limitation for the common user. Even though truly removing something from the internet is effectively an impossibility, I think most non-technical folks aren't actively aware of this, and I'd at least like the option make it <i>harder</i> for folks to uncover.
I think that SPKI's name certs would be a good next step for this, so people could associate human-readable petnames with keys.<p>C.f. <a href="http://theworld.com/~cme/spki.txt" rel="nofollow">http://theworld.com/~cme/spki.txt</a> and RFCs 2692 & 2693.
We also have git over SSB!<p><a href="https://github.com/clehner/git-ssb" rel="nofollow">https://github.com/clehner/git-ssb</a><p><a href="https://github.com/noffle/git-ssb-intro" rel="nofollow">https://github.com/noffle/git-ssb-intro</a>
Hmm, the "legacy" interface to patchwork seems much nicer to me:<p><a href="https://www.scuttlebutt.nz/applications.html#patchwork-classic" rel="nofollow">https://www.scuttlebutt.nz/applications.html#patchwork-class...</a><p>Curious what motivated the shift.
This seems similar to the (now defunct) project Opera Unite[1]. Basically Opera turned each browser into a kind of server.<p>Granted, Unite still used the Web, Opera accounts, and ISPs, but I believe it could communicate locally over a router too.<p>[1] <a href="https://www.youtube.com/watch?v=5oJd9lGWbWI" rel="nofollow">https://www.youtube.com/watch?v=5oJd9lGWbWI</a>
This wouldn't scale. If we replaced twitter with this right now, that's:<p>500 million tweets per day.
140 bytes (140 characters * 8-bit ASCII) per tweet.<p>140 bytes * 500 million = 70GB<p>Thats 70GB per day before metadata. Use this social network for a month and we've exceeded the 1TB mark, twice.<p>Remember this isn't just 70GB per day on one server, this is 70GB per day on every users PC.
This is great! Exactly the type of service I would use as someone that avoids centralized social networks.<p>Also wondering, can this be a replacement for Slack? Can I set up a private group chat room? Or can I only use the private @ feature to send private messages to multiple people?
If anyone would like an invite/pub connection, Project Entropy maintains a pub here which can hand out invites: <a href="http://ssb.project-entropy.com/" rel="nofollow">http://ssb.project-entropy.com/</a>
"Scuttlebutt was created by Dominic Tarr, a Node.js developer with more than 600 modules published on npm, who lives on a self-steering sailboat in New Zealand."<p>That's roughly the level of paranoia I want now
it seems like this is trying to solve the same problem as ipfs <a href="https://ipfs.io/" rel="nofollow">https://ipfs.io/</a><p>It's pretty neat when you see two people/groups working on the same problem independently.
This sounds more like a mesh communication tool, or a git repo, than a social network to me. "Social network" sites like Facebook aren't so utilitarian. Facebook was the place where people post life's highlights. (I say was, I haven't been there in years. I don't know what it is like today.) HN is also like this, except it is a stream of project highlights.
nice post!!keep going like this
<a href="http://techvinn.com/appvn-download-apk/" rel="nofollow">http://techvinn.com/appvn-download-apk/</a>