Flexible blockchain with smart contracts or fee-less system: Which one do you prefer to build your DApp from? You don’t even have to make a decision.
Social applications are used daily by people. However, despite all the hype surrounding supposedly “next generation” blockchains, none social applications are not decentralized. Let’s look at why using Steem and Ethereum as a reference.
Ethereum is home to more developers that any other general-purpose blockchain. Yet, none of these developers has been able to create a social app with widespread adoption. Steem was the most used blockchain in the entire world at one point, making it one of the most popular social DApps in with a market cap of around $2 billion.
Steem was able to grow extremely fast and onboard hundreds of thousands of ordinary users, but never received the level of developer adoption that Ethereum did, and ultimately failed to live up to its potential. How and why this happened is a valuable lesson about building both DApps and blockchains.
Ethereum: A general purpose blockchain
When Steem was being built, Ethereum was the only viable blockchain that a developer could use to build their DApp without forking and modifying the code of an existing blockchain like Bitcoin.
Thanks to Ethereum, instead of having to build a blockchain from scratch just to support some specific application (like a social network), the developer could just write up the code needed for their application and upload it to the Ethereum blockchain as a “smart contract.” This would enable the developer to piggyback off of all the hard work already done by the Ethereum blockchain developers and focus on their application.
Allowing developers to upload code to the blockchain created infinite possibilities, including the possibility to upload code that uses up all the network resources making it useless. Some limit had to be imposed on this “limitlessness.” To solve this problem, Vitalik Buterin invented “gas” — a decentralized system for charging a fee to execute code on a blockchain (Ethereum).
The fee-based design of Ethereum was brilliant and set the direction of general purpose blockchain design for a decade with nearly every subsequent blockchain implementing some variant of gas.
The genius of Ethereum is that it gave developers access to a limitless (“Turing complete”) programming language. The genius of gas is that it created a decentralized limitation on what developers could do with that language. It is this underlying conflict (limitless v. limited) that explains why there are still no mainstream social DApps on Ethereum.
The Steem developers took a fundamentally different approach than Ethereum. They built a very basic blockchain (a “framework”) named Graphene that they could easily transform into a specific social blockchain (an “application-specific” blockchain).
In addition to social features, the Steem developers experimented with a system for regulating network usage that was fundamentally different from gas. In short, it was fee-less.
When Steem first launched, a lot of people said it was a scam precisely because of its fee-less “bandwidth” system. They believed that since Bitcoin and Ethereum had fees, a blockchain without fees was bound to fail.
While the bandwidth system Steem launched with was far from perfect, by offering social features and allowing users to transact for free, Steem quickly became one of the most valuable blockchains in the world, and by far the most used … but it ultimately never really competed with Ethereum.
Smart contracts rule
The reason Steem was never able to rival Ethereum, to many people’s surprise, had nothing to do with its fee-less model, which the core developers continued to refine over the years and which is still in operation to this day.
Steem never rivaled Ethereum for the simple reason that Graphene (the blockchain framework it was built on) lacked smart contracts. Graphene made it easier to launch blockchains with specific features, but it was by no means “easy” and changing those features or adding new features was incredibly difficult, unlike Ethereum, which allows any developer to upload any code they want, whenever they want.
From this perspective, the solution becomes obvious. If we could combine the fee-less system developed for Steem with the flexibility of a blockchain with smart contracts like Ethereum, we could give developers the best of both worlds enabling them to create free-to-use applications with the freedom to add new features whenever they want! Simple, right?