21 ms·
An off-grid social network
- j_s 10y agoRight now Mastadon might as well be off-grid, unable to add additional accounts on the main server. Popularity has stunted it's growth! 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. 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.
- dublinben 10y agoBut you can register an account on any node[0], and communicate with anyone else on the entire network. That's the strength of federated protocols. [0] https://instances.mastodon.xyz/ https://instances.mastodon.xyz/
- j_s 10y agoMy point was not what I could do but rather what I will do to try out some random new social network. Having now read that migrating identities is currently impractical I am even more certainly not going to take a chance on some other random server or even my own! How well has federation worked out in practice (for other federated, social network related protocols) so far? As far as I know, federation has only worked for ancient stuff that has nothing to do with social networks, like email and DNS. Basically, it is a part of core functionality and thus can't be co-opted by commercial interests (though GMail has made quite an inroad!). Until it has proven itself, social federation doesn't really seem like a strength to me. It does sound good in theory! Other people with actual experience are adding their anecdotes which lines up with what I'm trying to say.
- algesten 10y ago> As far as I know, federation has only worked for ancient stuff that has nothing to do with social networks, like email and DNS. Basically, it is a part of core functionality and thus can't be co-opted by commercial interests (though GMail has made quite an inroad!). Email only works _because_ of big players like GMail. Running your own server spam free and away from black lists is an endless task. DNS is going a similar way with more and more ISPs resorting to hijacking DNS lookups for all sorts of nefarious reasons. This protocol seriously need a broadly embraced signature system to validate origin.
- rocky1138 10y agoRun your own instance and all your performance problems go away. That's the point of federated services.
- the8472 10y ago> 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 This is a common misunderstanding. You do not need 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, any node that can be contacted can be used to join the network, the protocol itself is truly distributed. 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.
- glasz 10y agoto me it always sounds like approaches like dht are the solution but i'm having difficulties diving into it for the purpose of implementing it for my own apps. are there any noteworthy resources for non-academics to get started?
- the8472 10y agoWell, for an in-depth understanding you will ultimately have to read the academic papers on specific DHT algorithms, but you don't have to be an academic to read academic papers, no? Besides that there are the usual resources for higher-level overview or gleaning some details: wikipedia, protocol specifications, toy implementations on github, stack overflow, various blog posts/articles that can be found via google. But a DHT is usually just a low-level building block in more complex p2p systems. As its name says it's simply a distributed hash table. A data structure on a network. It just gives you a distributed key-value pair store where the values are often required to be small. In itself it doesn't give you trust, two-way communication, discovery or anything like that. Those are often either tacked on as ad-hoc features, handled by separate protocols or require some tricky cryptography.
- jude- 10y agoSpeaking as an academic who studies distributed systems, my advise is to stay away from anything that relies on a public DHT to work correctly. They're vulnerable to node churn, Sybil attacks, and routing attacks. The last two are particularly devastating. Even if the peers had a key/value whitelist and hashes (e.g. like a .torrent file), an adversary can still insert itself into the routing tables of honest nodes and prevent peers from ever discovering your key/value pairs. Moreover, they can easily spy on everyone who tries to access them. It is estimated [1] that 300,000 of the BitTorrent DHT's nodes are Sybils, for example. [1] https://www.cl.cam.ac.uk/~lw525/publications/security.pdf https://www.cl.cam.ac.uk/~lw525/publications/security.pdf
- EGreg 10y agoYes, this guy gets it. This community gets it. 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. 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. 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.) 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 control where your data lives, and not have to rely on any particular connections to eg the global internet, to communicate. Btw ironic that the article ends "If you liked this article, consider sharing (tweeting) it to your followers". 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 . If you are interested, here I talk about it further in depth: https://youtu.be/WzMm7-j7yIY https://youtu.be/WzMm7-j7yIY
- ytjohn 10y agoI have been researching along these same lines for a while now as well, ad-hoc/mesh network messaging. My use case would be an amateur radio mesh network. For a while, I was investigating running matrix.org servers on raspberry pis, connected to a mesh network without internet. And that does work, the closest I've come to a great solution. But I had never heard of scuttlebut until now. This looks even more ideal. In amateur radio, everyone self identifies with their call sign, this follows the same model. For amateur radio, there is a restriction against encryption (intent to obscure or hide the message), but the public messages would be fine. Private messages (being encrypted for only those the right keys) might be a legal issue, so for a legit amateur radio deployment, the client would have to disable that (or at least operators would have to be educated that private messages may violate fcc rules).
- throwaway32445 10y ago> And I predict, in the next 5-7 years we're going to see a lot more power to the people (...) through decentralized social networking tools / platforms that can run in new types of topologies. (at 9m53s: https://youtu.be/WzMm7-j7yIY?t=9m53s https://youtu.be/WzMm7-j7yIY?t=9m53s) How do you see this happening in such a relative short amount of time? Who (else) is going to do this? Is our culture predisposed to do this, and, if not, is there a strategy to overcome this culture factor? edit: for clarity
- wesleytodd 10y agoSince the author didnt mention it, the original creator of the patchwork project is https://github.com/pfrazee https://github.com/pfrazee 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. ps. Does patchwork still have the little gif maker? Because that was a super fun feature.
- wesleytodd 10y agoAlso, because Paul has awesome projects, and deserves some attention when a project of his makes it to the top of HN but doesn't even mention him, he is working on a browser for the distributed web called Beaker (I am using it to write this now), and it is awesome. https://github.com/beakerbrowser/beaker https://github.com/beakerbrowser/beaker
- cowardlydragon 10y agovery very cool. although forking a website so easily also makes spoofing very easy...
- pfraze 10y ago@cowardlydragon you got downvoted to death but that's a fair assumption so I want to reply to you here > forking a website so easily also makes spoofing very easy... A fork copies the files of a site, so yeah, it certainly would be easily to spoof somebody's site. It basically is a spoof button. But doing so creates a new cryptographic identity for the site, and that will be the basis of how we authenticate
- staltz 10y agoCross device identity is still an issue, but not a problem in the foundation. It's a matter of making client apps (like Patchwork) recognize a message of type "link this and that account together" and then your friend's app would automatically follow both accounts and render them as if they are the same thing. It'll be done eventually in Patchwork.
- bitwize 10y agoSo... it's kinna like USENET then?
- vog 10y agoNot sure why this was donvoted. From a bird's eye view, the whole system looks remarkably similar to Usenet, especially in the old times of UUCP, back when systems were mostly offline and had relatively short timespans to exchange information (via dial-up connection or similar). What's different now is that we have pleny of disk space, and more than enough computing power to perform proper cryptography.
- zeveb 10y agoIndeed, that's what I find exciting about the idea. I'm not keen on the implementation, which is built on npm & JavaScript, nor the protocol, which is built on JSON, but those might be worth it if we can restore some of the glory which was mid-90s Usenet, with security, privacy and accountability.
- AljoschaMeyer 10y agoEspecially since the implementation details are not set in stone. Once the lower-level protocols start to stabilize, more efficient implementations will probably emerge.
- Semiapies 10y agoAgreed. The resemblance to Usenet and email are what I find especially intriguing.
- thraway2016 10y agoProbably the same reason that "slack == irc" and anti-systemd comments get heavily downvoted. Younger generations want badly to believe that they've invented something completely novel and unique. This absolutely is usenet + crypto.
- 10y ago
- chc4 10y agoThis 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. 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. 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.
- rocky1138 10y agoNot being able to switch nodes pushes you to try and host your own instead. That's what I've done. IMO we should instead be looking at packaging a self-hosted version into a native Windows and Mac app. Run it in the background and everything's done.
- s_kilk 10y agoAnd then your laptop gets stolen and everything's gone.
- freehunter 10y agoOr you shut your PC down when you leave the house and then want to access your network from your phone.
- rocky1138 10y agoHow about this: you buy a physical device at Wal-Mart for $29.99, plug it in, hook it up to your wifi and leave it plugged into an outlet. It's got Mastodon or GNU Social on it and could look like this, but branded: http://thegadgetflow.com/wp-content/uploads/2015/10/SmartPlug-01.jpg http://thegadgetflow.com/wp-content/uploads/2015/10/SmartPlu...
- freedaemon 10y ago> For instance, unique usernames are impossible without a centralized username registry. 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.
- staltz 10y agoThat's only possible with what SSB Handbook calls a "global singleton". That's what I meant with "centralized username registry", which SSB does not have.
- freehunter 10y agoProblem is, I don't want to be assigned a username. I hate it when I get assigned a username. I want my username. If you hand me a username of "$&OdUgr606cZ", I will never remember that, I will never share that, and I will consequently never ever log in. But it doesn't matter because this issue is already solved. We already have globally unique usernames. They're called email addresses, they are unique by their very nature, and they are (for all intents and purposes) already decentralized.
- zeveb 10y ago> But it doesn't matter because this issue is already solved. We already have globally unique usernames. They're called email addresses, they are unique by their very nature, and they are (for all intents and purposes) already decentralized. No, they're not: billg@microsoft.com depends on microsoft.com, which depends on com, which depends on the root nameservers, which are … a central nameservice. That's the whole point of Zooko's Triangle: of secure, decentralised and human-readable, you can have at most two. Global-singleton approaches are still centralised (the singleton is the centre), although they may build the singleton in a decentralised fashion.
- freehunter 10y agoI think you misunderstand what the phrase "for all intents and purposes" means. It doesn't mean "literally, 100% true" it means "for true enough for this argument". What network does your blockchain run on? It still relies on Comcast to get to my house right? Because you want it to run over the Internet? Maybe you're using AT&T? Probably L3 is in there somewhere, but you're still relying on a centralized piece of equipment somewhere, and you're probably going to have a .com or .org to advertise it, and you might have a Wikipedia page or a Facebook group or collaborate development on Github and chat with your team on Slack and exchange files on Dropbox and send messages on Gmail and you log into all of those services with... your globally unique email address. Possibly using a domain you own, with the mail exchange hosted on a server you own that you set up specifically for this project. Maybe I'm missing the point, and I would look to you to explain to me what that is. But I guess congrats, you don't rely on ICANN anymore...
- cosenal 10y agoYou can make sure that the author wrote this post by copy-pasting [this signature](https://raw.githubusercontent.com/staltz/staltz.github.io/master/signed_posts/2017-04-06-an-off-grid-social-network.md.asc https://raw.githubusercontent.com/staltz/staltz.github.io/ma...) <-- 404: Not Found. Now I am not so sure on who the author is anymore...
- ISL 10y agoThe storage requirements are tremendous, though, right? 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.
- crypt0x 10y agoWell.. I've been on there for quite some time, granted it's been not mega active but here is a rundown of how much it took until now: there is the main sigchain database, which stores all the messages (following, posts, ....) which is now 150megs in size and there is the blobs (binary attachments like images) which is about 500megs in size. YMMV depending on how many catpictures your friend share ofc. The flipside to your remark is, that it is fully offline capable and I'm perfectly happy with that. Also: contrast it with how much space a thunderbird profile takes up.
- rattray 10y agoHow would that change if you had, say, 5,000 friends – the fb limit, which some people do reach – who were posting multimedia content multiple times a day (which happens on fb)? Is the protocol set up in such a way as to enable easy, automatic deletion of old data from local devices, while still storing them for easy search/scroll-based access on the Pub servers?
- deleted 10y ago[deleted]
- NoGravitas 10y agoThat's going to be a bigger problem on mobile than it is on desktop (I mean, not literally those amounts, but the amounts you'd get from a busier feed).
- throaway23 10y agoThe entire stackexchange and English Wikipedia dumps including all media is less than 90 Gig. Even low end cell phones have men expansion slots to 128 gig. Whatever you plan to do socially maintaining a local copy is not a storage issue. Non of the cloud ppl will tell you that though.
- zeveb 10y agoI think that SPKI's name certs would be a good next step for this, so people could associate human-readable petnames with keys. C.f. http://theworld.com/~cme/spki.txt http://theworld.com/~cme/spki.txt and RFCs 2692 & 2693.
- AljoschaMeyer 10y agoCurrently, a user can simply post an `about` message in the stream. Clients will then automatically use this name instead of the key.
- zeveb 10y agoWhat happens if two users post an about message with the same name?
- AljoschaMeyer 10y agoIn the database there are no conflicts, since everyone is still referred to by hash. The user interface will simply use the same name for both users. In addition to the self-assigned names, a user can also assign names to other users, using the same about messages. The UI should be smart enough to prefer these customized nicknames. The scuttlebutt website has a nice section on names and identity: https://www.scuttlebutt.nz/concepts/identity.html https://www.scuttlebutt.nz/concepts/identity.html
- ahdinosaur 10y agowhat happens "in real life" when two people go by the same name? Scuttlebutt works the same way: anyone can name themselves anything and anyone can name other people anything, it's up to the client how to interpret those messages. more on how SSB embraces subjectivity: https://youtu.be/P5K18XssVBg https://youtu.be/P5K18XssVBg.
- fiatjaf 10y agoWhy 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?
- mr_spothawk 10y agoI'm all ears.
- mypalmike 10y agoSocial networks could be topic-oriented rather then "me-oriented". Like reddit but more personal.
- mr_spothawk 10y agosounds like G+
- allannienhuis 10y agopresenting social content in a different format would be interesting, but I've not seen any compelling options. But the issues of looking for approval and social status are social issues - not sure how a social network tool could avoid that. Isn't that what a lot of people's casual relationships are like? What do most people do at parties and social events in person - they talk about themselves and each other...
- fiatjaf 10y agoOn Hacker News, for example, people don't talk about themselves, although they do like to get upvotes.
- allannienhuis 10y agobut hacker news isn't really about social content. Some of that might creep in for some users, and yes the karma thing does pollute motivations for some, but I've never thought of it as a social network. Some networking is done here, but only indirectly I think. Maybe I'm not thinking about it right or use it differently than most :P
- rb808 10y agoI'd like to see all my friends post updates and photos to blogs where I can subscribe via rss. This would be the best social network for me.
- lloydde 10y agoWhat blogging system? Who provides the infrastructure? Getting back to pull/subscriptions via RSS would make me happy to, but this doesn't solve the problem of who's platform are we all sharecroppers on.
- tensafefrogs 10y agoSo... Instagram?
- rb808 10y agowow, I didn't know it you could subscribe with rss - I'll definitely look.
- projektir 10y agoThat seems fairly close to how LiveJournal works.
- cookiecaper 10y agoYou can write a JavaScript component to read out the feed in the background and transform it into an RSS feed. Current U.S. law prevents someone from offering this commercially, especially in a SaaS package.
- mr_spothawk 10y ago> Current U.S. law prevents someone from offering this commercially, especially in a SaaS package. naturally. where can I learn more?
- rakoo 10y agoMedium has RSS feeds.
- vhodges 10y agoI've been thinking about this very thing the past few days! Forgive the rambling, this is the first time I've written any of this down... 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. 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) Scuttlebutt looks like a nice alternative though. Will be following closely.
- ChefDenominator 10y agoThe popular free email providers do not like busy transactional mail service.
- vhodges 10y agoSure, but remember it's p2p and no different from me composing an email and BCC'ing my 50 friends and family. One this I didn't mention was that there wouldn't be any public posts so definitely more social network than social media. Anyways, just an idea at this point, though a prototype would not be that hard to put together as an experiment.
- fiatjaf 10y agoemail is so complicated. There are probably 3 people in the world who know how to properly run an email server.
- vhodges 10y agoWho needs to run a mail server? It's a (specialized) mail client that uses your existing email account as storage and transport.
- good_vibes 10y agoI 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.
- someone7x 10y agoThis 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.
- crypt0x 10y ago> I want future generations to live in a world where 'the internet' isn't a thing that authorities can grant/deny. _THIS_ is very much the spirit of SSB. :)
- johanneskanybal 10y agoDid I misunderstand the article or is this only for social feeds? I want headless internet in general, guess it's a common idea these days.
- floatboth 10y agohttps://docs.meshwith.me https://docs.meshwith.me The technology is here, the only thing left is to make people actually use it…
- dangerousbeans 10y agoIt's kinda like a database which is chill with being incomplete, but you only get bits of this shared database from your friends (and their friends) But unto this database you can build whatever, like there's a github thing and a soundcloud thing and a facebook thing
- mikenew 10y agoI think the InterPlanetary File System is what you're looking for: https://github.com/ipfs/ipfs https://github.com/ipfs/ipfs
- mattcoles 10y agoHow does such a social network tackle abuse?
- est 10y agoYou don't follow them.
- itchyjunk 10y agoI 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. Maybe it's just me but if I see an article is x+ hours old (15+ for example), I don't bother commenting. 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)
- jumpkickhit 10y agoYeah, I'd be happy to see an active IRC channel for HN. Though, I doubt many would use it since IRC is way past being en vogue.
- itchyjunk 10y agoI like IRC still. For example, the science based channels in freenode.net is pretty good. #biology, ##physics and ##math. Might not be the worst of ideas for a mod to make one for us :s (provided they already have an IRC client going, it wouldn't be too much added hassle).
- amelius 10y agoI think HN disables commenting after X hours for every post. Perhaps HN could introduce email notifications (e.g., if somebody replies to one of your comments/posts, you get a notification by email).
- lcnmrn 10y agoSublevel.net has a nice community. Why don’t you join in?
- thomastjeffery 10y agoNotifications are the only feature I really miss comparing HN to Reddit.
- deleted 10y ago[deleted]
- macawfish 10y agoWould it be hard to port patchwork to android? I'd love something like this for android.
- crypt0x 10y agoyou might want to get in contact with andre. I'm sure he could use some help.. ;) http://viewer.scuttlebot.io/%b6nlgiAu3ZWkLqKnvkU1T/9PZCfiqSU/Ujg1xRmD/64=.sha256 http://viewer.scuttlebot.io/%b6nlgiAu3ZWkLqKnvkU1T/9PZCfiqSU...
- fiatjaf 10y agoNo, you're not. If you were that would mean you would be interested. If you were interested you would have more to say. You're just trying to imply that I must suggest an alternative before commenting on the poor state of "social networks".
- allannienhuis 10y ago"I'm all ears" is simply a common idiom for asking you to suggest alternatives. Not sure why that upsets you?
- fiatjaf 10y agoBecause it is rude and a lie. Also, your last phrase doesn't make any sense.
- allannienhuis 10y agoI guess rude is in the eye of the beholder? :) Your response seemed rude to me (challenging the use of a pretty common phrase to elicit elaboration), which is why I suggested you were upset. Subtleties and true intention are often lost in written communication... :)
- cheetos 10y agoJust to be clear, you are the one being rude.
- fiatjaf 10y agoOne has the right to be rude if someone else is rude first. Right now you're being rude, for example, because somehow my rudeness offended you.
- joekim 10y agoWhether or not you have the "right" to be rude, I think the more cordial we are the more we can align around learning through discussion. If someone is rude to someone who's mistaken that could help them unlearn something, but more likely they will become more entrenched because of consistency principle. Cialdini talks a lot about consistency principle in his book the "Influence: The Psychology of Persuasion" https://www.amazon.com/Influence-Psychology-Persuasion-Robert-Cialdini/dp/006124189X https://www.amazon.com/Influence-Psychology-Persuasion-Rober...
- ICRqVNmDrU8FDi 10y agoThis wouldn't scale. If we replaced twitter with this right now, that's: 500 million tweets per day. 140 bytes (140 characters * 8-bit ASCII) per tweet. 140 bytes * 500 million = 70GB Thats 70GB per day before metadata. Use this social network for a month and we've exceeded the 1TB mark, twice. Remember this isn't just 70GB per day on one server, this is 70GB per day on every users PC.
- crypt0x 10y agohow do you read 500 million tweets per day? the idea is to only replicate who you care about+a couple of their friends.
- ICRqVNmDrU8FDi 10y agoIn that case it would work. I was under the impression that you'd be syncing with everyone so someone in New Zealand could contact someone in Canada. The average person has 208 twitter followers. So lets say you have 208 'friends' + a couple additional 'friends' for each of your original friends. That's 624 people total. There are 100 million active twitter users each day and 500 million tweets per day, that's 5 tweets per person. 5 * 624 = 3120 That's 3120 posts you'll be processing per day. Multiply this by 140 bytes per post and you have 436800 bytes per day or 159.5 MB per year. That's manageable.
- rakoo 10y agoExcept for pubs, which are helpful broadcasters of both private and public stuff, but it makes sense to host them on an infrastructure that can ingest 70 GB a day and have a couple days of retention
- jdormit 10y agoI 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?
- good_vibes 10y agoGood question. I'm curious too now.
- crypt0x 10y agoInformation can also be exchanged using legacy internet.. ;) kidding aside: we just introduce a few instances that act as exchange points (also called "pubs"). I played a little with the idea of using tor hidden services to directly connect to people, so that you don't need another computer that runs all the time.
- webrender 10y agoIt sounds like that's what the 'pubs' mentioned in the article are for: https://github.com/staltz/easy-ssb-pub https://github.com/staltz/easy-ssb-pub
- AljoschaMeyer 10y ago(Public) information is not only shared between friends, but also between friends of friends. So as long as they have common friends connected to the internet, the data flows without problems. To help with this situation, the network includes so called pubs. These are basically bots that run 24/7 and friend people. The article very briefly mentions them. More information here: https://www.scuttlebutt.nz/concepts/pub.html https://www.scuttlebutt.nz/concepts/pub.html
- jdormit 10y agoVery helpful, thank you!
- danjoc 10y agoThis 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.
- techvinn 10y agonice post!!keep going like this http://techvinn.com/appvn-download-apk/ http://techvinn.com/appvn-download-apk/
- deleted 10y ago[deleted]
- snackai 10y agoA hipster living on a self-steering sailing boat has 600 modules published on NPM. I can't even. Seriously how could this be even more funny?!
- antocv 10y agoHe has a friend who builds is own shackle, in Hawai of course. But seriously, this is a very very interesting project.
- mabramo 10y agoIt's pretty funny because of the stereotype. On the other hand, it makes sense that someone dedicated to improving the state of privacy and personal data ownership lives on a boat. If he decides the government becomes too authoritarian, he just leaves with all his stuff. No go-bag needed because he has a go-house. Lay low in SEA near a wifi hotspot or something. You can't escape the reach of corporations, but he (and others) are working on it in the form of scuttlebutt.
- hugozap 10y agoI think of hipster as someone who follows (non mainstream) trends, goes to starbucks, loves Apple products and cannot live without Wifi. Not a hacker who builds it's own stuff and cares about privacy. But maybe the beard confuses people.
- btym 10y agoIt's hard to define the term, but I think at the most basic level, "hipster" specifically refers to anyone who enjoys being alternative. "Goes to starbucks, loves Apple products and cannot live without Wifi" are common qualities of people who want to be hipsters but only because they think it's cool (and don't actually embrace an alternative lifestyle).
- draw_down 10y agoI recommend dropping the term. It's meaningless now, if it ever actually even meant anything in the first place.
- DenisM 10y agoMy 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! Distributed identity 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. Relays 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. Objects 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. Comments 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. Content Curation 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. Storage 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.
- fossuser 10y agoFor the distributed identity piece is there a good reason not to rely on keybase.io? Also important that an initial smaller community would be targeted and that it would succeed there. FB did this will colleges, a federated one would in a world where FB already exists would have an even harder time.
- the_arun 10y agoWouldn't the size of diaries grow big - GBs and TBs over period of time and make it slow?
- staltz 10y agoYes, but not GBs. There are logs (diaries) and blobs. Images are stored in blobs and can be garbage collected.
- rattray 10y agoSo it seems there are two ways to exchange information: 1) be on the same wifi (presumably great for dissidents in countries with heavy-handed internet control, and inconvenient for everyone else) 2) use "pubs", which can be run on any server, and connected to ¿through the internet? 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? 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? This seems like a potentially significant project, and I'm excited by the possibility that it might actually take off – hence the inquiry.
- staltz 10y agoIt depends if you want to use it like Twitter (public announcements) or like Facebook (closed small/medium circles). If you use like Facebook, then it's enough that one person among your circle of friends (probably the most tech-savvy one) would host a pub and use that for their friends. You can see how you would probably be connected to a few pubs, because you usually have different circles of friends. If you want to use it like Twitter, then indeed we might need a DHT, but the point there was the resilience of the network.
- rattray 10y agoOkay... in the FB case, though, my friend has to send me the IP/DNS address of their pub somehow, right? eg; Signal? What about organizing groups, which might currently use Slack? For example, political dissidents who don't necessarily all know each other personally. They must use some other communication channel to communicate pubs?
- jekrb 10y agoThere is indeed a list of pubs https://github.com/ssbc/scuttlebot/wiki/Pub-servers https://github.com/ssbc/scuttlebot/wiki/Pub-servers
- cel 10y ago
- rattray 10y agoHmm, the "legacy" interface to patchwork seems much nicer to me: https://www.scuttlebutt.nz/applications.html#patchwork-classic https://www.scuttlebutt.nz/applications.html#patchwork-class... Curious what motivated the shift.
- offa 10y agoWow, you weren't kidding, this indeed looks much nicer.
- georgecmu 10y agoAs a historical note, there used to be quite a few very popular solutions for supporting early social networks over intermittent protocols. UUCP [https://en.wikipedia.org/wiki/UUCP https://en.wikipedia.org/wiki/UUCP] 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. FidoNet [https://en.wikipedia.org/wiki/FidoNet https://en.wikipedia.org/wiki/FidoNet] 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. 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": https://github.com/Mithgol https://github.com/Mithgol
- JdeBP 10y agoIt's slightly misleading to refer to Fidonet only in the context of Russia. It was popular in quite a lot of places around the world, not just Russia. Not even principally Russia, in its heyday. These things are definitely systems to learn from, both their architectures and their histories; and people have already been drawing parallels to Usenet on this very page, notice.
- Neliquat 10y agoIndeed. My BBS was fidonet connected in the 90s. Many interesting discussions happened dispite the day long delay in replication.
- georgecmu 10y agoWhen I said that Fidonet was a very popular alternative to internet in Russia as late as 1990s, I didn't mean that it was limited to Russia, but that in Russia particularly (well, FSU) it was still popular even in late 90s, while elsewhere in the world it was subsumed by internet.
- NoGravitas 10y agoIn the very early 90s, my personal computer had a UUCP feed for email and news from a local BBS. I didn't use bang paths on it; the provider had a proper Internet connection. It worked satisfactorily well.
- rattray 10y agoBit of feedback: when you download the desktop application, it prompts for a desired name, image, and description. 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. After creating an account with the default ¿randomly? generated name, I tried to use an invite obtained from http://198.211.122.115/invited http://198.211.122.115/invited which was linked from https://github.com/staltz/easy-ssb-pub https://github.com/staltz/easy-ssb-pub. All I got back was "An error occured (sic) while attempting to redeem invite. could not connect to sbot" It worked with http://pub.locksmithdon.net/ http://pub.locksmithdon.net/ though I feel a bit odd trusting a "locksmith" I've never heard of to stream lots of data to my harddrive... 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. As a "random technically aware netizen", I honestly trust fooplesoft more, since they have a multi-billion-dollar reputation to protect. (Not that I trust fooplesoft).
- staltz 10y agoThese pubs you mentioned are suffering under the large amount of traffic generated by HN and they were not designed for this load. Ideally hosting your own pub should be as easy as possible. My goal is to have it possible under a Heroku "Click to deploy" button or Zeit `now staltz/easy-ssb-pub` so that we can have more pubs. By the way, my pubs are public just because I chose to, but I may take that down if I want. No data would be destroyed, since you'd have all that locally and you can connect to any other pub and replicate through that.
- ezdiy 10y agoAll pubs on the wiki are indeed overloaded. Interestingly if one sets up their own, the other pubs eventually sync with it, only the desktop client seems to be unhappy with laggy pubs. Is that by design? FWIW, you can use pub.lua.cz:8008:@xYSW6eVu8gTS/nTSXZiH97dgKZ+wp7NkomR6WKK/PBI=.ed25519~iQ16RuvjKZqy/RhiXXmW9+6wuZNq+SBI8evG3PotxvI= if you have trouble connecting to the ones on github. Feel free to add it to the wiki, I do plan to run it long term, but I am not a github user.
- XaspR8d 10y agoBasic 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.) 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 harder for folks to uncover.
- staltz 10y agoThere is no way (as far as I know) to delete old entries, and I think this is good because with gossip mechanics we cannot lie to ourselves: there is no way of stopping that information from spreading. What's possible, on the other hand, is to make a message type "ignore the previous" which client apps would interpret to hide them, but obviously a client app can be configured to not hide them.
- XaspR8d 10y agoYes I suppose I'm targetting the protocol a little too much when I should think about what features clients can implement. I'm certainly happy with the "gossip" approach; I just see it as challenging for some people to adopt when they are coddled with the idea that they can censor their past.
- staltz 10y agoAnother very important point with no-deletes is: you can't deny history. You can't, in real-life, take back something you said. The mechanics of digital deletion in centralized systems is a big problem for History. I remember Julian Assange describing a corruption scandal that was essentially erased from History because a digital article by a large media company was deleted, and not replicated fast enough.
- xori 10y agoA git repo, with GPG signed ~commits~ message posts, and a blob store for files. Love it.
- matt_wulfeck 10y agoThe 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: > Every time two Scuttlebutt friends connect to the same WiFi, their computers will synchronize the latest messages in their diaries. 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? 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?
- Nadya 10y ago>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? Mesh networks/WANETs. But you need enough adoption for the network to be considered long-range. Generally they are local-only. [0] https://en.wikipedia.org/wiki/Wireless_ad_hoc_network https://en.wikipedia.org/wiki/Wireless_ad_hoc_network
- ptr_void 10y agohttps://en.wikipedia.org/wiki/Wireless_mesh_network https://en.wikipedia.org/wiki/Wireless_mesh_network https://www.youtube.com/watch?v=tYLU755T6_I https://www.youtube.com/watch?v=tYLU755T6_I
- cel 10y ago> What problem are they solving? That facebook and twitter can delete and alter your messages? that using those services for one's communications places too much power in the hands of centralized authority. (I speak just for myself here). https://www.scuttlebutt.nz/stories/design-challenge-avoid-centralization-and-singletons.html https://www.scuttlebutt.nz/stories/design-challenge-avoid-ce... > 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? On SSB we have discussed doing gossip connections over long-range wireless connections: https://viewer.scuttlebot.io/%2547H0BQQHAXvvqf8K3ngdeMtAHQdPYU0qH0giuL7FKFY%3D.sha256 https://viewer.scuttlebot.io/%2547H0BQQHAXvvqf8K3ngdeMtAHQdP... Of course if you are looking for a network in a more traditional sense, something lower-level may be more appropriate.
- yoandy 10y agoDoes 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.
- cel 10y agoIt can take a while to index the database. In places lacking internet bandwidth, people could run pubs in hackerspaces, schools, offices, homes, Actual Pubs, etc. A pub in a place that people frequent would gossip messages for the people, so they would not all need to connect to the internet all the time. Even the pub itself doesn't have to connect to the internet for it to be useful, as it would still help messages spread when people connect to it. As long as someone in the network connects to the Internet at least once in a while, people will be able to communicate with the broader network. With this architecture we can make more efficient cooperative use of network bandwidth.
- unlmtd 10y agoThe identity problem is being resolved. uport.me is the first implementation. The idea is so simple one wonders why we hadn't thought of it before. Of course it necessitates a working consensus algorithm, which is in its infancy. Some devs at ethereum are figuring out clever ways to get rid of proof if work. They're calling it 'casper'. Very clever stuff. Exciting times!
- 0xdeadbeefbabe 10y agoWhy do I have so many friends? Talk about not mirroring reality.
- hackeraccount 10y agoit seems like this is trying to solve the same problem as ipfs https://ipfs.io/ https://ipfs.io/ It's pretty neat when you see two people/groups working on the same problem independently.
- dotchev 10y agoYes, it would be interesting to compare the two. ipfs seems more generic approach.
- cakeface 10y agoCan 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.
- shrimp_emoji 10y agoCurating exercises of freedom of speech, eh? Sounds like decentralization won't lead to more digital freedom after all with attitudes like this.
- edraferi 10y agoYour freedom to spread filth is precisely equal to my freedom not to repeat it. Also, please remember that the American First Amendment limits Government speech restrictions. Private communities and individuals can make any rules they want about social acceptable speech.
- password_reset 10y agoyes. users actively replicate data, not passively. they have inherent control over what they pass on. If a community doesn't want to replicate your data, then go to find one that does.
- substack 10y agoYour computer will only help host data that was hosted by people that you follow. If you don't want to spread content that you disagree with, don't follow people who post such content.
- mr_spothawk 10y agowonder if that un/follow&mute feature will turn out to be a confounding mechanic in the future.
- noffle_ 10y agoWe also have git over SSB! https://github.com/clehner/git-ssb https://github.com/clehner/git-ssb https://github.com/noffle/git-ssb-intro https://github.com/noffle/git-ssb-intro
- staltz 10y agoThis is so awesome that it deserves a separate blog post. I tried to contain some excitement and not expand on it with this blog post, but it's really revolutionary, and super easy to adopt.
- ghostwreck 10y agoThis is great! Exactly the type of service I would use as someone that avoids centralized social networks. 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?
- dangerousbeans 10y agoYeah you can and it works quite well, but is limited to 5 or 7 people or something like that. But 0 metadata about who's involved in the conversation is great, feels way more secret shhhhh
- Andrex 10y agoThis seems similar to the (now defunct) project Opera Unite[1]. Basically Opera turned each browser into a kind of server. Granted, Unite still used the Web, Opera accounts, and ISPs, but I believe it could communicate locally over a router too. [1] https://www.youtube.com/watch?v=5oJd9lGWbWI https://www.youtube.com/watch?v=5oJd9lGWbWI
- f4rker 10y ago"off the grid" and "social network" pick one.
- abraae 10y agoDepends what you mean by "off the grid". I've been working on something that has some similarities. Its a mesh network of pest traps in the New Zealand bush. Battery life is very important, so each node sleeps most of the time, then periodically wakes up and communicates with its neighbours. Made more complex by devices not having real time clocks. Once every node in the network is powered down most of the time, I don't think you can consider it a grid.
- dangerousbeans 10y agoIf anyone would like an invite/pub connection, Project Entropy maintains a pub here which can hand out invites: http://ssb.project-entropy.com/ http://ssb.project-entropy.com/
- olleromam91 10y agoI'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? 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"
- nvr219 10y agoIt's not meant to scale imho
- staltz 10y agoIt is certainly meant to scale, it's an eventually consistent decentralized database. Centralized services historically have difficulty in scaling, but distributed and decentralized are by design easier. In Scuttlebutt, we don't need to have everything connected to everything, so it easily scalable. You just need to give up the idea of a global singleton, global search indexes, that type of stuff.
- hexmiles 10y agoI'm not sure how this project in particular handle it, but i see quite a few project that handle it by simply using the "follower" for a user as their replica. Since the message is signed there is no risk of being alterated or forget, so i can get the message of user FOO from user BAR as long BAR is "following" FOO. This scale well since the more popular you get more peer can replicate your messages and post.
- staltz 10y agoIt scales by each "circle of friends" or community having its dedicated pub, set up by some tech-savvy person. Pubs should be easy enough to setup for anyone who knows what a VPS is. A community or circle of friends is usually not millions of people. For the "social media aspect", like in Twitter, we're looking at making alternative types of pubs. Imagine having a pub dedicated to only replicating your content (and no one else's). Or multiple of these. So that whoever wants to follow (if you're like Elon Musk famous) can just follow one of your pubs.
- bandrami 10y ago"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." That's roughly the level of paranoia I want now
- Proven 10y agoZeroNet.io
- camjohnson26 10y agoIs there a better guide to the service? The handbook is accurate but really short. Would also help if it was easier to browse channels.
- truedev 10y agoWhat a great idea. I hope it succeeds.
- brian-armstrong 10y agoI'm really excited to see how this develops. Best of luck to the Scuttlebutt team, what a great idea :)
- nebabyte 10y ago> Every time two Scuttlebutt friends scuttlebuds?
- hsribei 9y agoSo how do I sync two instances with nothing but a USB stick? What commands do I use on both ends?