9 ms·
Decentralized Reddit using a DHT to store content and a blockchain to rank it
- cbeach 11y agoSounds like a great idea, although I fear people may stockpile points in order to promote their own material later.
- colordrops 11y agoWhy is that a problem? The person got a lot of points because people liked this persons contributions. People with more reputation should be allowed to post more.
- mahranch 11y agoThe problem is promoting quality content people want to read. What if hackernews was just all viagra ads from spammers? Would you be fine with that? I sure wouldn't. That's the problem. Instead of quality content making it to the top or 'front page', people who pay the most can make it to the front page regardless of content quality.
- RileyJames 11y agoSome additional details: http://lucaa.org/docs/kudos.pdf http://lucaa.org/docs/kudos.pdf https://bitcointalk.org/index.php?topic=1148175.0 https://bitcointalk.org/index.php?topic=1148175.0
- liamzebedee 11y agoRe: the hosting of topics/subreddits in the DHT, I've done quite a lot of research [1] into a very innovative yet not well known P2P publish-subscribe network design [2] from some Norweigan computer scientists that removes the role of hosting for nodes not interested in a topic, even designing a decentralised microblogging platform on top of it [3]. It's called PolderCast, and the way it works is that it models subscribers of a topic as a ring, and then uses 3 different overlay networking modules to efficiently constructing the network (a basic gossip one, one that finds nodes with intersecting interests, and then a final one which constructs the neighbours for a node in the topic ring). Thus, only subscribers of a topic are responsible for hosting, in contrast to a DHT where every node would be (even for questionable content that they may not agree with). [1] http://liamz.co/wp-content/uploads/2015/03/Computer-Science-Extended-Essay_Liam-Edwards-Playne.pdf http://liamz.co/wp-content/uploads/2015/03/Computer-Science-... [2] http://acropolis.cs.vu.nl/~spyros/www/papers/PolderCast.pdf http://acropolis.cs.vu.nl/~spyros/www/papers/PolderCast.pdf [3] BitWeav http://liamz.co/wp-content/uploads/2015/03/whitepaper.pdf http://liamz.co/wp-content/uploads/2015/03/whitepaper.pdf
- jchrisa 11y agoI have an idea for a federated blockchain to support a subjective crypto currency. So each coin's value is unique and determined by whoever might be trading it. The way that knowledge of the network state will flow looks like boosted gossip, maybe similar to PolderCast layers. Here's a user's eye view of it: http://thenewstack.io/why-art-could-become-currency-in-a-cryptocurrency-world/ http://thenewstack.io/why-art-could-become-currency-in-a-cry...
- debacle 11y agoYou guys really need to let go of the blockchain trope. It's a hammer seeking nails.
- deleted 11y ago[deleted]
- occsceo 11y agobut its ... blerkchain terkonology. ha ha
- Aqueous 11y agoThe blockchain represents trust-less global concensus, the first time such a thing has occurred in history. From remittances to microtransactions to voting there are very few economic and political problems that the blockchain can say nothing about. The current market capitalization of BitCoin is $3.7 billion. Did all that money just appear out of thin air because blockchains are worth nothing and solve no problems?
- eis 11y agoWhat I don't see covered is the following problems: 1. Do people have to buy points from miners? 2. What prevents someone from buying lots of points to promote their content?
- clarkmoody 11y ago1. Not sure. 2. It looks like the transaction sizing rules make it exponentially expensive to upvote multiple times.
- colordrops 11y agoCould you elaborate on how it is exponentially expensive? I don't see how that would work. If 100 people are allowed to vote on a topic with this system, then one person with 100 sock puppets should be able to vote on a topic, as there isn't a technical difference.
- eis 11y agoThat's also how I see it. There is nothing exponential about it. The cost for someone using a sockpuppet to vote for a post is exactly the same as for anyone else. So either you have to make it really expensive to vote and that would make this a no-go or you end up with cheap advertisement that you can't even block easily. There is one trait to this system that is interesting: the cost to promote your content goes up with the rate of popularity of other posts. Kinda like in the real world where advertising on a popular page costs more than on a random blog. But because there is no limit as to how many people would try to advertise, the whole content would soon be pure ads.
- clarkmoody 11y agoIt looks like funding all those sock puppets with coin would cost lots of money. From the slides: Sending 10 points to someone would require 10 addresses with at least 2 points each. Creating 10 addresses with 2 points each would require 10 transactions of 4 points each, meaning 40 points. Those 10 addresses require the same funding amount whether from sock puppet accounts or from one account. Perhaps it's not exponential though.
- acd 11y agoDoing the same technology for political ideas would be an interesting experiment of new form of people driven democracy. Lets see hackers invent decentralized currency, hackers invent decentralized government democracy 2.0, people encrypt all their data and decentralize communications. reboot
- throwaway7767 11y agoSo people's level of input into political decisions will be directly tied to the amount of money they're willing to spend? Sounds like it would pretty much legitimise the problems with the current system. Or maybe I'm missing some key part here?
- oldmanjay 11y agoThere will never be a human power structure that avoids catering to the powerful, whether expressed with money or some other proxy. The most you can hope for is that the structures also make catering to the non-powerful worth doing.
- throwaway7767 11y agoSo do you think a system based on buying votes on the blockchain would make catering to the non-powerful worth doing? I don't.
- valarauca1 11y ago>hackers invent decentralized government democracy 2.0 I think you forget how Proof of Work works. Candidates can just buy more and more mining power to put their opponents out of the race.
- colordrops 11y agoThere is always so much disinformation in threads about blockchain tech. Do you have any idea how it works yourself? Mining is a means to an end, which is an incorruptible ledger. Voting is a social convention, not a coin. You wouldn't mine for votes. The way a voting system would work is that each voter would be given a single coin that is marked for eligibility to vote. Then they can send the coin to whatever address correlates with what they want to vote for. Since the coins are marked, you can't just mine for more coins to submit for more votes. Yes, there are problems with this system as well, but mining for votes is not one of them.
- murbard2 11y agoYou do not need a blockchain to do this. If you can represent something using an append only data structure, a DHT is enough.
- jstanley 11y ago> If you can represent something using an append only data structure, a DHT is enough. Can you elaborate? Is the blockchain not an example of an append-only data structure?
- murbard2 11y agoA block-tree would be append only. The blockchain is a block-tree + a canonical leaf (or a head) which is a mutable variable. https://medium.com/@arthurb/what-do-blockchains-accomplish-e9a5efa246bf https://medium.com/@arthurb/what-do-blockchains-accomplish-e...
- fho 11y agoBasically a Directed Acyclic Graph on top of the DHT should suffice. Every node in the graph is signed and links back to two things: the node it is referencing (eg it is a comment to a post) and the last contribution of this user. Each contributor is announcing their last contribution (and probably reannouncing the last contributions of their "friends"). So finding new content is just a matter of listening to friends and following bread crumbs from there.
- yid 11y agoThe blockchain (proof of work) is for voting.
- murbard2 11y agoYou need a Sybil prevention mechanism to avoid stuffing the ballot box, and that can be a small proof of work stamp, but that doesn't mean you need to use a blockchain and incur the scalability hit. Votes belong to each user and are spent exactly once. You could try to vote twice but it would be detected and would not lead a double spending problem.
- williamcotton 11y agoInteresting, we're doing something similar with Open Publish, Bitstore, and a couple of DHT backed delivery systems, namely IPFS and BitTorrent. Content is published by registering a SHA-1, BitTorrent InfoHash, an IPFS key and a URI pointing to the content on the Bitcoin blockchain. https://github.com/blockai/openpublish#register-media-with-an-open-publish-transaction-posted-to-the-bitcoin-network https://github.com/blockai/openpublish#register-media-with-a... Payments or tips towards that content are registered by creating a Bitcoin transaction that pays the person who registered the content by referencing the SHA-1. https://github.com/blockai/openpublish#tipping-and-micropayments https://github.com/blockai/openpublish#tipping-and-micropaym... We've experimented with some Reddit-style ranking algorithms where we consider payments or tips as upvotes. One big difference between what we're building and what this presentation is describing is where and how the content itself is stored. We expect the content to be available on BitTorrent (and WebTorrent) as well as IPFS, both content-addressable data stores that use DHTs, but we also have a fallback to a URL for the content. We made our own service called Bitstore, a content-addressable file hosting and distribution service that uses Bitcoin public key infrastructure for authentication and payment. https://github.com/blockai/bitstore-client https://github.com/blockai/bitstore-client So instead of having to run your own IPFS or BitTorrent node that's always serving up your content, you can pay a small fee in Bitcoin to have your file hosted... something like a coin operated S3. Both Bitstore and Open Publish use the same form of authentication and permission, the public key nature of Bitcoin wallets. Users are identified by their public wallet addresses. This login mechanism has been implemented in a number of wallets that support the spec Common Wallet interface. https://github.com/blockai/abstract-common-wallet https://github.com/blockai/abstract-common-wallet This opens up a number of really interesting interactions, such as something like "tip to comment", where a web service can check the Bitcoin blockchain to see if a self-identified wallet address did indeed tip the content it is attempting to comment on. https://github.com/blockai/my-two-bits https://github.com/blockai/my-two-bits https://github.com/blockai/my-two-bits-client https://github.com/blockai/my-two-bits-client
- joosters 11y agoWhat are the problems with existing services that you are attempting to solve?
- amyjess 11y agoI was hoping it would use something inspired by NNTP, since "decentralized Reddit" is basically Usenet with voting.
- xj9 11y agoI had an concept once for a decentralized reddit-like that used NNTP to distribute content and an inflationary cryptocurrency to store karma. The idea was that karma is only valuable while the thing that is generating it is relevant. If you wait long enough, your "karma-coins" will be, essentially, worthless. The deflation of your coins is dependent on your average net-worth over some period of time and the state of the global economy. (Maybe?) I got busy with work, so I never got into the implementation stage, but it is on my backlog. Hopefully I get to it some day.
- Coffeewine 11y agoDo they say anywhere what mining scheme they're considering? It seems a weakness of this scheme would be the distribution of points. If they have a scaling difficulty similar to bitcoin, it seems possible that early adopters could wind up with vast quantities of points which late adopters would be starved for, allowing them to control what content is rewarded and published for a goodly while, impairing the initial attractiveness of the platform.
- Ono-Sendai 11y agoUsing the blockchain for something like this is a total waste of energy. Just run it on a single fast server. (or a small cluster)
- hlfshell 11y agoWouldn't that then make it centralized? I think the point is to make a reddit wherein censorship - beyond voting bombs - can not be enacted.
- Ono-Sendai 11y agoYes. Centralisation is just much more efficient in this case. (and maybe in all cases?)
- hlfshell 11y agoBut the goal isn't efficiency - it's permanence.
- clarkmoody 11y agoMuch for efficient, yes. But also much less decentralized, which is the point of this presentation.
- deckard1 11y agoon reddit, censorship via central authority has always been my last concern. Censorship via groupthink is vastly more powerful and damaging.
- colordrops 11y agoSuggesting the use of a central server for this is like suggesting the use of gas to power an electric car. The whole point is decentralization.
- EGreg 11y agoThe DHT is good, although I wonder whether the routing is centralized through relying on DNS, or whether it's completely decentralized. What is the point of the blockchain, though? Is it just to avoid a double spend problem? Proof of work is terrible now for new blockchains because people have rigs that can easily execute a 51%+ attack and destroy the network. It needs proof of stake, which becomes better the more participants there are. But proof of stake has a more centralized character not unlike a website with moderators controed by the initial host. Isn't there a better way these days to prevent sybil attacks? All you need is to make it very expensive to make more than one account. How do you do that? You take what 99% of people have one of (such as their body, or their house, or their cellphone) and have them prove they own it. But that defeats anonymity, doesn't it? Isn't there anything that people have only one of, can prove they own it, but doesn't reveal their identity? Someone should implement this. THAT would be the real way to prevent sybil attacks.
- technimad 11y agoReading stories like this makes me always wonder what's wrong with NNTP? Can be decentralized and federated, just run your own server.
- fleitz 11y agoNNTPs exact problem is that it works. It's like if you decided to start making CPUs out of silicon on a RISC architecture, that's boring because it likely works and is a simple way of solving the problem of computation in a fast way. Essentially any idiot with sufficient engineering know how could do this. However, rather than buy a CPU for a few dollars and get down to the business of computing you could start making logic gates out of balls, water, or something wholly unsuited for computation, and then try to build a CPU on top of that. At that point you'd have something very impressive that solved no problem people actually had before that point. And everyone who bought a CPU would look and think, why make all that fuss to do slower what we had been doing for years before?
- salamy 11y agoSounds like hosting on maidsafe would be a secure option, once it's ready anyway.
- legulere 11y agoThe problem I see with this is that there's no moderation. Moderators are usually the difference between a good and a terrible subreddit.
- fleitz 11y ago1. Blockchain. 2. ??? 3. Profit.
- NoMoreNicksLeft 11y agoThis is clever and interesting, but I'm not sure it addresses the central problem. Reddit made the news in the last year for some (mostly unfair) claims of censorship. However, rather than directing censorship which the plebes had to accept, the social pressure from the plebes necessitated these overt acts. For weeks afterward with FPH, we kept reading comments like "well, what about coontown?". These commenters may have felt they were being ironic, or espousing fairness (hey, what's good for one is good for the other), but the collective/aggregate effect was to clamp down even further. These same people are the ones who were able to push Reddit's management in that direction in the first place. These people won't disappear if you implement blockchain-reddit. (Though, there's probably a plausible argument that they might stay away.) There will be no blockchain-reddit management to pressure into overt censorship, but they ruined reddit long before they got that far. They'll ruin this too. Downvotes are, after all, a "fuck you" and not a "you're fallacious". Disagreements are, after all, evidence that the other person is wrong/stupid/uncool, and not a difference in perspective. The problem is people, and there is no computer science fix for that.
- osmode 11y agoSelf-censorship and censorship by others will continue to hamper online discourse until people feel safe from reprisal. A decentralized P2P discussion system would be a huge step toward this goal. I've been following Ethereum for a while now; have you considered using the platform to build this as a dapp?
- mahranch 11y agoOne question; what protections are in place to prevent some of the problems which plague user aggregated links (which are selected/ranked according to votes)? Is there any anti-vote cheating mechanisms in place? Anti-Spam measures? One of the biggest problems that digg (RIP) and reddit have been fighting is organized groups of people (and/or their sockpuppets or network of bots) voting up their own links. Everything from SEO companies, marketing agencies to just plain old greedy spammers all attempt to game the system. There's quite a monetary incentive to reach reddit's front page and people have been abusing the system for over a half a decade now. What keeps those people in check, those who discover ways around or through their automated anti-vote cheating code (which is the majority), are the moderators. They're the fail safe. Having the entire thing decentralized removes the mods from the equation and your fail-safe as well. That's the problem; removing the mods may give you slightly less censorship, but you're not accounting for all the good things that come with having mods. I don't mean to be cynical about this, but I do know for a fact this will never be more than a small experiment. I know this because if this ever got popular, I'd abuse the shit out of it myself and I have little to no incentive too. I can't even begin to imagine the abuse level from people with an actual motive.
- sktrdie 11y agoYou can only abuse it as long as you have points. With Reddit (or systems like it) you have no limits - for instance, you could upvote all content on the front-page every hour. On the other hand, with this Kudos system, you would run out of points rather quickly if you did that. I agree, as others posted in this thread, that there are many other problems that need to be addressed. Frankly I don't know if a p2p network system can even be built to address all issues - social voting networks based on reputation are rather complex. However I hope to have shed the light on some interesting properties that can be achieved by combining the decentralized aspects of DHT keys, with the consensus features of a blockchain. Moreover, the idea of of using cryptocurrency tokens, for things other than currency, is a field that needs to be explored more.
- mahranch 11y ago> You can only abuse it as long as you have points. You seem to be implying that this is some sort of road block or hurdle for those interested in gaming the system. Unfortunately, it's not even a speed bump. I think you underestimate just how resourceful and clever these people are. I'm a mod of a few large subreddits on reddit and I can assure you, "having points" is no more a hurdle to them than saying "on reddit, you have to have an account to vote".
- paulmd 11y agoI originally wrote this post as a response to Osmode, but it ended up swelling more than I'd intended. I fundamentally agree with his goals of supporting free discussion and suppressing self-censorship. However, I see several problems with this approach to achieving those goals. The core problem with social-capital type schemes like Reddit (or indeed HN) is that they're very susceptible to bandwagoning. On Reddit the groupthink varies by community, but there's some mixing bowls and as a result the community does have an overall balance, despite having some short-term bandwagons. HN has a really strong bent towards the opinions of 20-something Silicon Valley startup coders without much counterbalance, and I know that I've certainly self-censored on certain topics that go against the grain here. Yes, in the words of Drew Carry, "everything is made up and the points don't matter", but then why is there still a counter in the corner of my screen? Here, you're literally talking about putting a pricetag on dissenting opinions. If you go against the grain you're not just getting downvoted, each post actually costs you a certain amount of real money on servicing the blockchain. Conversely, circlejerking will get you a lot of kudos. That is - in and of itself - a strong social pressure that hampers the full spectrum of discourse. Much like the Bitcoin blockchain, it is fundamentally based on the assumption that no one group controls a non-trivial portion of the [social] network. The same mechanisms that work against reprisal or spam also work against opinions that dissent from the common wisdom. It's vitally important for a strong discourse that sometimes-unpopular opinions be heard. Otherwise it's far too easy for the majority to carry themselves along (the Iraq war immediately springs to mind). I don't know how you counterbalance that against suppressing actual spam - because botnets and such mean that those groups will also have a great deal of capital from blockchain/network operation. Some of the best communities on the web have actually been gated ones. Back in the day it cost $10 to activate an account on SomethingAwful. If you trolled, well, at least you're helping pay for the servers. If you leech on private trackers, you get banned and someone else takes a hit for inviting you. Gated NZB sites work in a similar way. I don't have a problem with such communities at all, but fundamentally they work on the basis of clearly defined social standards. On the flip side, Twitter and Tumblr have a very low level of discourse, because it's all about pithy soundbytes that get you retweeted. People leech from ThePirateBay all the time, because from their perspective, why not? I don't see how this is different from "twitter, but using bitcoin". Something like FreeNet seems to accomplish the above goals much more effectively - popular opinions result in distributed re-caching, unpopular ones still get served if they have sufficient traffic, and really unpopular ones can be broadcasted by vigorous network participation and re-seeding.