13 ms·
Sufficient Decentralization for Social Networks
- a3w 4y agoWhy do we need smart contracts and a blockchain in there, do distributed databases not offer this at either better security or performance?
- deweller 4y agoThere needs to be an incentive for users to host other people's data. Centralized servers and advertising is the current model. Blockchains with tokenized value is another model.
- a3w 4y agoTwo point of views: Server offering person Alice: If I want to use the service, I want to use the service, not get cryptocoin shares. And I usually want stuff on the internet for free. Server or service using person Bob: If I want to make money by hosting, I need someone to pay for my hosting-mined coins. I don't understand as to who in this overview is willing to pay for a place on the blockchain with fiat currency? Someone needs to pay Alice for the efforts she has put into hosting, but who transfers something worth real money to here? Even the author stated that he wants to use a blockchain for user identification, not monetary incentive. But perhaps he means identification is what is granted to you, no money involved. But that can't be it either: So you can host a server, to gain the right to use the server? No, that is the status quo. Lets take a look what happens if you do not run your own server: So you host a more or less public server for others as the scenario proposed here. A client connects, and sends that that shall be stored in a blockchain (i.e. append only, publicly distributed database) to upload [1] and later confirm their identity. When not running the server, who says that the server is not malicious and uses a different identity for the federated network than it displays to the client that connected to it? [1] Something like the the Web of Trust exists between existing servers, or the server will have to spend a resource like having coins or a history of already signed up users to gain the right to add user identities to the blockchain? The Proof of Stake/Work paragraph above probably now again applies for true "trustless" systems, that require full client (i.e. technically server node) equals user identity.
- blamestross 4y agoThe whole bad assumption of Bitcoin is that you need to bribe people with a scam to host things. BitTorrent's DHT never had this problem. BitTorrent existing and working IS the value. "We have a working social network" is likely sufficient value to motivate users to host things.
- cowtools 4y agoI don't think you need to incentivise people to host each other's data. People will host their own data, and they may host others' data for free like in BitTorrent. I am skeptical of the need for filecoin-like systems in the first place. If all you have is a hammer, then every problem looks like a nail.
- k__ 4y agoThe "hammer" were centralized systems, and now we have an alternative with Filecoin, Arweave, and the likes.
- cowtools 4y agoThe hammer here is both. Cryptocurrrency is solving an incentive problem here that doesn't really exist. If anything, File hosters should not be the ones that pay for the hosting, it should be whoever is retriving the file, and those funds should go towards relay nodes and hosting nodes. filecoin's incentive structure essentially replicates that of the existing internet, where file hosters will have to find some other form of income like advertisements or tracking to cover their costs. Here is a comment I made yesterday on the matter: >Instead of "liking" or "upvoting" a post on a centralized forum, why not "rehost" or "forward" a post on a decentralized forum: essentially seeding it like in BitTorrent or "pinning" it in IPFS. "Followers" of a user donate their storage and bandwidth to them, combating bureaucratic attacks like delisting and DDoS against popular users.
- k__ 4y agoI think, this is the main problem. Nobody really wants to host other peoples stuff, especially not on their desktop or smartphone. That's where Filecoin comes in. But yes, I think the Filecoin model is to heavy weight right now.
- cowtools 4y agopeople have extra storage and bandwidth that they don't need. Anything that the public decides not to rehost is not worth being published.
- groffee 4y ago> There needs to be an incentive for users to host other people's data. And then you inadvertently host 'terrorist' materials and get 25 years in jail. People are trying to redesign 'social networks' with no fundamental understanding of what they are, how to run them or the very real risks involved.
- nanomonkey 4y agoThe incentive for me is that the information becomes off-line first. I've been on Scuttlebutt for 5 years now, and all of my discussions are available to me to go back to and expand upon whenever I want, no matter if I'm connected to the internet or not. Necro-posting (bringing up old discussions) becomes a viable option, as does scouring through old information. What is more interesting to me, is utilizing this functionality for something beyond a social network, something more productive like an ERP system, yet allowing the social aspect of collaboration improve such a platform.
- hrdwdmrbl 4y agoYes. A blockchain is one form of a distributed database. A blockchain allows writes from multiple parties without permission. AFAIK, that's the key
- cowtools 4y agoBlockchains are only useful for low-bandwidth tasks that require complete consensus.
- halfmatthalfcat 4y ago"The key" to whom? Most people wouldn't know nor care about a blockchain backed social network - most just want it to work and be without all the current baggage. This being "the key" is only to those forcing blockchain into things where it doesn't belong to justify it's existence.
- k__ 4y agoWell, people who get their content removed probably care about the network being decentralized.
- douglaswlance 4y agoIt's not hard to understand the difference between something accruing wealth to the owner or not, being able to be taken down or not, or being able run your own node or not. People might not care about the technical implementation details. But they do care about what the implication of those details would be.
- douglaswlance 4y agoWhich distributed database systems would serve this function?
- varunsrin 4y agoauthor here. what distributed database would let you own your identity without any third party party being able to take it away from you? that's a necessary condition for sufficient decentralization, and the only distributed databases capable of achieving such guarantees are L1 blockchains.
- a3w 4y ago> What distributed database would let you own your identity Owning a private key file when signing transactions allows to prove your identity to other parties. That is, what a blockchain uses to map identities to accounts/wallets, too. Having a consensus protocol does not provide identity proving, but the eponymous censensus is based on a share of either state or computational power. And state is just a database. State that decides what goes into the database is a recursion, voila an example would be Proof of Stake. Or as censensus protocols go, other names exist for the concept of proof of previously-done-arbitrary-things, which allowed you to mention a share with you cryptographic signature (i.e. hash derived from your private key) in the append-only database. Cases like a "plant a tree" eco-coins. Also, to see the bigger picture on > What distributed database would let you own your identity: from a technically more complex angle: Tim Berners-Lee proposes a DRM system for users to own their content, instead of using this technology against user liberties. That would include owning your identity and enforcing your will on you intellectual property. I found these plans not feasible, yet, but at least people who know about cryptography still research the topics of user rights and P2P networking.
- pcthrowaway 4y ago> Some believe that decentralization requires the entire social network to be on a blockchain. This is unnecessary and even undesirable. Social networks generate petabytes of data every year, which can be very expensive to store on-chain. Blockchains also make it difficult to delete data forever, which is a desirable feature for users. A network design that leverages on-chain systems to decentralize ownership while using off-chain systems for a better user experience is a better path to building social networks. The article does indicate a blockchain is undesirable For another decentralized social network (that runs entirely without a blockchain) check out Scuttlebutt (not affiliated)
- hrdwdmrbl 4y agoThis sounds superior to social networks providing 3rd party access to your graph
- civilized 4y agoDumb question. We already have a social network called the internet. What exactly are we trying to add on top here and why does it need a blockchain? If it's the ability to publish and subscribe to content, why not just do some fancy version of RSS?
- bsedlm 4y agoI think that's the wrong question IMO, a better question (two questions) is where is RSS now and how did RSS get there?
- civilized 4y agoThose seem like follow up questions to my questions rather than suggestion that my questions are the wrong questions.
- k__ 4y agoI think, blockchains are a reasonably well understood mechanism, albeit not the one with the best performance characteristics. If you look into the specs for decentralized identifiers (DIDs), they don't define how a "method" needs to implement its interface. There are solutions that use blockchains (Ethereum), others use DAGs (IPFS, IOTA) and some are even static without any server required.
- NoGravitas 4y agoObviously not a dumb question at all. My favorite "social network" currently is the Gemini and Gopher blogging community. No bad incentives, people are posting things that genuinely interest them, and it's easy to follow anyone who's posting stuff that interests me. It's also usually easy to directly communicate with people about things they've written, via email. The bad side is the barrier to entry (a hobbyist-level knowledge of internet protocols, and the ability to either self-host or seek out a managed server). It would be nice for people to be able to just install a program and be able to both write and read things. This is something that will require some protocol and application design to keep decentralized, but there's no reason to believe that a blockchain is needed, or even helpful.
- 4y ago
- skeyo 4y agoI don't think voting and NFTs is going to be enough to drive mainstream audiences in.
- blippage 4y agoI think, ultimately, there's no easy way to do it. How do you stop spammers and bad actors in general. > the ability to claim a unique username Which would require a centralisation, presumably. We have things like OpenID, but that hasn't really caught on. What we want is internally inconsistent. We want both unique identifiers (this is the "real" "blippage" making this post), the possibility of multiple identities, and the possibility of anonymity. We also want openness, but are likely to desire censorship for legitimate reasons, too. Just how are we going to square the circle? Li'l update: I see NFTs being mentioned, which sounds a bit band-wagony to me. In the Gemini protocol one creates TLS certificates. The Lagrange browser can generate a cert quite simply. So in at least some sense, isn't the identity issue "solved". Another update: there's also the issue of discoverability. Centralised networks make discoverability easy. It's not insurmountable with decentralised ones (people are willing to host aggregators), but it is harder.
- fsiefken 4y agoAbout squaring the circle; I remember the Slashdot karma moderation system with community based optional filtering and tresholds. https://slashdot.org/faq/karma.shtml https://slashdot.org/faq/karma.shtml https://slashdot.org/moderation.shtml https://slashdot.org/moderation.shtml The same goes for democracy and politics, how to prevent bad actors from gaming the system and acquire illegitimate power. When moderating a 5000 person topic focused community I used a ruleset which was easy to understand. Along the way I tweaked the ruleset to defend against bad actors using the rules against me.
- blippage 4y agoYeah, I think a karma-based system is about the right way to go. One system I thought of was that the karma propagated outwards, as it were. So I award A with +1 karma because I like their content and trust them. If A awards B with +1 karma then the karma trickles up to me and I'm more likely to read B. Not sure how my system could be turned into reality, though.
- NoGravitas 4y ago
- lulzyk 4y ago[dead]
- naravara 4y ago> where you can mint your profile as an NFT, therefore own it I mean, I don't really care about "ownership" of my social graph. What I would care about is interoperability of it. If I can move my graph and associated links from service to service that would be great. But that's basically just a defined format for an "address book" with a unique identifier for each person on it. I'm not sure what value blockchain is adding there.
- lulzyk 4y agoWell, ownership implies and enables interoperability. When your profile and content exists in your wallet, everytime you connect it to a given social app, you carry it with you. From a user perspective, its a single handle for every social app that integrates with it, and from the builder perspective, it's a batteries-included content and user registry. In this paradigm, the blockchain becomes the single public source of truth/database for everyone's content. And what you mean by 'service' is just any frontend app that consumes and presents this content in a nuanced format for its target audience. So as a builder, you can focus on creating an engaging and valuable experience for your users, providing them interesting ways to engage with each other, monetize content, fund common goods, promote or filter content etc without worrying about scaling your infrastructure. At the same time, you don't need to rely on the blockchain for anything besides user authorization - nobody stops you from just using Lens as just another sign in flow to your existing web2 social media app and keeping your business model intact, while simply increasing your userbase.
- giantrobot 4y ago> In this paradigm, the blockchain becomes the single public source of truth/database for everyone's content. Which blockchain? There's scores of public blockchains. As for infrastructure, are you high? Blockchains are shared among miners, they're not going to carry massive amounts of data. If you try to decentralized storage like IPFS then you have to maintain infrastructure to have data actually available. If you try monetizing every social media transaction you'll have no users. No one is going to pay money to post a picture of their breakfast or to change their profile picture.
- 2Gkashmiri 4y agoif anything, mastodon and pleroma and pixelfed have shown, even if on a small level compared to the likes of facebook and twitter and instagram that decentralization does not need to be on crypto/blockchain. >ActivityPub doesn’t provide a way to use a managed host without compromising decentralization. what does this mean? i don't get this. if i am hosted on mastodon.social and i want to talk to cawfee.club or a pleroma instance, don't i just message them and the services resolve themselves using activitypub? what does managed hosts mean? you mean mastodon.social as an example? what is this
- NoGravitas 4y agoYeah, a managed host means what the fediverse would call a public instance. The compromise of decentralization is that if you have an account on mastodon.social, they can censor you (for good or bad reasons), or the people you'd like to follow. You can move to another instance, but your identity has to change (though at least now you have a decent likelihood of being able to transfer your social graph along with you). And because discovery of instances is not perfectly frictionless, people tend to just sign up for the big instances (like mastodon.social). All that said, any solution is also going to introduce new problems. And there's absolutely no reason to think that adding blockchains to the mix is going to do anything but harm.
- 2Gkashmiri 4y agoso how is blockchain supposed to mitigate identity remaining the same? i am assuming if i want to block a bad actor on the chain, i note that and later whenever someone queries their address, my note is shown so what is it solving? >And because discovery of instances is not perfectly frictionless, people tend to just sign up for the big instances the solution exists, sure it might not be frictionless as of now but its not like it is a fundamental problem? yeah, blockchain is not the solution. >The compromise of decentralization is that if you have an account on mastodon.social, they can censor you admins of mastodon.social can but so can any other instance so how is that a bad thing? how do we equally fight spammers/bad actors and at the same time prevent good people who have been banned to say their words? isnt good/bad inherently a subjective issue that is to be decided by a person? activitypub gives users and admins the power to decide so what is the problem there? i am not questioning you specifically, just asking
- jerojero 4y agoThere are so many different problems that come from decentralisation and I really don't think people are all that willing to put up with them. Specially not the kind of people that use social media. It seems to me sometimes that a lot of these posts come from people that don't really interact with the average social media user very much. People are willingly giving all their data to Facebook, Tiktok, etc. They do that because in reality... they don't care all that much! How do you expect these kind of people to care about decentralisation? I think the closest we are to a good middle point is stuff like mastodon, but federation is not perfect. Will it not be reasonable for people in the future (if mastodon becomes really popular) to simply default to the biggest server out there? I think the best we can do is come up with standards for data-transfer between sites as well as basic communication tools... pretty much what activitypub has tried to do. This would go a long way to ensure people are actually capable of moving, not being locked in is I think the key to ensuring decentralisation. In a few words: people don't care as much as we'd like them to and that's not really a technical problem. Because of this, it is not possible to solve this problem by adding any extra inch of complexity that doesn't come with substantial benefits to users. And I don't think adding blockchain-based market mechanics to it is really going to solve the problem as blockchains add a huge amount of overhead to the problem.
- varunsrin 4y agoauthor here - you're right that the average user doesn't care about decentralization as a first order benefit. people typically use social networks to be entertained / informed or to increase their status. we've been building a new, decentralized social network and we've learned this first hand. but if you've figured out a new social network, building it in a decentralized manner today might give you very strong second order benefits. and its now possible to do this in a way that doesn't compromise the user experience.
- fredguth 4y agoI also was reading your post with the mindset "how to regulate social networks". I strongly believe that all big organizations need regulation. It is not easy to regulate social networks, but heck maybe it wasn't easy to regulate telephony or energy.
- ankrgyl 4y agoMany of the comments seem to miss the point entirely -- this post is about how to achieve sufficient decentralization: > two users can find each other and communicate, even if the rest of the network wants to prevent it and use centralized methods where it does not compromise on this constraint (e.g. efficiently storing/retrieving data about posts).
- grishka 4y agoActivityPub is "sufficiently decentralized" in my book. I don't consider decentralizing name registry a requirement — DNS is a sufficiently decentralized name registry we already have and know how to manage. I don't consider cryptographic keys a viable form of identity because they absolutely inevitably leak into the UX and hopelessly ruin all of it. To add to that, as someone who has worked in a real-world popular social media company, I can assure you that account recovery is not something "nice to have", but rather a hard requirement — and it's impossible, by design, in a public-key-crypto-based system.
- k__ 4y ago"account recovery is ... impossible, by design, in a public-key-crypto-based system" I think, the Torus/web3auth people do it.
- varunsrin 4y agoaccount recovery is very possible with smart contracts and public-key crypto
- grishka 4y agoSo how do you do it? Who would override the authentication mechanism and reset your key? How would that person authenticate? How would you keep your identity when your public key is your identity? How would you stop someone using your leaked private key to impersonate you?
- varunsrin 4y agoa simple mechanism is using a smart contract to map your key (0x123) to an identity (@alice). the contract can allow you to transfer that identity to a different key (important for key rotation) and also to set up a recovery key that is also authorized to transfer the key if the primary key is lost. our recovery system for Farcaster has a few more bells and whistles, and you can read about it here: https://github.com/farcasterxyz/protocol#33-recovery https://github.com/farcasterxyz/protocol#33-recovery
- VonGuard 4y agoFunny, I am working on a non-profit for just this type of thing: https://spritely.institute/ https://spritely.institute/ We are building standards for open distributed social media systems, with identity and security built in, and absolutely no centralized management. Everyone can run their own communities, while still having managed identity, and without a single click sending content to everyone in the world.
- rapnie 4y agoReally anticipating these technologies. Also encouraging people to hop to https://spritelyproject.org/ https://spritelyproject.org/ to get an exciting overview.
- cm42 4y agoRe: Novel Social Primitives - I've been reading up on econ because of crypto, and came across E Ostrom's writing about Polycentricity, which seems extremely valuable to the Centralized vs. Decentralized conversation (hint: it's never 0.0 or 1.0 on that scale). Before DevOps was fully a thing, a coworker and I sketched out a (too-complicated) service-discovery/bootstrapping program using DNS + PGP, and what we thought was a super-clever signing scheme for trusting automatically-spawned processes from our central platform tool. (Turns out, there are better ways) The ability to build trust a la PGP Key Signing Parties, but at scale - and use them in a polycentric way could change a lot of things for the better. For example, instead of ever giving out my IlluminatiFreedomCoin address that's tied to my SSN, I could produce a Venn diagram of users who have signed my keys for FB, Twitter, HN, etc. to suggest that I am who I say I am. Not foolproof, but probably sufficient to add a user account or keep a Craigslist deal moving forward, until I can authenticate IRL.
- Jonovono 4y agoSounds similar to what Jack Dorsey has in mind with "web5" (lol). ''' Successful social networks are usually built around a new communication primitive. Facebook had the wall, Twitter had the 140-character tweet and Snapchat had the ephemeral message. The idea maze of things you can do with decentralized identities, blockchains and zk-proofs is large, weird and interesting enough that there are probably many primitives waiting to be discovered. Decentralized social networks should explore this as a way to attract users. Offering a product experience that doesn’t yet exist is far more compelling than a clone of an existing network. ''' This is the quote. For the decentralized social network, it needs to be 10x better than existing social networks. I have a few ideas, currently playing around in this space. I think a decentralized social network can at minimum bring 10x the value to users/creators that existing social networks do. As a quick example, look up how much Tiktok/youtube make per view. Tiktok is something like 2 cents per thousand views. Per thousand views. I also think a decentralized social network can be much more profitable than a centralized network.
- bckr 4y ago<bad-idea> Maybe what will evolve the space is automatic translation from any possible format to any other format using AI. You don't need to manage a server or store anything in any particular way in any particular place. Instead, you expose whatever you want in any way you want, whether that's uploading a video to some big tech host, or exposing a bunch of XML over FTP, or a RESTful endpoint that serves binary encoding pictures of cats. My user agent scoops up everything and presents it to me in a way that I like. There would need to be some creative ideas involved for, say, "replying" (hashes? webmentions?) In other words, maybe innovation on the demand side is where the fun is. </bad-idea>
- Jonovono 4y agoLets just say, I don't think it's a bad idea ;p '''My user agent scoops up everything and presents it to me in a way that I like.''' I think this is close to what the future looks like. For example, it rattles me that no matter what app I am watching 'videos' on I have different options. Some I can watch 2x speed. Some I can tap the sides to go quicker through. Some if I tap it mutes. Some if I tap it stops the video. All of this for the same type of content. Insanity. Not to mention even within certain apps like Instagram is just brutal. For the same content type - videos - they have like 3 (?) different ways to view it.
- riffic 4y agoActivityPub or a successor protocol will eclipse everything else on a slow but attainable timeframe. We won't notice it really until it hits a certain tipping point, which will look a lot when interoperable email started to take off (mid-1990s or so) an aside but does anyone else remember when everyone was telling you their AOL Keyword?
- varunsrin 4y agoauthor here - happy to answer questions folks have. we've also been building a sufficiently decentralized protocol called Farcaster, and you can check it out here: https://github.com/farcasterxyz/protocol https://github.com/farcasterxyz/protocol we've also built the first clients for this protocol, which are still in beta. if you have an ENS name and are interested in trying them out, DM me on twitter https://twitter.com/varunsrin https://twitter.com/varunsrin
- motohagiography 4y agoNot this one in particular, but the general idea of decentralizing social networks often seems to miss the necessary ingredient that drove people to social networks in the first place and overlooks what social networks originally were - social proof. Start with the use case, not the tech. I joked that facebook was invented as a way to let people know you went to harvard without having to say you went to harvard. It started by solving the h-bomb problem whereby having a thefacebook account they created an online way to say you went to school "in Boston," which they then extended to "in Newhaven," "New Jersey" and then to any college affiliation at all (.edu domain requirement). That signalling was the use case. It expanded to include people without that status but wanted access to it, and the only way to "win" at facebook was either an Ivy school education or becoming a celebrity. Once it opened up to everyone else, it finally became the cruel spectacle it is today, and the source of our cultural discord. A decentralized social network isn't a protocol problem. The hardest thing to face is that nobody wants to join decentralized social networks because they confer no signalling benefits or meaningful status to users the way central ones did. It wasn't an artifact of the technology that made the handful of social networks successful, it was their use case. Clubhouse almost replicated it, but like any elite organization, 80% of the game became not-being the person who recommends someone off brand or un-cool, and so it became contrived and over gatekept, and its growth atrophied from the anxiety. Git is probably the closest thing to a decentralized social network that confers tenuously analogous status to what FB originally did, where instead of your school tribe and pictures of your butt, it's a competence graph with localized hierarchies. It's like we can solve every problem except how to become attractive to users, probably because we're indexed not on being attractive, but on emmulating what we percieve as smart and powerful and solving a problem, which is the very thing repelling users from decentralized social networks: The products are self-defined as inferior to the problems they oppose, and not as sharing access to a desirable resource - like powerful tribes and butt pictures. Nobody wants to become like decentralized social users. Twitter's blue checks are similar, where you can affilliate with people close to the source of official power narrative by "following" them. If they follow you back, it's an endorsement of your identity and status. If I join a decentralized social network, what do I get? A bunch of anonymous fugitives pushing newsletters explaining why it's someone else's fault they're unhappy. This is a message of mercy to decentralized social projects. Focus on the use cases and build things for specific people you sincerely like and who sincerely like you back, and not anti-solutions to anti-problems for aspirational audiences using obfuscated proxies to simple experiences.
- solarkraft 4y agoYou may or may not be a crypto currency shill, but if you're not you may want to consider that the term "smart contract" in the preview picture will make your article go straight into the trash for a lot of people.
- varunsrin 4y agoif you didn't like the term smart contracts in the header image, you probably won't like it in the body either :)
- purry 4y agoThought I'd share this here (not feeling ready for a Show HN yet): we're working on something in this spirit, right now it's a Twitter-like app running on the Avalanche Fuji Testnet: https://purry.io/ https://purry.io/ You need to be connected to the Avalanche Fuji Testnet in Metamask (there are some instructions on the site for how to set that up). Feel free to leave us some comments, feedback and suggestions here or on the app :)
- geekbird 4y agoDecentralized social networks of the past: UseNet and IRC. No one owned all the servers for either of these. The problem came with moderation versus spammers and trolls. The problem still exists with the centralized social networks, although theoretically it should be easier for them to deal with due to centralized identity management. It isn't.
- betwixthewires 4y agoMeh, you don't need a blockchain for any of this. Look at nostr https://github.com/nostr-protocol/nostr https://github.com/nostr-protocol/nostr There's also Revolver https://blog.freespeechextremist.com/blog/revolver-kickoff.html https://blog.freespeechextremist.com/blog/revolver-kickoff.h... it is in development and very interesting, will be available to the public for testing Soon™ from what I gather.
- EGreg 4y agoWe live in Digital Feudalism, and like feudal serfs, we are used to choosing a feudal lord (Google Suite, Microsoft Office 360 etc.) To move to a free market, there just has to be something like Wordpress for Web2. Forget Web3 and blockchains (which don’t scale) but we need at least federated software (Matrix, Mastodon) but with a lot more features that we have come to expect from Facebook, Telegram et al https://qbix.com/blog/2021/01/15/open-source-communities/ https://qbix.com/blog/2021/01/15/open-source-communities/