An open discussion about a Facebook alternative based on blockchain technology — Part 1

Albert Liang
Tech Sketches
Published in
4 min readMar 29, 2018

With the recent fallout over the Facebook/Cambridge Analytica scandal, I (and probably tons of others) have felt a very strong urge to #deletefacebook. After all, what was I using it for anymore? I don’t regularly post photos or updates, I don’t use groups or events that much, I definitely don’t play games on Facebook anymore (remember when that was a thing?), and in general, I only check it every few days. I do, however, still use Messenger, which apparently has been scraping my phone’s information.

Actually, all I want from Facebook is a way to passively keep up with friends: who had a baby, who just got engaged/married, who moved where. Basically, a cloud-based contact book. Nothing fulfills this need right now. LinkedIn is only for professional stuff, and several other “specialty” social networks such as Instagram, Snapchat, etc. only serve niche markets. (By the way, Instagram is also owned by Facebook.)

Combining this scandal with the rise (and accessibility) of blockchain technology got me and a circle of startup-y friends (Jun-Chieh Wang, George Sung, Faye Zhao, and Wise Ongg) thinking… is now the opportunity to launch a new social network and dethrone Facebook? It’s been tried many times in the past (e.g., Google+) but this is the first time I really see a real fissure in the cliff face that is Facebook.

Unfortunately, the actual discussions on how to actually implement a blockchain-based social network is tricky. The first question that gets asked it… how does blockchain even factor into all of this?

The point of this post (and hopefully a series of posts to follow) is to lay down some ideas that our little group came up with. Hopefully, this information can help spur the creation of a new social network, even if it wasn’t ultimately created by us. I just hope that we can contribute a small part to the overall concept.

First, for the sake of completeness, I wanted to give a very simplified explanation of the blockchain concept. Imagine a train: you have the engine and a number of train cars attached to it. Within each car is stuff that you (or others) have put in. One special aspect of this train is that anytime a new car gets linked on, it can never be unlinked and the contents of that train can never be changed anymore. If you want to add more “stuff” to the train, you have to fill up a brand new train car and link it in.

In this example, each train car is a “block” that you want to link up to the “blockchain”. In order to link a new block to the blockchain, one must find to answer to a very computationally-intensive math problem. This is the task that people are doing when they are “mining cryptocurrency”.

For most cryptocurrencies so far, the incentive to perform this intensive computation is to acquire a “coin” (e.g. Bitcoin, ether, doge). The contents of a block is a series of transactions that have taken place (e.g., User1 sends 1.0 coins to User2, User3 sends 0.75 coins to User4). Once the block is added to the blockchain, those transactions are forever frozen in the history of that particular cryptocurrency. Since everyone, in theory, can see the contents of the entire blockchain, everyone can verify all transactions that occur on the network. Hence why no “central bank” needs to be involved to verify transactions. (There is so much more to cryptocurrency than this… I encourage everyone to dig deeper. Myself included.)

Okay, back to the social network concept. Several questions loom:

  1. What information in a social network should be so immutable that it should be saved in a block?
  2. What is the incentive to perform the intensive computations to link a new block to the overall blockchain?
  3. Since every user has access to the entire blockchain, how do you keep users’ information safe?
  4. Not mentioned so far, but blockchain does have some centralized costs. For Bitcoin, the entire blockchain is ~149 GB at the time of this writing. Most Bitcoin users do not have the entire blockchain. A number of “volunteer” nodes hold the entire blockchain, which allows users to only download a small portion relevant to whatever actions they are trying to perform. Who will maintain the full blockchain of this new social network? And does this “volunteer node” ruin the advantage of having a decentralized social network?

We don’t have answers to most of these questions. The simplest one to answer, so far, is perhaps #3. The contents of the train cars would not be plaintext information. It should be encrypted. However, allowing a user to download the encrypted information (since they can download the entire blockchain) will also allow them to attempt to crack it using offline techniques without any rate limit. Not exactly the safest idea.

Stay tuned for follow-up posts as our ideas develop. Feel free to chime in below in the comments!

--

--

Albert Liang
Tech Sketches

Tech junkie, entrepreneur dreamer, practical engineer