Fee-less system or flexible blockchain with smart contracts: What do you choose to build your DApp? Or you don’t need to choose at all?
Cointelegraph is following the development of an entirely new blockchain from inception to mainnet and beyond through its series, Inside the Blockchain Developer’s Mind, written by Andrew Levine of Koinos Group.
People use social applications daily, but despite all the hype around supposedly “next-gen” blockchains, none of those social applications are decentralized. Let’s unpack why, using two blockchains as a reference: Ethereum and Steem.
Ethereum has far more developers than any other general purpose blockchain, and yet none of those developers have managed to build a social application with mainstream adoption. At one time, Steem was one the most widely used blockchains of any kind in the world, making it also one of the most used social DApps in the world, with a market capitalization that reflected this with an all-time high of about $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?
Stay tuned for the next article in the series to find out more!
This article does not contain investment advice or recommendations. Every investment and trading move involves risk, and readers should conduct their own research when making a decision.
The views, thoughts and opinions expressed here are the author’s alone and do not necessarily reflect or represent the views and opinions of Cointelegraph.