Making Blockchains Suck Less
A pragmatic view of the blockchain landscape.
Blockchain Use Cases
Let’s first discuss some use cases.
I bucket them into two main categories - financial and non-financial.
Financial of course being crypto-related. Non-financial being data and infrastructure-related (closer to how we might use a traditional database).
Beyond financial use cases, what excites me the most has to do with composable, public data and infrastructure.
Developers are using decentralized networks as open APIs that are not controlled or owned by anyone.
Like Open Source Software (OSS), we now have Open Source Infrastructure (OSI).
Open source software was revolutionary because it allowed developers to easily share, fork, and reuse each others code.
Open Source Infrastructure does the same, but with data, backends, and APIs.
Challenges for blockchain adoption
The main challenges for blockchain adoption are
2. Accessibility (cost)
3. User Experience
Some of these are not exclusive. i.e. user experience, security, and accessibility often overlap.
is a solved problem in the centralized tech stack.
At AWS where I worked for over 3 years, it was trivial for anyone to spin up a database like DynamoDB that can scale up to tens of millions or, yes, a hundred million operations per second in a well-built system.
Blockchains are an order of magnitude less scalable today.
Blockchains are also not 1 to 1 comparisons to a database, the use cases are usually different. That being said, we need to at least get closer.
Did you know that even the most performant decentralized blockchains being used in production today can only handle up to a few thousand transactions per second?
If you're reading this you probably did know that! But it's worth pointing out.
This is not a knock against the industry, it's just worth acknowledging where exactly we are today.
Fact: It costs money to send a transaction to a blockchain.
Yes, reading data is free, but writing data is not.
Imagine telling someone they would have to pay every time they liked a TikTok or posted a photo to Instagram.
In addition to that, getting tokens is a huge process and challenge in and of itself for most people in the world.
The smartest people in the room have already realized this does not make sense for most use cases outside of financial applications.
User experience and security
Wallet UX is unforgiving and rough.
Users have to sign a transaction every time they need to take an action.
There are huge improvements that we're already seeing though.
As I'll touch on later, relayers and dispatchers allow users to have seamless interactions as they would with any normal "web2" application.
When I used Phantom wallet for the first time I was blown away at how good it was, better than anything I'd used in or outside of crypto.
What are the solutions to these challenges?
The ones I care the most about have to do with scalability and accessibility, so those will be what I focus on the most.
To scale we need innovations around infrastructure design, and to enable faster and easier experimentation.
Execution environments and VMs
Parallel processing might be the next step in unlocking performance at the VM level with Fuel, Sui, Aptos, Solana, and Linera all lining up to alleviate one of the largest bottlenecks to the throughput of a network - sequential execution of transactions.
In addition to parallel processing, VM improvements will be unlocked as blockchains move towards a modular architecture and are not bound to a single implementation, but instead can create, fork, and experiment with variations of different virtual machines.
These improvements could be seen as scaling vertically in that the focus is on the performance & processing power of the environment itself.
Innovation and experimentation with data storage
Nova is a new network launched by Arbitrum with a focus on cheap and fast transactions.
Rollup calldata is large and expensive. Instead of posting calldata to Ethereum like most rollups, Nova uses a data availability committee.
The committee signs data availability certificates for batches of transactions and only these certificates are posted to Ethereum.
To keep data available, the committee runs data availability servers which expose an API that allows data to be fetched by hash.
This enables Nova to maintain a much lower cost than other similar optimistic rollups, coming in at a fraction of a penny per transaction as of this writing.
This is of course a compromise in decentralization, but for many use cases like social networks and games, it actually makes a lot of sense.
Reddit recently chose Nova for its Community Points program, allowing developers to build gaming, social, and other applications that make use of Reddit’s token.
Modular Blockchains that offload the data availability and consensus to a completely separate layer also accomplish similar results without a compromise in decentralization, and are something I'll cover more later.
Relayers and gasless transactions
If we want the other 99% of the world to use our applications, we can't expect all of them to go through the process of onboarding via exchanges and banks just to get started.
Tools like Biconomy allow developers to build applications that are free for their users to use, with meta / gasless transactions enabled via a relayer.
A great example of this in practice is Lens Protocol, which in addition to enabling gasless transactions, also added a dispatcher that allows users to seeamlessly interact with the network without having to sign for every minor update.
"We believe the mainstream will come by interacting with the blockchain with non-financial transactions, and some later users will become active or passive DeFi users.
Blockchain technology is not only for finance, there's actually a lot of doors that it's opening and magnificent use-cases that are empowering our communities."
Most blockchains today are monolithic, usually with a shared execution environment.
Monolithic blockchains are blockchains that are responsible for all core functions - execution, settlement, consensus, and data availability.
Modular blockchains are blockchains that outsource at least one of the core functions of a blockchain.
In the case of Celestia, it is only responsible for data availability and consensus.
A modular chain has shared security, enables launching a new chain without bootstrapping a new consensus network, and scales without increasing node requirements.
Modular Blockchains unlock a handful of additional powerful scalability improvements that are too deep for me to go into in this post, but I've written about here if you'd like to learn more:
Mental Modal of modular blockchains
Or this thread from Nick White:
Modular execution layers
There are also execution layers like Fuel innovating with vertical scalability improvements like parallel execution, while also building specifically for the modular future.
Application specific chains
We're also starting to see more teams and applications going the route of building their own application-specific blockchain.
Like I mentioned earlier, most blockchains are monolithic and share an execution environment with all of the other applications running on that network.
This means that not only do all applications share the same execution environment & resources, all of the users of every application also share the same execution environment & resources!
This is akin to me building a new application on AWS, and instead of using my own server, Serverless execution environment, or virtual machine, I decide to share a single server with hundreds or thousands of other applications.
Of course this would not make sense because I could just as easily spin up my own virtual machine and even set up my own custom environment with everything I want to start building my application.
What if we could just as easily do this the next time we wanted to build a new blockchain application? What if it was just as easy to deploy an application-specific blockchain as it was to deploy a smart contract?
This would give us the scalability properties of horizontal scaling while still inheriting the vertical scalability improvements happening at the virtual machine.
With the success of so many different blockchains, it's become apparent to that we're headed to a multi-chain future.
Developers can already easily spin up their own application specific blockchain using the Cosmos SDK and Ignite or test out application-specific rollups on Celestia with Cosmos and Optimint.
As we saw with DYDX, this made sense for them, for a variety of different reasons.
With modular blockchains like Celestia, you'll be able to easily spin up and launch not only a Cosmos-based chain, but one with any execution environment and language you'd like to build with.
In addition to this flexibility, you’ll also be able to benefit from the vertical scalability improvements made available at the virtual machine level. Combine that with shared security and scalability enhancements made possibly by data availability sampling, and we’re now talking about a paradigm shift in blockchain performance.
Thanks for reading.
If you liked this post, please subscribe to my newsletter here: