Why use blockchain? Doesn't that actually give you less control?
Isn't the point of a blockchain to keep a ledger of the changes? So how can you delete anything without rebuilding the entire chain? Being decentralized in this case just means that now everyone has my data. Sure, it is encrypted, but are we just going to say what is secure today will be secure tomorrow?
My understanding of blockchain is that it is meant to be tamper proof. Which is nice for things like tracking votes or ensuring the integrity of things, but with my personal data I WANT to have the power to tamper with it. These two ideas seem to be at odds.
If I'm misunderstanding, maybe somebody can educate me.
So first I would suggest some sort of global service for translating user friendly names to internet addresses. Something that might have a bit of centralization at the top, but ultimately a decentralized network of authority of sub-namespaces and protocols for building servers that can translate these names to addresses. This system should also support attaching small bits of metadata to these names.
On top of this I propose building a protocol for store and forward messaging. Something where it is possible for anyone to develop a server that speaks this protocol. Instances of these servers can be registered in the namespace above and this is how these servers can find each other to push data around. Anyone should be able to run these servers, providing service just for themselves, small communities or even large organizations, businesses, institutions or resold commercial services.
Lastly I propose an application layer on top of this. This application layer has two components:
1) A suite of standard protocols for user agents to contact these servers and download user data
2) A suite of standard protocols for rich content, encryption or group distribution
From these pieces, it would be totally possible to build a giant decentralized social network that could present the same sort of data we see on social networks. While things could start with simple messaging, similar features to what we find on social networks could be built.
Of course there's the problem of bad actors and abuse, but it seems this could be solved by merely blocking all communication except for that from a list of known senders... We could call this the friends list.
It would be a lot of work to build and get right, it's a shame nothing like this exists today.
> So first I would suggest some sort of global service for translating user friendly names to internet addresses.
You can't do this without having a central authority (which people don't want to be beholden to), making names cost money (or be otherwise difficult), or accepting squatters. People aren't going to pay for names and you've gained nothing if you centralize the name store. People aren't going to accept the immobility of federation like they do with email (and it still gravitates towards centralized authorities).
I think we're just going to have to accept large hard-to-gen and hard-to-read identities (e.g. base32'd pub keys like onion service names) and we each "tag" friendly names to them locally as we choose.
Global address service could be namecoin. Message storage / forwarding / encryption could be secure scuttlebutt.
Personally I see no reason to make global addressing mandatory -- could be optional for those who want to be globally findable. Otherwise, use ssb pubkey as identifier and only connect with immediate FoF network.
Nobody needs a social network anymore, whether it is decentralized (Mastodon, Diaspora) or centralized (Facebook, Twitter). I think the social media bubble burst a long time ago and we just didn't realize it. I also have a Mastodon account, but used it only for a short time. I speak now only for myself personally, social networks bore me quite and I have no more interest to sign up somewhere.
This sort of comment is why people in tech are very often seen as being incredibly bad at solving non-trivial social problems by people outside of our industry. Somewhere between a third and a half of all the people on Earth see enough value in social networks to use one regularly. There are plenty of problems with the way networks work, and what they do to our mental health, but the notion that no one should use them any more is plain stupid.
Facebook alone has over 2 billion users, and keeps growing. I can't see how it is a bubble that has burst.
I've met many people in developing countries that don't have running water, or indoor sanitation, but still access Facebook through a cheap smartphone. It's important to a great many people.
Personally I find Facebook extremely useful; I just hate the implementation, which seems to be a buggy mix of dark patterns which attempt to manipulate my state of mind and do bad things with my personal data.
A realistic open competitor would be extremely welcome, but first you have to somehow get past the network effect.
I agree, for me it has become an advanced phone book more or less. I use it as a directory for those I don’t regularly talk to via phone, text or in person.
The future of humans communicating, however, is wide open. Anything that succeeds on Blockstack will not be a clone of something that already exists, but rather something novel, even something that could only exist on the platform.
I've said it before, but the closest thing to the future of social networking that I've seen is Slack: Right now, outside of its marketed purpose, it's mostly used as an extension of existing online communities or as a way for people to stay in touch after departing a company, but the way it's it's centered around distributed groups is powerful, much more so than the way groups were grafted onto the core topology of Facebook.
A successful decentralized social network will not look like Slack, either. Just as Slack drew from IRC and Facebook drew from MySpace, a new network will have to draw on all of these and more, synthesizing a new experience that offers genuine value.
I live 2000 miles away from my parents. I have 2 kids, my parents LOVE the small insights they get into their grandkids lives that happen on social media.
I could lose the no win political debates, the self-aggrandizing from my friends, the memes, but seeing my friends kids grow, my parents seeing my kids grow. That's cool.
The billion plus active users on Facebook would like to disagree with you. It's undeniable that social networks are needed and are as popular as ever. It's not always the same ones (more people moved to Instagram) but the overall number is definitely higher than ever.
There is simply no replacement solution for staying in touch with people outside of phone number based solutions à la WhatsApp (which you could argue is also a social network).
If you feel that strongly, stop using them. I stopped using Facebook a year ago, and now my most social sites are YouTube and reddit. Neither are as toxic for me as Facebook was. You won’t save others, but it’s easy to save yourself.
One of the questions is: "describe your social network in 50 characters or less."
"Facebook but decentralised" is already 26 characters so that seems like a bit of a tight limit. I suppose it'll help find people who have any marketing nouse, which is the actual challenge for a project like this, not technology.
Dat and IPFS are decentralized file systems. Instead, blockstack is a network for decentralized application. It offers identity, storage and a way to transfer tokens. With blockstack you can easily create apps where users can sign-in in seconds and store all their data where they want.
Muneeb Ali, Blockstack co-founder here. I'm a technical consultant to the Silicon Valley show (season 5) along with my co-founder Ryan. So yes there is a link to the show but the project is not based on the show :-)
Blockstack was in the R&D phase until early 2017 (building the core tech & infrastructure), we launched our browser last summer and now have decentralized apps built on the platform that are live. These apps can scale to millions of users today. We're excited about enabling developers to build new apps like decentralized social networks.
I still believe this approach is not optimal in the practical sense. I believe the issue is having a common and standard source of truth for user metadata. Social platforms are secondary to this problem.
I would suggest we come up with an authentication system that can scale across several small technical groups of people, perhaps something like OpenLDAP. Then lets put a few gateways in front of it like SAML2/OAuth/whatever. Set up replication between a few technical folks in a small circle of trust. If a friend leaves the circle, exclude their node from replication.
Now put whatever trendy web app, chat app, misc app in front of that authentication. The apps can come and go, but the authentication data, email contacts, phone numbers, all maintained in one authentication system and highly replicated.
Each application should be coded in such a way that users own their data and are prompted to download backups. Data retention policies should be very obvious to the end user and they should know this is not a long term archive for their binary data.
Each small group of technical folks share their platform with their circle of technical and non technical friends. Each geek pulls a copy of the backups in the even a friend wants to leave the circle. Different geeks in the circle can manage different pieces of the platform or different applications.
At least, that is how I would approach this problem. YMMV.
Like everyone else, I'm building one. But I'm not hung up on distributed storage or any of that. It's just a simple way for people to host social network rooms from their always-on home computers if they want. The gist: app w/ statically compiled Tor (separate lib started at [0]), room config flexible enough to build different social network types, communicate via gRPC over Tor onion services (protos at [1]), and make it so dead simple that it just works (mobile remotes to home onion service).
I think people are worrying so much about network and storage and uptime for ephemeral machines that they are missing the forest for the trees here. Just get a decent platform and iterate from there. At first, you don't have to federate, conform to a protocol, distribute data, etc. But if you are building these things, why not at least offer anonymity?
The big problems in social media are already decentralized. Tribalism (also termed as filter bubbles), the spread of false information, and outrage as a mechanism of virality all originate with people in a distributed fashion.
Facebook selling ads based on demographics is centralized but it seems to me like a small part of what's messed up about social networks.
There is an interesting experiment in the Bitcoin (Cash) camp called Memo.cash, which mimics early Twitter using Bitcoin's blockchain. Posts need to spend a few satoshis to be posted and you cal also tip others. Pretty neat!
Is it public discourse or private discourse?. If public, then you have no right to anonymity or to be forgotten. Anyone can record what you say in public, and that is reasonable and expected. Myself, I would like to have both - just as I do in the non-digital world. I don't expect that one platform can serve both purposes.
Private communication is not possible. Humans have been striving to achieve it for all of history. I guess that the rich and powerful can achieve it to a certain degree. The analog hole is the problem. Why is there not more technical discussion about plugging the analog hole?
I sound like a broken record, but in my humble view decentralized social network is even worse than centralized one.
Key feature of any social network should be 'right to be forgotten' (e.g. delete content), and ability of network to moderate and update content (due to legal requirements, or due to users requests for their own content or for other reasons).
How do you manage that in a system such as proposed here? How do you enforce content to be removed due to court order? How do you take down a revenge this or that after your account gets hijacked and your password/keys are gone?
> Key feature of any social network should be 'right to be forgotten'
I've said this before, the only data an user should have the right to remove should have no value to someone else. I absolutely hate reddit threads filled with "[deleted]", people deleting their Mediafire accounts, picture hosts removing infrequently fetched images and so on and on. It's so hard to avoid "digital Alzheimer's" it's infuriating and we should curb it rather than encourage it. I do myself want to delete old FB Messenger conversations, but I'd be seriously pissed seeing some old chat containing only my incoherent ramblings. I think one-sided deletion isn't the solution, fine-tuned privacy settings (and thus hiding and possible recovery) is.
It's important that we don't forget to deal with this before we actually do start to notice that "f* shouldn't have deleted that".
decentralized social network just means users own their own data. it doesn't mean the UI that displays the aggregate social network feed cannot moderate the contents
Users must own and control their data, using open standards, so that apps can come and go and people aren’t locked into them.
The biggest obstacle to this is browsers. Browsers must implement decent identity and authentication with pluggable encrypted data storage. Without that there simply can’t be a decentralized social network on the web.
Beaker browser is the only active project attempting to move in that direction, even though it might not be the right solution. They deserve the $1 million, not some idiot blockchain bikeshedders.
The issue with Dat, Mastodon, SSB, Diaspora, etc. is that they do not solve the problem of who's running the servers. They give you the tools to easily sync and migrate data that can back a social network, but you still need a live machine to host the files. These systems don't specify how to find those machines and how to compensate the people running them. The result is a cobbled-together list of servers posted on project web sites as a "temporary" way for people to get started.
Cryptocurrency could potentially provide an avenue to compensate anonymous storage providers for storing encrypted data backing a social network. A well-integrated system could give users the one click to join experience you need to get wide adoption, without forcing them to think about who runs their server.
This is what Blockstack and many other projects are trying to do (I don't know about Blockstack in particular, it didn't work when I tried it a couple months ago and the founders seem to grandstand a lot).
[+] [-] godelski|7 years ago|reply
Isn't the point of a blockchain to keep a ledger of the changes? So how can you delete anything without rebuilding the entire chain? Being decentralized in this case just means that now everyone has my data. Sure, it is encrypted, but are we just going to say what is secure today will be secure tomorrow?
My understanding of blockchain is that it is meant to be tamper proof. Which is nice for things like tracking votes or ensuring the integrity of things, but with my personal data I WANT to have the power to tamper with it. These two ideas seem to be at odds.
If I'm misunderstanding, maybe somebody can educate me.
[+] [-] a-dub|7 years ago|reply
On top of this I propose building a protocol for store and forward messaging. Something where it is possible for anyone to develop a server that speaks this protocol. Instances of these servers can be registered in the namespace above and this is how these servers can find each other to push data around. Anyone should be able to run these servers, providing service just for themselves, small communities or even large organizations, businesses, institutions or resold commercial services.
Lastly I propose an application layer on top of this. This application layer has two components:
1) A suite of standard protocols for user agents to contact these servers and download user data 2) A suite of standard protocols for rich content, encryption or group distribution
From these pieces, it would be totally possible to build a giant decentralized social network that could present the same sort of data we see on social networks. While things could start with simple messaging, similar features to what we find on social networks could be built.
Of course there's the problem of bad actors and abuse, but it seems this could be solved by merely blocking all communication except for that from a list of known senders... We could call this the friends list.
It would be a lot of work to build and get right, it's a shame nothing like this exists today.
[+] [-] dmckeon|7 years ago|reply
Xor, <whoosh>, as the joke flies over my head.
[+] [-] kodablah|7 years ago|reply
You can't do this without having a central authority (which people don't want to be beholden to), making names cost money (or be otherwise difficult), or accepting squatters. People aren't going to pay for names and you've gained nothing if you centralize the name store. People aren't going to accept the immobility of federation like they do with email (and it still gravitates towards centralized authorities).
I think we're just going to have to accept large hard-to-gen and hard-to-read identities (e.g. base32'd pub keys like onion service names) and we each "tag" friendly names to them locally as we choose.
[+] [-] zekevermillion|7 years ago|reply
Personally I see no reason to make global addressing mandatory -- could be optional for those who want to be globally findable. Otherwise, use ssb pubkey as identifier and only connect with immediate FoF network.
[+] [-] bitesports|7 years ago|reply
[+] [-] franzpeterstein|7 years ago|reply
[+] [-] onion2k|7 years ago|reply
This sort of comment is why people in tech are very often seen as being incredibly bad at solving non-trivial social problems by people outside of our industry. Somewhere between a third and a half of all the people on Earth see enough value in social networks to use one regularly. There are plenty of problems with the way networks work, and what they do to our mental health, but the notion that no one should use them any more is plain stupid.
[+] [-] chimprich|7 years ago|reply
I've met many people in developing countries that don't have running water, or indoor sanitation, but still access Facebook through a cheap smartphone. It's important to a great many people.
Personally I find Facebook extremely useful; I just hate the implementation, which seems to be a buggy mix of dark patterns which attempt to manipulate my state of mind and do bad things with my personal data.
A realistic open competitor would be extremely welcome, but first you have to somehow get past the network effect.
[+] [-] notyourwork|7 years ago|reply
[+] [-] mortenjorck|7 years ago|reply
Nobody needs another Facebook or Twitter.
The future of humans communicating, however, is wide open. Anything that succeeds on Blockstack will not be a clone of something that already exists, but rather something novel, even something that could only exist on the platform.
I've said it before, but the closest thing to the future of social networking that I've seen is Slack: Right now, outside of its marketed purpose, it's mostly used as an extension of existing online communities or as a way for people to stay in touch after departing a company, but the way it's it's centered around distributed groups is powerful, much more so than the way groups were grafted onto the core topology of Facebook.
A successful decentralized social network will not look like Slack, either. Just as Slack drew from IRC and Facebook drew from MySpace, a new network will have to draw on all of these and more, synthesizing a new experience that offers genuine value.
[+] [-] swalsh|7 years ago|reply
I could lose the no win political debates, the self-aggrandizing from my friends, the memes, but seeing my friends kids grow, my parents seeing my kids grow. That's cool.
[+] [-] LunaSea|7 years ago|reply
There is simply no replacement solution for staying in touch with people outside of phone number based solutions à la WhatsApp (which you could argue is also a social network).
[+] [-] lccarrasco|7 years ago|reply
[+] [-] overcast|7 years ago|reply
[+] [-] TaylorAlexander|7 years ago|reply
[+] [-] wesleytodd|7 years ago|reply
https://beakerbrowser.com/
[+] [-] Robin_Message|7 years ago|reply
"Facebook but decentralised" is already 26 characters so that seems like a bit of a tight limit. I suppose it'll help find people who have any marketing nouse, which is the actual challenge for a project like this, not technology.
[+] [-] gitgud|7 years ago|reply
"Please implement the social network in 5 weeks or less, GitHub link to code too please"
[+] [-] livestyle|7 years ago|reply
These guys launched the same concept last year. For $25m and they literly have nobody using the platform.
https://bitcoinmagazine.com/articles/blockstack-partners-vcs...
[+] [-] staticvar|7 years ago|reply
[+] [-] riffic|7 years ago|reply
https://www.w3.org/blog/news/archives/6785
[+] [-] ranfdev|7 years ago|reply
[+] [-] acconrad|7 years ago|reply
[+] [-] Xeoncross|7 years ago|reply
If I was browser stack I'd be offering a lot more than $1 million considering how important this is to their platform.
[+] [-] folex|7 years ago|reply
[+] [-] rplst8|7 years ago|reply
[+] [-] muneeb|7 years ago|reply
Blockstack was in the R&D phase until early 2017 (building the core tech & infrastructure), we launched our browser last summer and now have decentralized apps built on the platform that are live. These apps can scale to millions of users today. We're excited about enabling developers to build new apps like decentralized social networks.
[+] [-] LinuxBender|7 years ago|reply
I would suggest we come up with an authentication system that can scale across several small technical groups of people, perhaps something like OpenLDAP. Then lets put a few gateways in front of it like SAML2/OAuth/whatever. Set up replication between a few technical folks in a small circle of trust. If a friend leaves the circle, exclude their node from replication.
Now put whatever trendy web app, chat app, misc app in front of that authentication. The apps can come and go, but the authentication data, email contacts, phone numbers, all maintained in one authentication system and highly replicated.
Each application should be coded in such a way that users own their data and are prompted to download backups. Data retention policies should be very obvious to the end user and they should know this is not a long term archive for their binary data.
Each small group of technical folks share their platform with their circle of technical and non technical friends. Each geek pulls a copy of the backups in the even a friend wants to leave the circle. Different geeks in the circle can manage different pieces of the platform or different applications.
At least, that is how I would approach this problem. YMMV.
[+] [-] kodablah|7 years ago|reply
I think people are worrying so much about network and storage and uptime for ephemeral machines that they are missing the forest for the trees here. Just get a decent platform and iterate from there. At first, you don't have to federate, conform to a protocol, distribute data, etc. But if you are building these things, why not at least offer anonymity?
0 - https://github.com/cretz/bine 1 - https://github.com/cretz/yukup/tree/master/yukup/pb/proto
[+] [-] sethev|7 years ago|reply
Facebook selling ads based on demographics is centralized but it seems to me like a small part of what's messed up about social networks.
[+] [-] haolez|7 years ago|reply
[+] [-] skorbenko|7 years ago|reply
[+] [-] EGreg|7 years ago|reply
https://www.youtube.com/watch?v=pZ1O_gmPneI
It is simply a platform on top of the Web same as Wordpress, that anyone can install. It can even run on local wireless mesh networks.
Oh and it’s totally Free and Open Source and any community or startup can use it to build apps to put in the store.
https://github.com/Qbix/Platform
Contact me if you’re interested to be involved, or just have a question about how to get started. (Greg+hn, the at sign, then qbix.com)
[+] [-] intrasight|7 years ago|reply
Private communication is not possible. Humans have been striving to achieve it for all of history. I guess that the rich and powerful can achieve it to a certain degree. The analog hole is the problem. Why is there not more technical discussion about plugging the analog hole?
[+] [-] rixrax|7 years ago|reply
Key feature of any social network should be 'right to be forgotten' (e.g. delete content), and ability of network to moderate and update content (due to legal requirements, or due to users requests for their own content or for other reasons).
How do you manage that in a system such as proposed here? How do you enforce content to be removed due to court order? How do you take down a revenge this or that after your account gets hijacked and your password/keys are gone?
[+] [-] dcbadacd|7 years ago|reply
I've said this before, the only data an user should have the right to remove should have no value to someone else. I absolutely hate reddit threads filled with "[deleted]", people deleting their Mediafire accounts, picture hosts removing infrequently fetched images and so on and on. It's so hard to avoid "digital Alzheimer's" it's infuriating and we should curb it rather than encourage it. I do myself want to delete old FB Messenger conversations, but I'd be seriously pissed seeing some old chat containing only my incoherent ramblings. I think one-sided deletion isn't the solution, fine-tuned privacy settings (and thus hiding and possible recovery) is.
It's important that we don't forget to deal with this before we actually do start to notice that "f* shouldn't have deleted that".
[+] [-] vasilipupkin|7 years ago|reply
[+] [-] money_talks|7 years ago|reply
The biggest obstacle to this is browsers. Browsers must implement decent identity and authentication with pluggable encrypted data storage. Without that there simply can’t be a decentralized social network on the web.
Beaker browser is the only active project attempting to move in that direction, even though it might not be the right solution. They deserve the $1 million, not some idiot blockchain bikeshedders.
[+] [-] douglaswlance|7 years ago|reply
[+] [-] douglaswlance|7 years ago|reply
[+] [-] faizshah|7 years ago|reply
Anyone know of a similar decentralized DNS platform and allows users to 'own' their personal data without an attached ICO?
[+] [-] woah|7 years ago|reply
Cryptocurrency could potentially provide an avenue to compensate anonymous storage providers for storing encrypted data backing a social network. A well-integrated system could give users the one click to join experience you need to get wide adoption, without forcing them to think about who runs their server.
This is what Blockstack and many other projects are trying to do (I don't know about Blockstack in particular, it didn't work when I tried it a couple months ago and the founders seem to grandstand a lot).
[+] [-] cponeill|7 years ago|reply
https://datproject.org/
[+] [-] tenaciousDaniel|7 years ago|reply