Have you ever wondered how steem is technically different from other social media such as reddit or facebook?
Are you confused by terms like 'blockchain', 'witness', 'POW' or 'DPOS'?
Do you lack understanding of what makes steem democratic and censorship-resistant?
Don't worry, it's not your fault - after all, the steemit.com website doesn't look that much different than other social media sites. The magic all happens behind the scenes for the average user.
In this series, we'll take a look behind the scenes and shed some light on this mistery - hopefully in a way that anyone can understand.
Distributed vs centralized
The first and foremost difference between Steem and conventional social media is that while estabilished services such as facebook or reddit utilize a centralized network architecture, Steem is completely distributed.
Mmmkay, but what does that mean?
For example, when you post or vote on reddit, the web browser running on your machine will send your action to some central computers (servers) operated by reddit staff. Other readers of reddit will fetch your content from these central machines.
This means reddit may decide to alter the content or selectively hide it from some or all users (censorship). Your content becomes unavailable if reddit's servers go down and it's lost forever if reddit goes bankrupt or is terminated for any reason.
Now, don't get me wrong, I don't have anything against reddit and they're probably not doing any of this. It's just that in a technical sense, there is no reason they couldn't. And reddit is just an example. This is also how facebook, google, imgur and most websites and services you know operate.
Now, let's compare that to a distributed architecture, like Steem.
See how there are no central computers (servers) in there? It's because all the computers that power the network are operated by the users themselves. Anyone can download and run steem (node), connect directly to other users and send or receive content. There is no central authority that could alter, filter or lose your content.
Of course, the diagrams are a bit oversimplified and steemit.com itself is a centralized website. But it's your choice whether you want to trust the guys running it to not mess with the content in exchange for the convenience the website provides. You can always run your own steem node and exchange content back and forth with other users directly, or even verify that the content you post to steemit.com is indeed broadcast and available to all users of the network.
So we've seen how Steem provides a democratic, censorship-resistant platform by utilizing a distributed architecture, where each and every user has equal authority over the network.
But this also raises some questions: How can you enforce any rules in a distrubuted network like that? If everyone has equal authority, what stops anyone from running their own steem node and broadcast to everyone that they have a zillion Steem Dollars? How can you enforce any limits for posting or voting? How do you make sure every user has an identical picture of the posts, votes and balances?
This is the problem of distributed consensus. Stay tuned, we'll get to it in the next post if there's interest.
interesting concept, but bigger social media does not 100% centralized, they running several server in several country to decrease ping so their member can acces their website faster.
But all of those servers are controlled by a single authority.
Thanks for a good post.
I'd to see diagrams of the web3 part which is probably not centralized (subject to DDOS attacks many times) and what is and isn't stored in the blockchain (eg files, etc)