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.
We recently released the third and final version of the Koinos testnet, which is why I want to talk about something few projects like to talk about: Building blockchains is development hell. In this article, I’ll explain why and how other developers can avoid getting stuck in it.
At first blush, building a blockchain doesn’t sound so hard. A blockchain is just a combination of well-established cryptographic primitives, which, when properly implemented, allow for the construction of a ledger containing a verifiable history of transactions by a network. The more decentralized the network, the more trustworthy the history.
Blockchain “frameworks”
In an effort to make building new blockchains easier, other teams have released blockchain “frameworks” that, in theory, should eliminate the need for developers to worry about building the blockchain itself so that they can focus on whatever unique features they want to build into the blockchain. Cosmos, EOSIO and Polkadot’s Substrate are examples of such blockchain frameworks.
When our team stopped working on Steem (the world’s first fee-less blockchain), our original intention was to leverage an existing blockchain framework to build a blockchain designed to be as accessible as possible. We had spent four years refining Steem’s fee-less design and figured that, by porting that solution into an existing blockchain framework, we could deliver a blockchain that was far more accessible than any other blockchain in relatively little time.
Related: Inside the blockchain developer’s mind: Proof-of-burn blockchain consensus
Truly fee-less and general-purpose
But we were surprised to find that none of the existing frameworks allowed us to create the kind of truly feeless user experience we were looking to bring to the market. We didn’t just want to remove fees on a technical level, we wanted to empower developers to build applications that were free to use. They also lacked a number of other features we believed were required to deliver an acceptable developer experience.
The power of a general-purpose blockchain stems not from the features the blockchain engineers build into the blockchain but from the features that developers add to that blockchain as smart contracts. This is doubly true for a blockchain framework that should really be the most general-purpose blockchain imaginable since the whole idea is to allow people to build any kind of blockchain they can imagine. And yet, the existing frameworks failed to empower us, one of the most experienced blockchain development teams, in our attempts to build the blockchain we wanted to build in multiple ways.
The existing frameworks not only made it impossible for developers to create free-to-use applications, but they also forced developers to learn...
March 20, 2022