No offense as I'm sure you're a great guy, but I'm really glad they cancelled the project if that is what you were hired for. There's so many reasons this could never work (I would loved to be proven wrong though).<p>1) I'd say about 10% of the reddit user base even knows what bitcoin is, and far less have any. I don't see people willing to acquire bitcoin just to participate.<p>2) At some point you have to host the content on a computer somewhere. Time on computers costs money. In the case of reddit, this is 1000s of dollars a day (and would be even more in a decentralized system due to the overhead of coordination). Right now the bitcoin economy is not robust enough to extract 1000s of dollars a day, and there isn't any provider that will accept bitcoin in exchange for compute at that level, or even close to it.<p>3) Fewer and fewer people have the ability to host content anymore, be it at home or in a datacenter. So you'd be relying on just a few people who would be willing to host content. This basically leaves you very open to an "attack" on the network by a bad actor, who could take it over with reltive ease if they were just one of a few that were hosting content.<p>4) Child porn. It would be way too easy for someone to put that on the network and then everyone would be at risk, further reducing the number of people willing to host (see the list of Tor exit nodes that aren't government spy nodes as an example of how few people would be willing to participate).<p>5) Related to number 4, the laws in different countries are different. If I host in the USA and you host in say Sweden, content that is legal for you may not be legal for me, again opening me up to liability unless I closely police the content, and unlike reddit Inc, I don't have the lawyers and common carrier protections.<p>Like I said, I'd love to be proven wrong, but given my experience actually running reddit, I just don't think the bitcoin ecosystem is big enough to support it today or even in the medium future.
I've done some thinking on this problem, but my own implementation (PeerNews) is sort of stuck in place because I lost interest.<p>That said, if "P2P Reddit" sounds interesting to you, I'd love your feedback on this rough spec document.<p><a href="https://github.com/FeepingCreature/PeerNews/blob/master/spec.md" rel="nofollow">https://github.com/FeepingCreature/PeerNews/blob/master/spec...</a><p>The design takes advantage of the P2P nature of the network to customize content to the person reading. Using friends and de-friends (hates? unloves?), you would form your own trust weighting for people's upvotes, thus forming a network of cliques where everybody can read the same content, but sorted differently according to their interests.
Author here. AMA. Happy to work out the details of how this would work if anyone would like to see. It takes a little more than just "bitcoin" - you don't want most transactions to be on the blockchain, for instance. Instead, we would do what Streamium did, which is to use payment channels. That will allow for tiny payments.<p>Also, how the hosting and sharing of content works requires a lot of effort. We can use Web RTC to do the p2p communication over the web. Most people don't yet know this exists - but p2p communication over the web is indeed possible. The only catch is that you need a rendezvous server. That server would be run by anybody, so the network would be two tiered - the simple-to-use web clients that share content but don't provide the rendezvous service. Then the "full nodes" where the users would also run a rendezvous service, allowing people to find each other.<p>To most users it would look and feel similar to reddit. Anyone would be able to run a "business" by just running the "full node" app full-time and delivering the content to users.<p>Of course there's a lot more to it than this. I've solved many of the problems, but not all, and there is no prototype yet. But I believe the fundamental technology now exists to create a decentralized reddit, where the users get paid for hosting the system and providing the content.
How would this system approach, say, child pornography? If it is truly decentralised, then there is no way to keep such content off the network. But there <i>must</i> be a way for users/nodes to avoid hosting or encountering such content, otherwise the risk of participating in its distribution, even with plausible deniability, makes 'Reddit on the blockchain' a legal/moral/ethical non-starter.
There already are federated social networks. Wikipedia has a long list.[1] You never heard of any of them. Buddycloud, Diaspora and Friendica got far enough to have a number of servers in two digits. Buddycloud seems to have pivoted into a system for in-house use. Diaspora seems to be dying. Frendica is running, with a very modest number of users, and trying to replace itself with a new system called Red.<p>It's quite possible to do this, but so far, nobody has been able to get anything like enough users to make it useful.<p>[1] <a href="https://en.wikipedia.org/wiki/Comparison_of_software_and_protocols_for_distributed_social_networking" rel="nofollow">https://en.wikipedia.org/wiki/Comparison_of_software_and_pro...</a>
Ryan's work at Reddit was reimplementing bitcoind in JavaScript on node.js: <a href="https://github.com/ryanxcharles/fullnode/graphs/commit-activity" rel="nofollow">https://github.com/ryanxcharles/fullnode/graphs/commit-activ...</a><p>Here's where he sets out what he was trying to do: <a href="https://np.reddit.com/r/Bitcoin/comments/2uadvd/the_real_reason_ryan_charles_was_fired_from/co6r4q9" rel="nofollow">https://np.reddit.com/r/Bitcoin/comments/2uadvd/the_real_rea...</a><p>The takeaway is: if you start with "... but with Bitcoin!", then iteratively putting different words before "but" is unlikely ever to result in something that is actually useful, not just interesting.
>when a user upvotes content, that sends a small amount of bitcoin to the author of that content<p>Doesn't this lead to a problem where money = votes? What would be other mechanisms to combat vote fraud?<p>>In order to download content, the user pays a very, very small amount of bitcoin to the peers on the network. This incentivizes people to keep the app open so as to keep servicing the other users<p>I don't think this is necessary. The bitcoin network shows that alturism alone is enough to sustain over 5000 nodes.
Love the idea. We are working on something similar, but without the decentralization at this point. In our system users can invest bitcoin in a post by upvoting it. If that post gets many upvotes subsequently the investor will make a profit, otherwise a loss.
<a href="https://github.com/rolandnsharp/node-bitcoin-reddit" rel="nofollow">https://github.com/rolandnsharp/node-bitcoin-reddit</a><p>We are looking for collaborators for this project. Please feel free to get in touch if you are interested (@clemensley).
This is already in development and has been through a genesis block colored coin issuance based on Bitcoin: <a href="http://www.synereo.com/" rel="nofollow">http://www.synereo.com/</a><p>They will reward content creators and participants with the colored coins: AMPs<p>Advertising will also be supported with a market in the AMPs.
Thus bringing equity to holders of AMPs.
As I commented on the article, I think this whole monetary system might deter adoption of the application. Either way, check out Freenet if you want to see prior art in creating a decentralized web: <a href="https://freenetproject.org/" rel="nofollow">https://freenetproject.org/</a><p>In that p2p project, all you contributed was storage and bandwidth.
There are undoubtedly a lot of problems to figure out. But you absolutely have my support to run the experiment to try and figure out how to, finally, actually build the front page of the internet in a truly decentralized way.<p>You (*or rather, relevant people) will have my bitcoins in support on day one, if this ever launches.
At first glance, I thought the title read:<p>"Fix Reddit with <i>Bacon</i>"<p>but no, decentralized reddit sounds like a better idea... maybe until figuring how how to distribute moderation and other privileges.