How to Choose the Right Blockchain for Your dApp
Written by Mark Jonathas
Reviewed by Logan Ross
At its most basic, blockchains are a great infrastructure tool for developers to decentralize their data storage needs. As a system, blockchains provide developers with the ability to distribute their applications securely, without the need for trusted central intermediaries.
Blockchains can be used for many different applications, and, as a result, there are many different types of chains that optimize for various applications. Each type of chain is slightly different. As such, it is important for developers to understand the differences, so they pick the blockchain that’s right for their needs.
This article will discuss the main differences between the major blockchains, and the reasons why developers choose one type of chain over another.
7 Questions to Ask When Choosing a Blockchain to Build On
In the process of deciding which blockchain platform to use for your project, there are at least seven factors that you should consider as a developer:
1. How much throughput does your dApp need?
Depending on the type of project you’re developing, the range of transaction throughput required can vary heavily.
If you’re building a DeFi game, for example, one that requires users to make thousands of daily micro transactions, you’ll need a blockchain that has high throughput, and low gas fees.
But if you’re running a DAO that will only make the occasional transaction, ease of collaboration might be a more important factor.
The important thing to consider is how a blockchain protocol will scale with your dapp. When you are just getting started, low transaction throughput might be sufficient, but as you scale, it might eat away at your profits, or upset your customers.
So before you make a decision, it’s important to consider the long-term cost and speed of building on a particular chain. Developers should consider both the scalability of the mainnet, and the availability of Layer 2 networks.
The Ethereum network, for example, has low transaction throughput, but there are multiple Layer 2 networks being built on top of it with much higher throughput. The 2nd Layer is designed to give dapps the security of a robust blockchain ecosystem with the scalability of a faster consensus mechanism.
2. Which blockchain provides the level of developer resources needed?
Because blockchains are a relatively new technology, the resources available to developers can make a big difference. Many blockchain protocols provide developers with external tutorials and guides, or create group chats and forums so that developers can learn from each other.
But the quality of these resources can vary. Before you get started on a chain, take some time to familiarize yourself with the resources that a protocol has available.
For example, some systems are designed for easy composability, while others are not. Composability is the extent to which the smaller parts of a given application can be copied over and used in the creation of different applications.
Apps that are compatible with the Ethereum Virtual Machine (EVM), for example, can easily redeploy their dapp to other EVM-compatible blockchains.
The difference between starting from scratch and building from an ecosystem of existing tools and infrastructure can be enormous.
You never know what sorts of problems might come up in the process of building your dApp. So it's helpful to know that when these problems arise, you’ll have sufficient support.
3. Which blockchain ecosystems have the right conditions for your dApp's go-to-market strategy?
Some blockchains already have a very vibrant ecosystem, while others are still being developed over time.
If developers plan to build a dApp that relies on other dApps, for example, developing on a blockchain with a large ecosystem makes sense.
For example, if you are creating a dApp that aggregates liquidity across Decentralized Exchanges (DEXs), it is imperative that the blockchain that you choose has multiple DEXs for you to aggregate liquidity.
In contrast, if you are attempting to build a product that doesn’t exist on some blockchains, it can be beneficial to choose a blockchain where this application would have no competitors.
Of course, developers do not need to settle for a singular blockchain ecosystem, and numerous protocols have grown successfully across multiple ecosystems.
4. What programming language does the blockchain use?
The complexity of developing on a given platform can range significantly. Some blockchains require developers to learn new programming languages altogether, while others standardize the process.
For example, experienced Rust developers may find the Solana blockchain accessible, as its main language is Rust. In contrast, Ethereum and the EVM ecosystem is centered around Solidity. Developers who want to build on EVM learn Solidity, as it is not extremely different from JavaScript.
Of course, this is not always an option. Because any developer team will have a range of skill levels, the ease with which novice developers can get started can matter greatly.
Considering the composition of your team, and the resources you have available, can help inform your decision on which blockchain to use.
5. What incentives exist for building on the blockchain?
Some blockchain projects incentivize developers with programs that reward loyalty and pay developers for their contribution to the network. For example, some blockchains provide incentives for bug detection and forum responses.
Other blockchains reward developers through staking opportunities, and by allowing projects to earn money by bringing customers to the platform.
In some cases, it can be smart to build alongside a smaller chain with high-growth potential, so that teams can share the rewards of mutual growth. For others, it’s simply better to pick an ecosystem that’s reliable.
6. Is the blockchain compatible with your existing developer tools & integrations?
After years of development, some blockchain tools have become the industry standard. For example, web3 toolkits like Hardhat and Foundry are very popular, as are certain crypto wallets, like MetaMask.
But not all of these tools work across blockchains. Hardhat and Foundry, for example, only work on EVM-compatible blockchains. In other words, developers cannot develop a Solana dapp with them, and instead, they must use a tool such as Anchor.
Similarly, the ease of integrating existing tools with a particular blockchain can vary drastically.
While many EVM-compatible blockchains follow the same integration structure, it can be different among blockchains that are not.
For newer blockchains or blockchains with poor documentation, integration may take a while to set up.
That said, the payoff of a tougher integration may be worth it if developers believe in the success of a blockchain in the long run.
7. Is the blockchain secure enough for your dApp?
In the context of blockchain, security can refer to a few different things. It can refer to both the decentralization of the network's nodes, and the finality of its transactions.
Decentralization is important because it can represent how hard it might be for an organization or government to shut down the dapp. To some developers, this is of the utmost priority. But for others, the foremost security concern is the finality of transactions. How likely is it that the blockchain you choose will fork, or reorganize, causing your users transactions to no longer be included on the blockchain?
The procedure for producing blocks can vary significantly, and some are more robust than others. So ensuring that the blockchain you choose has a strong security protocol can mean the life or death of your dApp.
There are also other security issues worth considering. For example: your blockchains ability to stay live, its vulnerability to Denial-of-Service (DoS) attacks, or any underlying issues with its consensus mechanism. While it might only count as an early warning signal, considering whether a blockchain has been shut down before, forked, or subject to extensive reorganization efforts can be an indicator of what’s to come.
In any case, take some time to research the history of the blockchain and consider how other dApps have performed on it in the past.
Choosing the Right Blockchain Platform
While picking the right blockchain protocol for a given dApp, developers should note the pros and cons of the various major blockchains:
1. Ethereum
Ethereum is a Layer-1 blockchain platform known for pioneering the concept of smart contracts.
Ethereum was launched in 2015 by Vitalik Buterin. Vitalik applied the principles of decentralization from Bitcoin to a virtual machine.
This insight allowed the Ethereum blockchain to become a powerhouse of innovations, with thousands of dapps developed for financial services, governance, treasury management, payments, exchanges, art, and more.
Ethereum had attracted the most value of any smart contract blockchain because of it's decentralized security.
Ethereum blocks last for 15 seconds, meaning settlement occurs in that time or less. Ethereum's block size is limited to achieve maximum decentralization, which makes transactions costly compared to some other blockchains.
Ethereum is currently supporting efforts to improve its scalability. A large portion of this process involved supporting the development of Layer-2 blockchains.
2. Arbitrum
Arbitrum is one of the most popular Layer-2 scaling solutions for Ethereum. Built and maintained by Offchain Labs, it uses a batching protocol called “optimistic rollups,” which optimistically treats all transactions as valid by default, before they are published to Ethereum.
This technique will allow Arbitrum to leverage Ethreuem’s security and decentralization while providing faster and cheaper settlement.
While it is part of the Arbitrum roadmap to fully decentralize, there are currently portions of the technology stack which are centrally controlled by the Arbitrum team. As the team iterates on their technology and becomes comfortable with it's viability, the entire stack will come under decentralized governance.
3. Optimism
Optimism is another optimistic rollup that posts its data to Ethereum.
Optimism also benefits from Ethreuem’s security and decentralization while providing cheaper and faster transactions.
By batching transactions, Optimism can scale the rate of transaction throughput one or two orders of magnitude greater than the Ethereum mainnet.
Optimism, like Arbitrum, prioritizes scalability and security over decentralization. It uses a system called the Optimism Virtual Machine (OVM), which is EVM compatible.
Optimism’s roadmap also contains plans to become more decentralized than it is currently.
4. Polygon
Previously known as the Matic Network, Polygon is a Layer 2 scaling solution launched in 2019 that helps make transactions on the Ethereum blockchain faster, simpler and more affordable.
As opposed to other Layer 2 solutions, like zkSync and StarkNet, Polygon works like a "swiss-army knife" solution, combining a number of tools to solve the problem of scalability. This means that it operates multiple chains—one that prioritizes transaction throughput and one that prioritizes security. Like Optimism, Polygon provides 100% EVM compatibility.
Polygon has one of the most vibrant ecosystems of all the Ethereum Layer 2 solutions which peaked at $9bn of TVL in 2021.
Polygon Labs also launched the beta version of its developer resource tool, Polygon University, and it runs a wiki that provides comprehensive documentation, community resources, and guides for developers.
5. Solana
Solana is one of the most popular alternative Layer-1 blockchains. Founded in 2017, it is an open-source project currently run by the Solana Foundation based in Geneva.
Solana is known for pioneering the concept of proof-of-history (PoH), developed by its founder Anatoly Yakovenko in 2017. PoH is a proof for verifying order and passage of time between events, and it is used to encode trustless passage of time into a ledger.
Solana smart contracts are written in Rust, which is appealing to developers who do not wish to learn EVM-compatible programming languages like Solidity.
Currently, Solana processes 3,886 transactions per second, which is attractive to developers who need frequent state updates for their dApp.
As one of the world's largest blockchain networks, Solana offers developers a flexible programming environment in which developers can use familiar languages like Rust, C, and C++. This makes it an attractive platform for those looking to develop high-performance decentralized applications.
6. Starknet
StarkNet is a permissionless Zero-Knowledge Rollup (ZK-Rollup) Layer-2 scaling solution built on top of the Ethereum mainnet by StarkWare Industries.
StarkNet was founded by Eli Ben-Sasson and Uri Kolodny to improve scalability and privacy using STARK technology.
StarkNet's ZK rollups increase the scalability of Ethereum's mainnet by “rolling up” multiple transactions into a single block, which reduces gas fees and speeds up transactions.
Smart contracts on Starknet are written in a programming language called Cairo. This means that developers looking to use the Starknet ecosystem will need to learn different developer tools but will receive Etheruem’s security, decentralization, along with scalability.
However, one advantage of building on StarkNet is that all wallets use account abstraction by default.
Conclusion
Before developers choose a blockchain for their dapp, it’s important that they understand the ways that blockchains can differ from each other.
Remember that dapps can be deployed across multiple blockchains and do not have to be restricted to a singular blockchain. That said, finding the right chain for your project can save you a ton of time, effort, and money, and be the difference between success and failure.
Related overviews
Learn About Coinbase's New L2 Blockchain, and Determine if its Right For Your dApp
Discover the Reasons Why Developers Choose to Build on Polygon
Discover Why Developers Choose to Build on Optimism