Application-Specific Blockchains: Addressing the Shortcomings of Smart Contracts
Most dApps today are built on top of an existing blockchain such as Ethereum, using smart contracts as a simple and easy way to develop these decentralized applications. But what if instead of the application layer of a blockchain being a virtual machine with dApps built on top of it, dApps could be developed as the application of the blockchain itself? This alternative form of architecture is known as application-specific blockchain.
So what exactly are application-specific blockchains, how do they address the shortcomings of smart contracts on virtual machine blockchains like Ethereum, and what other benefits do they have to offer?
Understanding Application-Specific Blockchains
Application-specific blockchains are customized to operate a single application only, rather than hosting many of them. These chains have received little attention until recently as they were harder to deploy than smart contracts, with developers needing to build the networking, consensus, and application layers of their own chain.
Now, with solutions like Tendermint and the Cosmos-SDK, building an application-specific blockchain has become significantly simpler, requiring module coding rather than building from scratch. Tendermint is a core contributor to the Cosmos Network that packages the networking and consensus layers of a blockchain into a generic engine, freeing up developers to focus on application development rather than the underlying protocol, hence saving hundreds of hours of development time.
Building a secure application from scratch remains challenging, but that’s where the Cosmos-SDK comes in. It provides a generalized framework, simplifying the process of developing secure blockchain applications on top of Tendermint using ready-built composable modules that can be imported into blockchain applications.
Application-specific blockchains built on Cosmos can then be connected through the Inter-Blockchain Communication protocol (IBC), allowing the chains to transfer value and data between each other, solving historical scalability issues by creating a decentralized internet of blockchains that can also bridge to non-Tendermint chains like Ethereum.
Onomy Protocol provides a layer 1 application-specific blockchain, built on the Cosmos ecosystem, suitable for institutional and retail usage to mint, trade, and lend stablecoin representations of fiat currencies, called Denoms. In contrast to developing a blockchain that dApps build on top of, Onomy builds financial products that can be accessed by members of its ecosystem.
The ability to deploy in-house products is a demand of many enterprise and institutional users. Instead of having to write and deploy a smart contract reliant on oracles and on-chain data, the Onomy Network supports Enarx Keeps — a deployment system that allows apps to run within Trusted Execution Environments, requiring little rewriting and facilitating cutting-edge performance. Consequently, the Enarx Keeps is a fundamental part of the Onomy stack that will provide secure and confidential deployment of institutional applications that are able to operate cross-chain with any data feed. This allows Onomy to combine the speed and security of user controlled hardware with the high throughput and low latency of a dedicated Cosmos chain, building the optimal DeFi infrastructure for institutional-grade usage.
Addressing the Shortcomings of Smart Contracts
Before virtual machine blockchains like Ethereum, options for building decentralized applications were limited. Virtual machine blockchains ushered in a new era of programmability by being able to interpret the Turing-complete programs that became known as smart contracts.
Smart contracts are great for certain use cases with simple events like token sales but are less suitable for building complex decentralized platforms. They lack flexibility, requiring more immature programming languages that the virtual machine can interpret. With only a limited set of functions for cryptographic operations made available, security is also impacted by potential bugs or exploitable mechanisms in the underlying architecture.
As all smart contracts on such blockchains use the same virtual machine, competition for resources impacts performance, causing high fees and usability issues during peak periods as the network struggles to scale. By relying on smart contracts deployed on a shared blockchain, stakeholders also have limited sovereignty over the dApp, superseded by the governance of the underlying blockchain.
These shortcomings are addressed through the use of alternative application-specific blockchains, resulting in several benefits.
Benefits of Application-Specific Blockchains
Application-specific blockchains provide far higher levels of flexibility as developers can build in the programming language of their choice. They can also choose between multiple frameworks, including the Cosmos-SDK, Lotion, Weave, and others, based on the language preferred. Further, the consensus engine of application-specific blockchains can be swapped out or customized to meet dApp needs, freeing developers up to balance the validator set, throughput, safety, availability, and design trade-offs. Developers can also deploy automatic implementation of code and choose the cryptographic library used by the application, not possible in the case of virtual-machine blockchains.
As an application-specific blockchain, decentralized applications can optimize performance without being capped by the underlying environment. They can use novel consensus mechanisms like Tendermint BFT or Onomy Protocol’s Equity, offering significant gains in performance compared to the proof-of-work systems used by most virtual machine chains today. Operating as a single application-specific blockchain, there’s no competition for resources, meaning performance isn’t hampered by a shared environment. Additionally, by removing the need for transactions to be interpreted by a virtual machine, the computational complexity in processing them is removed too, avoiding bottlenecks in throughput.
As developers of application-specific blockchains can choose proven programming languages like Golang and Javascript rather than more immature smart contract languages, dApp security can be improved. Unconstrained by the limited cryptographic functions of an underlying virtual machine, custom cryptography and well-audited libraries also reduce bug and exploit risks.
Finally, a key benefit of application-specific blockchains is sovereignty, ensuring the dApp community controls the governance process. This contrasts with the separation of application and underlying blockchain communities in shared virtual-machine networks, whereby governance of the application and the network is not necessarily aligned. It means that dApp developers will not be stuck if a bug is discovered in the underlying blockchain while giving the community the freedom to decide on the future direction of the protocol, opening the road to true decentralized autonomous organizations (DAOs).