GP points out that in a distributed social network, 3rd parties can still mine your data, you still have trouble permanently erasing information, and in fact these problems grow instead of shrink. From a user's POV, what matters is the total amount of 3rd parties over them and the leverage they have against these 3rd parties as a whole. GP's point is that shrinking FB's power by going to a distributed social network might actually increase the total power 3rd parties have over users.
I'm not afraid that I do something stupid and people find out. I'm afraid that I don't do anything stupid, but facebook makes it look like I did. They have authority a distributed system could never have.
Also I'm not worried about someone who sells pruning shears could mine my data and find out that I like pruning shears. I'm worried that facebook only shows me adds of shitty pruning shears of certain companies. Who happen to be drinking buddies with facebook executives.
You can say that these are delusional things to worry about. But how do you draw the line when concentration of power is OK and when it's not?
* make the effort to learn how to set up and maintain your own instance of your chosen federated social app. You get to decide exactly what data is and isn't shared with the network. You don't depend on the goodwill of any third party , or their security competence (just your own).
* find a geek you know, and get them to host an instance for you. There is a third party, but it's someone you personally know and presumably trust.
* find a public instance run by a collective or organisation you trust to care about your privacy and know how to protect it, eg some people might trust the motives and competence of EFF, or their country's civil liberties organisation (eg ACLU in the US), or a collective like RiseUp.net or Disroot.org.
While export/ import of accounts between instances is an unsolved problem at present (Hubzilla can do it using Nomadic Identity but only between Hubzilla instances), the devs of all the federated apps are aware of it as a major pain point, and work is underway to implement it. In the meantime, if you're willing to go to the trouble of re-following and nagging all your followers to re-follow, you can move between the 3 options above at will. FB and other datafarms offer you none of these options.
EDIT: formatting
Huh? Scuttlebutt is fully encrypted.. doesn't that make the API vastly more locked down than Facebook/etc?
> There is a clear issue with Facebook's accountability in these areas. Distributed systems are typically open source, they run on multiple servers by different owners, this leads to zero accountability.
This is no worse than Facebook though. With Facebook, your friend could steal all of the data you let them see. With Scuttlebutt, your friend could steal all of the data you let them see.
At least with this I control who sees my data, no? Sure, I can't have accountability with a friend, but at least no company/etc has access to my data.
> GDPR compliance about deleting data is almost impossible in a distributed system.
Doesn't GDPR apply to companies? If my mom sends me a physical card, do I have to adhere to GDPR laws with her address/name? How is that any different than Scuttlebutt?
Encryption has nothing to do with it. The whole issue with CA was that they (just as many apps before them) were using Facebook social graph data that was available for them to access via the API. Encryption on any layer has nothing to do with it - if you have access to the API, you get the data. In distributed system, if you are a node in the system, you have to have access to social graph data - otherwise the whole concept of social network does not work. You can't "see what your friends are doing" if there's no information about who your "friends" are. And if the nodes on the network have information about who your friends are - or can get that information - then they have the same access as CA (and many other apps before them) had. Facebook can at least (if they wanted to) cut off the external API and not tell the social graph structure to anybody outside Facebook. I don't see how this is possible in a distributed network.
If you start integrating Tor/i2p hidden services, even global passive network adversaries will struggle to figure out the social graph from network monitoring.
We don't currently allow third party apps in Peergos, and when we do they won't be able to access the social graph, nor will they be able to connect to the internet, nor anything else outside peergos. So that data can't be exfiltrated.
What data are you talking about that can easily be crawled without any permissions?
If it is that simple then maybe Scuttlebutt isn't a good protocol, but a secure end-to-end platform like this is definitely possible. And if anyone is going to build it it's not going to be a company who makes all of their cash from harvesting user data.
I guess I just don't understand what accountability there is to be even had? If I send an encrypted message to my friend, who is accountable? What are they accountable for?
If I'm sending illegal content to someone only I can be held accountable (and possibly the person I'm sending to). Is that any different in Scuttlebutts case?
As far as GDPR goes, you're right because you're specifically choosing people to send it to. However, having a mechanism to delete your messages on other people's systems when they sync would probably go a long way.
It is my understanding at the moment that it's not scientifically possible to do this. If I'm mistaken I would love to hear a proposal for doing this, but I don't understand how full read access can be revokable once you have the data and a way to decrypt it. DRM doesn't count/work.
Also, the way the protocol works is that clients discover the most recent log entry number, and then request all "missing" ones. So that delete message would be more like a "please overwrite message id 29342 with zeros or something".
From what I understand of SSB,it works by distributing messages to receiving users as part of a blockchain, making all messages effectively public, even if not published with the goal of giving the public access. But maybe similar functionality could be added by setting up private "clubs" - pub servers set up by groups of users who know and trust each other - which would play the same role as a Hubzilla hub, storing private messages and displaying them to users who can authenticate correctly.
Yeah, it is worse because if you screw up, you don't have anyone to blame but yourself.
You have complete control over your data.
No, not at all! TOR is fully encrypted, but there are somewhat regular vulnerability reports about various parts of the stack. Including criticial vulnerabilities that can and have been exploited by nation states, for example.
> This is no worse than Facebook though
This is not at all clear to me. The attack surface for Scuttlebutt is much larger, and I trust Facebook's security team to audit and patch much more than I trust any random friend.
Sure, but I wouldn't choose "a random friend" to run my FB replacement service, I'd choose a trusted friend. And more importantly, no matter how good Facebooks security team are at patching and auditing servers - THEY ARE THE ADVERSARY IN THIS CONTEXT!
How does this relate to scuttlebutt? There's no scuttlebutt “service”; it's a tool and a protocol, like a pen and the English language.
> no matter how good Facebooks security team are at patching and auditing servers - THEY ARE THE ADVERSARY IN THIS CONTEXT!
I think this is the salient point: if you send data to your friend, they necessarily have that data and can leak it; but there's no need for a stranger with unknown motives (Facebook) to also have that data.
Your friend can, but Facebook can scrutinize third-party apps. In a decentralized world, there's no one who has access to holistically examine automated access and detect shady activity. In a decentralized world, everything is essentially a third-party app.
The other thing I’ve seen a lot of people use are notifications / invites. e.g. most big gaming communities are bad experiences but you can bootstrap your friends into a better group. That seems harder to change and it’s definitely a real need.
Basically only automation & power users.
I can assure you that they don't. Anyone can have a third-party app that scavenges for private info.
See: Cambridge Analytica.
>there's no one who has access to holistically examine automated access and detect shady activity
There is. It is you. You can shut off access your data any time you want to. Yes, if you give someone access to some data, that data could potentially be out there forever but you can revoke access to your (future) data freely.
And, most importantly, the same is true for literally any platform.
One quick look at people taking screen shots of snapchat posts shows how deletion of data from a platform like FB or Snapchat is irrelevant - viewers of that data can always copy it.
About accountability: if YOU are compromised, your friends' data are compromised, and vice versa. Are you saying that the median security skill of your friends are higher than Facebook? Because any of them can leak your data unintentionally.
About encryption: it's freaking useless in this case. Remember, some people fall for Nigeria prince scam. And what happen when their keys are compromised? See above.
That's the crux of the argument: you can't guarantee that your precious friends and family can safeguard their keys (in fact, I doubt my personal security practice is remotely as good as FB or Google or Amazon or MS or Apple). In that case, by the virtual of distribution, your data is copied everywhere, waiting for any key to compromise.
1. Follow you from site to site, scooping up all the data they can on you.
2. Allowed all of that data to be accessible not just by you opening up to a bad actor app, but by any of your friends opening up to a bad actor app.
Calling it "overly open APIs" is misleading at best. The point of an API is that it is a public interface. If Scuttlebut has proper permissions controls then they wont have these problems... and because they're open source those problems can be scrutinized rather than remaining opaque.
The only solution would to be to enforce reasonable app usage in the client, and then require all your friends to use that client. That seems to defeat the purpose of a decentralised protocol.
The SSB protocol has other design goals beyond “be Facebook but less evil”; for example it works seamlessly offline.
With Scuttlebutt, largely, the client controls every one of your points. Different clients (with different settings/controls) can interact with a network upon which other users are using completely separate clients, each with separate settings controlling how user data is contributed to the network. Consent is not an issue.
With Facebook, as a user, you need to agree to Facebook's strict terms to be a part of their closed network, and—largely—cannot do so with your own client with its own data-contributing settings. The only close equivalent is using something like uBlock with your own browser, but the control you have their is very limited.
I say consent is not an issue but I'll devil's advocate myself and describe a Scuttlebutt setup where it would be. Say a company sets up a normal centralised service, which you visit in your browser, sign up for a central account, and it's backed by Scuttlebutt behind the scenes. Users of that centralised service can connect to a larger Scuttlebutt network upon which other users may be using their own dedicated clients to access. Consent is an issue for that central service (which acts as a defacto client on your behalf), but not for the network at large.
Things I do care about:
-No censorship
-Chronological feed
-Open source & non-abusive client. (i.e. no tracking what users see or read)
-Good usability
I don't care about abusive content or fake news. If I see fake news, I just stop following whoever posted it.
So, under my criteria: decentralized > facebook
Isn't this asking for a bit much? /s
How do you know? Could you also tell me if my computer has virus, since you seem to have an oracle?
How about letting people make their own decision who they want to talk to, without a third party saying “I forbid it”.
Human beings exist as part of a society--a larger organism. Imagine if a cell were permitted to send any proteins or RNA it wanted to its neighboring cells. As long as the signals are benign or simply "nuisance" level, it's fine. But if the signals subvert the very organism of which they are a part--for example, by tricking neighboring cells into ignoring programmed cell death and encouraging enlarged blood vessel growth in the area--then there is a real danger that these cells are becoming a cancer to the host body that sustains their very existence.
I think the scare-quotes you put around "service" might be to show that a communication service that silences your communication is no service at all. But isn't that true of any complex, principle-based decision? If you have a friend who says he is going to blow up a federal building, and you report him, are you a "friend"? Some principles trump others--like saving lives over sustaining friendships, for instance. In the same manner, I think there are legitimate cases where a "service" should not serve.
How that should work in practice is still being worked out--in the halls of tech companies and legislatures all over the world.
You finally got to the crux of your argument after contorting around a bad analogy. Only tech companies and legislatures should be figuring out what services we should have.
Let me tell you something. That position is the complete opposite of what Hacker News is all about.
Instead you seem to be a hurry to travel down a road that sometimes ends with the word "Statist" getting thrown around as an epithet against heretical outsiders.
> [Disparagingly:] Only tech companies and legislatures should be figuring out what services we should have.
Let's apply the same logic to non-digital goods and services: Do you believe it is fundamentally wrong for a government -- even with significant public support -- to interfere with one anonymous man's Galtian quest to sell radium toothpaste by mail?
Amazing...even after I point out his janky biology analogy, you go ahead and try one yourself. You people can't help but to double down.
Yeah, that's what I suspected, we're done here.
Government? Maybe. Private corporations exploiting the hell out of a natural monopoly? Hell no. Genuinely democratic government (which implies opt-in, or at least the ability to opt-out) sure. That's what standards bodies are for.
Unlike some here, I can see value in user protection laws like the GDPR, for the same reason I see the value in governments creating heavy disincentives for kidnapping or murder. Such laws can, if necessary, be enforced on groups running instances of federated social network software. We saw what happened when the US Congress tried to regulate a major centralized provider; a slap on the wrist with a wet bus ticket: https://www.youtube.com/watch?v=CTv0MZBCQCs
In your own example you alluded to cells refusing to commit apoptosis. By your analogy, it should be just and proper for people to be regularly savrificed for their state — their very lives may be required to be given up for the state to function.
I do not think we base our human societies on the law of the jungle — and certainly not on the inner workings of an organism! I doubt you are able to take this analogy very far without coming up against horrendous human rights violations.
Any regime could apply this reasoning to prevent any threats to itself arising from people discussing things.
The other points are just stating "much harder", which seems to just bring skepticism and little actionable suggestions.
I think there is a natural monopoly for some aspects of this, which is why Facebook is so hard to quit. But I don't think the whole thing need be in private, for-profit hands. Mozilla shows that a nonprofit can be a good steward of important web assets, with much stronger user advocacy than for-profit companies normally do.
Doing something like that for identity and interconnect between messaging and micropublishing providers seems much more robust than pure decentralization to me, which I expect would have the same failure mode as OpenSocial [1], where forces pushing toward natural monopoly are basically unchecked.
Contrast this with how well proprietary messaging platforms have been taken up and improved iteratively. Or even look at how Google is advancing GMail. Email is nominally federated, but they have circa a billion users. 44% of US adults report using it, and it's 61% of 18-29 age users.
But this sounds like the old proprietary vs open source arguments. 1. The biggest tech companies in the world have struggled to keep up with the pace of innovation in open source. 2. Scale of userbase counts but standards facilitate this by creating a network and market. 3. There is a compelling business case for having an ownership stake in your tech platform which revolves around roadmap, security, and longevity. Longevity is counterintuitive but FB can bite the dust like Myspace, and Google can go the way of Woolworths. Huge institutional brands can evaporate fast and barely leave a trace; many young people today have never heard of Madonna, David Bowie, Led Zeppelin, unthinkable to older generations.
The way to differentiate on standards is via features and service, which gmail does well (spam was the killer feature which got most using it). But just lately Google has started looking at proprietary extensions to web and mail, and it's like Microsoft in the early web all over again. We saw how that turned out, even though it was unthinkable that MS wouldn't "win the web" at the time by their sheer scale, brand recognition, and a market share which amounted to a de facto monopoly.
(And funnily enough, Google seems to make the same product mistakes as MS, where it tries to boil the ocean in an orgy of featuritis. With a subset of the tech behind Wave they could have made a great competitor to Wechat/Line etc. Look at Slack - it costs around the same, possibly more than, Office 365 or Google Apps for Business, yet does a tiny fraction. Everybody knows Slack's only real differentiator is UX and service e.g. not having to run chat servers, bouncers, search etc. Again Google could have pieced a lot of Slack together from existing components in Wave. Feels like they are very shaky when it comes to executing product and it could be their undoing.)
Who is gonna police that?
How are you gonna prevent anarchy?
Cats and dogs living together...oh my. Let me clue you in on something. In free societies there's risks and individuals make bad decisions, and we live with it. We don't need someone policing everything.
Ideally, there should only be a select few that determine which apps and programs should run for the masses. We should even control which software users have access to.. After all, giving the people too many choices leads to imminent danger on all fronts and is uncontrollable.
I'm increasingly convinced that there are a great many who relish the idea that the internet, privacy, software, and ultimately life should be state controlled, similar to China or North Korea, as long as It's their people making the rules..
It's 2018 and that would never happen though.
For starters, you say "free societies", but try to think deeper about what that exactly means. It's most likely a collection of nation states, each with its own governance and military and law. Everything around you works because of some sort of centralized authority.
Most people don't realize this--I myself who's a programmer probably would have died without knowing this if I didn't get into decentralized tech stuff--because they never needed to question why governments exist or why nations exist.
TLDR: Anarchy is likely to happen if there's no regulation. Even the Internet itself is regulated if you look into every party involved.
So within a project like Mastodon, they define goals; eg a spam-free network). Then, they theorize mechanisms to implement those goals; eg give users the ability to mute/ block spammers, and give instances the ability to boot spammers, and mute/ block instances infested with spammers. Then they code those features, roll them out, and see if they achieve the goal. Rinse, repeat. Pretty much the same process a centralized open source site like Reddit, Lobste.rs, Minds, or Yours would use.
Things get a bit more complex when Mastodon wants to federate with instances of software other than Mastodon (eg GNU Social). Fortunately in tech, we have other names for consensus and guidelines about inter-operation between different programs implementing similar features; protocols and standards. For example, the W3C Social Web EG got a bunch of folks together from projects that want to federate, and standardized a set of protocols under the name ActivityPub. Because this standard is written by people with experience dealing with Bad Actors in federated networks of their own software, they can share this knowledge, and follow a similar set of steps to those laid out above.
In contrast, FB at al are the worst of both worlds. They have total power to police anything, and the only way to hold them accountable is to abandon your data and your contacts on their platform and opt-out (thus #deletefacebook). They accrue more power and wealth the more users they have spending time on the site (abusively or otherwise), so they do the absolute minimum to hold Bad Actor users accountable, just enough to other users getting driven off the site. See how centralization doesn't really help here?
Do you really need to idiot proof everything? I'd say just let natural selection happen at this point.
I'd say people with this mindset will be the first to be eliminated through natural selection, not because they're unintelligent, but because of the belief that they're intelligent and smart enough not to fall for this. The reason is: EVERYONE can fall for anything.
Positive liberty is the distribution of responsibility to the collective (and managing/controlling the collective through central bureaucracy), negative liberty is distributing the responsibility to the individual, self organization, or stateful components in dev lingo.
Your error is that you're set on only one perspective, positive liberty, like many people in europe. GDPR is like that, instead of giving people the tools to protect themselves, and not leak data in first place, and educate them about voting with their wallets, they just take it from the individual and apply it to the collective.
That's the mindset of centralization. It's clear that decentralization efforts fail if you insist on distributing the responsibility collectively.
* ads (if using a browser that doesn't get rid of them)
* "you missed someone's birthday who you didn't even remember you were "friends" with
* look at this really popular post in your social vicinity, ENGAGE!!!
* cat/dog/food pictures
* politics of the same kind I had to ignore as a teenager, back then by mail. Sign $petition here!
* the occasional thing I give a flying fk about
This is not accidental. It is what facebook is built to do: keep you on their page, engaged. Scuttlebutt and such don't have that incentive. Liking "Pizza" or "Justing Bieber" doesn't exist. You can like a specific post, but that's not the same as putting your entire preferences on there. The possibility to digitally model your entire family and social graph and all your preferences in the open doesn't exist, simply because... why would someone implement that? And why would they then gear the UI to reward you for doing that? And it's not as inherently in danger of becoming an across-sites profile kept by a single entity.
I know you must be high school or college aged, because you didn't mention baby photos. Watch out. That's going to take over your feed in a couple years.
And if they don’t retain...how would it be useful to anyone when none of their friends are on it?
If there is too much friction then people simply won't adopt it
(I had more to say about this but I posted the longer version on Diaspora instead.)
However there is no global state, users only push-pull feeds of friends and friends of friends. (In part for privacy and in part for performance, you don't need to carry all the data for a social network to be useful)
> 3. GDPR compliance about deleting data is almost impossible in a distributed system.
However that doesn't apply to individuals that aren't providing a public service.
> 4. ... Open source software and distributed software tends to be much harder to use.
Yes, however there has been some exiting discussion around what UX could become possible in a decentralized context. See https://coolguy.website/writing/the-future-will-be-technical...
> 5. Any future concern/issue will be much harder to resolve if there are thousands of different instance running decentralized social networks.
There are no instances, only peers. (Pubs are sort of easy to connect to peers and there is work being done on peer discovery to outdate most pubs; they could still be used to connect communits around topics, hobbies, etc as a way to reduce the distance between peers)
> 6. Using AI to detect abusive content or spot fake news is much harder if you only have a subset of the data.
There is no retweeting/sharing, though there is work being done on Out of Order Messaging to propagate a single message along the follow graph and there is work being done on flagging/tagging feeds/ids and posts. (Along with some semantics around how to interpret the flags/tags to improve UX and user control)
Why do you draw this distinction between "instances" and "peers"? A conventional understanding of the word "instance" would suggest it means "a running instance of the software system in question", which would suggest the word has no meaning distinct from what "peer" would mean in this context. Am I missing a critical and non-obvious distinction?
> There is no retweeting/sharing
My experience is that users really like these features.
I understand why you ask this, but the word "instance" has come to mean the server running something like MediaGoblin or Mastodon (the server in a server/client model), while a "peer" is an end-user device running a P2P app like BitTorrent or ScuttleButt (that is both client and server). P2P networks have their cons, but the major pro for a network not backed by large wads of capital is that they scale as they add users. Server-to-server federated networks using OStatus, Diaspora protocol, Zot, or ActivityPub have to scale by convincing people with scarce sysadmin skills to set up more servers, and figure out how to sustain them (both organizationally and financially).
> My experience is that users really like [retweeting/sharing] features.
Sure, but that doesn't mean every piece of network software needs to have them. They are one of the key tools for abusing The Stacks; post something you want to trend (spam, fake news), get a botnet of zombie users to boost it. Given the way Scuttlebutt transports and stores posts, they would create a lot of extra overhead, and potential for abuse, for no major benefit (people can always cut'n'paste if they really want to reshare).
this is cool! could you explain more?
i thought Pubs were needed to connect with peers on internal networks, to alleviate NAT traversal issues.
what i would like to know more about regarding Pubs - but could not find any info on some time ago - is how much it will cost, more or less, to host your own Pub in terms of data transfer/storage, CPU, etc. and whether rate limits can be set to manage this.
nice to see your docs.. i have them bookmarked for later :)
Although I do agree on the fake news point you make.
Edit: It seems that scuttlebutt does support optional end-to-end encryption: https://github.com/ssbc/secure-scuttlebutt#security-properti...
That was my assumption too, but I have no technical knowledge on the subject.
If encryption was used, would that keep a rogue server admin from accessing sensitive user data?
So if you want your friends to be able to use it then you'll need a shared key with your friends.
But only the clients have the key, so the servers pushing the data around can't access it.
Edit: Check out how Keybase handles this.
There are no servers, it is peer to peer. The pubs are just easy to connect to to bootstrap new users into the social network and have been mostly closed off now that it has become more popular to avoid bad actors from abusing that easy way in.
You can bootstrap on a LAN / WAN without pubs.
These guys really have free reign and just get a slap on the wrist WHEN ELECTIONS ARE MEDDLED WITH.
We should leave their platforms in droves to deprive them of power cause it seems like even the US Congress won’t stand up to them.
Recall that the Obama campaign got the explicit go ahead from FB to violate their privacy policy, and built up equally large databases. Heck, recall Obama explicitly endorsing Macron. Does that count as large scale meddling?
What's hilarious is that the same people worried about internet driven misinformation are now the ones jumping into action because the media told them to #deletefacebook.
No, the issue was that other people had access to data they shouldn't have. there's no problem with the API being open if only the right person has access to the right data, ie, if access management is done right
1) ... on the users that have chosen to enable this
2) ... for the users that use other peoples servers or servers from disreputable people, or share to those who do the same.
3) ... and? this presumes GDPR is a good thing
4) ... it's impossible to view a list of viewed messages, perform bulk operations, flag, sort, group etc. facebook to the same level that can be done in other 'archaic' technologies such as email. presuming commercial ui's are designed for user friendlyness rather than increasing user engagement, etc. is a red herring. also, strawman.
5) much like HTML, TCP/IP, SMTP, HTTP and everything else the internet runs on?
6) which is why spam filters don't work? and users don't have brains to do this themselves?
It's a tool. The protocol sends data peer-to-peer.
Maybe people will have to start paying the market what this data is worth, as opposed to burying it in EULAs and using venture and angel funding to create a next generation data oligarchy more difficult to overcome than any financial oppression?
And if that is not what you are implying, perhaps you could explain what it is you do think we should be doing instead.
Google and others operating a crawler would have the same data as FB has today.
1. The whole Cambridge Analytica issue was caused by APIs that are too open. For distributed systems there are more ways to exploit the APIs and gather data on users.
2. There is a clear issue with Facebook's accountability in these areas. Distributed systems are typically open source, they run on multiple servers by different owners, this leads to zero accountability.
3. GDPR compliance about deleting data is almost impossible in a distributed system.
4. Some of the problems with Facebook are more about usability and clarifying how things work to users. For instance the scandal with people giving away access to their private messages. Open source software and distributed software tends to be much harder to use.
5. Any future concern/issue will be much harder to resolve if there are thousands of different instance running decentralized social networks.
6. Using AI to detect abusive content or spot fake news is much harder if you only have a subset of the data. So it becomes harder to address those concerns in a distributed setting.
So while I think this stuff is awesome from a tech perspective, in many ways it just makes these problems harder to solve.