Scaling Crypto Apps Not Infrastructure
By Breck Stodghill
With traditional cloud deployment, software apps are able to auto scale their infrastructure to support increased usage. For startups that achieve product market fit this is critical because it means they can more easily provide their users with a high quality of service without having to physically manage their underlying infrastructure. In other words, a startup’s users are insulated from the physical requirements of running the app as it goes from hundreds to thousands to millions of new users.
Crypto apps don’t have this luxury. Unlike cloud platforms like GCP and AWS, general purpose crypto networks do not provide auto scaling as a feature. The ability of a crypto app to respond to increased user demand is constrained by the resources of its underlying network. And as we’ve seen, it only takes a modest level of adoption of a single app to actually degrade its quality of service for its users because the costs to use the app increase. For instance, as more traders want to use Uniswap, they begin to compete with one another over Ethereum blockspace and end up paying higher transaction fees to use the app. In order for crypto apps to be able to reach billions of users this must fundamentally change.
In traditional cloud there are two ways to scale an app: horizontally or vertically. Horizontal scaling refers to splitting the app workloads across multiple machines to gain performance through parallelism. Vertical scaling refers to running the app on a beefier machine with higher CPU, RAM, or disk space. While it’s early, we’ve actually seen some crypto apps try methods of scaling that look like these two familiar approaches.
Horizontal Scaling (General Purpose)
We’ve seen some crypto apps attempt to horizontally scale by deploying to multiple, general purpose chains. But attempts at horizontal scaling have not meaningfully moved the needle for crypto apps. For example, Aave V3 was first deployed to Ethereum Mainnet but has since deployed to Optimism, Arbitrum, Polygon, Harmony, Fantom, Avalanche, and Metis. Uniswap has followed a similar trajectory. But unlike cloud horizontal scaling, the multichain deployment of an app does not create a true load balancing effect. Instead, crypto horizontal scaling feels more like restaurant franchising where brand and user experience are shared, but separate liquidity and networks result in very different product outcomes. In practice this strategy has been minimally effective. The majority of usage continues to occur in the initial deployment context.
Vertical Scaling (Customized)
In contrast, we’ve seen some crypto apps attempt to vertically scale by delegating more of their custom app logic offchain and only using the underlying network, where resources are most expensive, for the most critical logic. By delegating more logic offchain, the app is able to leverage a “beefier” compute engine. That offchain logic might manifest in the form of a rollup, a sidechain, a validium, or simply a checkpointed data structure. The more logic you defer offchain the more performance you can get, but the more decentralization you trade off (assuming that offchain compute is more centralized). dydx is a good example of an app that’s attempted to vertically scale having first been deployed to Ethereum Mainnet, then StarkEX, and is now working towards its own appchain. Zora is now running a similar playbook by expanding from Ethereum Mainnet to its own L2. In both cases, the app first achieved product market fit on Ethereum, but needed to get creative with how it used Ethereum’s blockspace in order to continue to grow and provide high quality services to its users.
Don’t get me wrong, I’m excited about the many teams that are laser focused on researching and building horizontally scalable, general purpose blockspace, but I think it’s time that apps currently dealing with scaling bottlenecks take matters into their own hands and push the boundaries on more custom, vertical scaling approaches. As a founder the top priority is to provide a good product to your users. For many crypto apps, I believe that trading off aspects of centralization to increase your user base and build a better product is not only sensible but well worth the endeavor.
This piece was also published here.
This post is for informational purposes only, and does not constitute a recommendation to buy or sell securities or to pursue any particular investment strategy. This post should not be relied upon in evaluating the merits of any investment or any particular investment strategy. You should consult your own advisers as to business, financial, tax, legal, and all other related matters concerning any investment. The views expressed in this post reflect the current opinions of the authors and do not necessarily represent the opinions of Haun Ventures Management LP or its affiliates. Certain information in this post may have been obtained from third-party sources, including portfolio companies of Haun Ventures. While taken from sources that the authors believe to be reliable, Haun Ventures has not independently verified the accuracy of such information. Content is as of the date posted and subject to change without notice. Haun Ventures makes no representations about the enduring accuracy of information or its appropriateness for any given situation. Please see https://www.haun.co/disclosures for additional important information.