A Censorship-Free Reddit Being Built On Decentralized Blockchain
By Ryan X. Charles
For a brief but glorious time, I was the cryptocurrency engineer at reddit. Yes, that was my actual title and it was actually awesome. Although I was publicly hired to work on cryptocurrency, we actually had a secret, higher priority goal: we wanted to decentralize reddit.
reddit is a uniquely internet thing. Because identities are pseudonymous, people aren’t afraid to express themselves. Combined with a simple but effective reputation system, this leads to a faster-paced, higher-quality production of cultural content than anything else in the history of the world. Most of the content is positive, and some of it is disturbing. It’s the emotional core of humanity freed from the cumbersome constraints of physical reality. reddit is internetland.
The only problem is that reddit’s servers are hosted by a central organization. Because humans have interests, and no two humans’ interests align perfectly, it is often the case that the interests of reddit, Inc. come into conflict with reddit, the users. Sometimes this means too much advertising, but more generally it’s that reddit, Inc. focuses a little more on converting content into money so they can pay their bills and give a return to their investors, and a little less on building better tools and giving a better experience for the users of reddit. And the users don’t get paid for their labor.
reddit, Inc. has always been cognizant of this asymmetry, and they have done a good job walking the fine line between overexploiting the users, which would drive them away, and undermonetizing the content, which would cripple the experiment. Unfortunately, reddit, Inc. has tripped up from time to time, making things worse for both the company and the users. What we need is a fundamentally better way to do things that can eliminate the asymmetry, keep the lights on, and allow everyone to be rewarded in proportion to their contributions.
I had an opportunity to talk to the then-CEO of reddit, Inc., Yishan, last summer, and told him I wanted to create a decentralized reddit. He was very excited about this idea— turns out they had a high-level plan of decentralizing reddit in the works, and they needed someone to execute this vision. Soon thereafter, I left my job at BitPay, the leading bitcoin payment processing company, to join reddit, Inc. My primary goal at reddit on Day 1 was to decentralize reddit.
There is a problem with decentralization, which is how to incentivize the participants. Since there is no company in the middle that can earn money from advertising to pay the server bills, the people themselves need to earn money to pay their own costs of hosting the system. Using a credit card doesn’t work, because there would need to be someone in the middle processing payments, breaking the decentralization, and introducing the same asymmetry we are trying to solve. To create a purely decentralized reddit, we need decentralized money. Such a thing was invented in 2009 by Satoshi Nakamoto: bitcoin.
The way a decentralized reddit works is like this. Each user has an app, the reddit app, which connects to the reddit p2p network. For most users, the app is a normal web app. Each user funds their own app with a small amount of bitcoin. 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. Furthermore, when a user upvotes content, that sends a small amount of bitcoin to the author of that content, thus incentivizing the production of good content. If all the content is authenticated, we can be reasonably sure most payments are going to the right people.
In this scenario, reddit, Inc. still exists, they just don’t have a monopoly on the hosting of reddit content. Instead, anyone can run the app to host the content, and reddit, Inc. is just the biggest service provider. Any user can run a business by running the app full-time. Any user, including reddit, Inc., can censor content they themselves deliver to other users, but cannot censor content other users send to other users.
On Day 2 of my job at reddit, things changed. They announced they had raised $50 million in a new round, which I hadn’t been aware of until then. They also announced something even more interesting — that reddit would be giving away 10% of the new shares back to the reddit community in the form of a cryptocurrency. This was a totally different way to solve the same problem. Rather than decentralizing the service, we could just make all reddit users owners of reddit, Inc. If reddit grows, the users get rewarded by having equity.
Since I was the only cryptocurrency engineer at reddit, I naturally offered my time to help make that project happen, and spent less and less time working on decentralizing reddit. Quickly, I became full-time on the cryptoequity project, and stopped working on decentralizing reddit altogether.
The rest is history. Yishan would resign a month or so later due to exhaustion, and new leadership took over the company who set out a new direction that didn’t involve any of the work I was doing. The cryptoequity project was shelved, and decentralizing reddit indefinitely delayed. I was laid off after being at the company for only four months.
There is still hope. Whether at reddit, Inc., or somewhere else, the technology to create a decentralized reddit is almost entirely in place. Bitcoin provides the mechanism for p2p payments, and Web RTC, or something similar, provides p2p connections between the users. To most users, it would feel just like reddit, except they have to maintain a small bitcoin balance to be able to perform actions on the site. Some users to who produce great content will be rewarded with a lot of karma, which in a decentralized reddit is real bitcoin with real value that can be spent on real goods and services. A real economy for internetland.
I’ve collaborated with a lot of other people to produce some of the fundamental software necessary to make a decentralized reddit (see all my projects on GitHub — especially this one). It’s not done yet and there is no prototype, but I would love to find collaborators to build something concrete. If you’re interested, please reach out to me at my twitter handle at Google’s popular mail domain.