The buzz around blockchains is not just for cryptocurrencies, but also for sharing data securely and reliably in finance, healthcare, government, and many other fields.
This article reviews some popular blockchain frameworks and the considerations you should consider when choosing a blockchain framework — that is, the collection of software tools and services that let you implement a blockchain for your organization.
Although the concept technically originated in 2008 in conjunction with the release of Bitcoin, both blockchains and Bitcoin are firmly rooted in older technologies that have been circulating in the crypto community for some time. The blockchain is an innovative amalgamation of cryptographic proofs, digital signatures, and other well-established technologies.
The term blockchain hints at the unique architecture of this data structure. Whenever a participant in a blockchain adds some data, such as a transaction or a record, it creates a new block. The blocks are stored sequentially, creating the chain. Thanks to cryptographic digital signatures, removing or altering a block is impossible. This trait makes blockchains attractive for operations where provenance and immutability are critical, ranging from exchanging millions of dollars to reliably storing doctor notes on a patient's health visit or selling the rights to a piece of art through a non-fungible token (NFT).
Done properly, blockchains can eliminate control over data by a single organization, thus being more democratic than a conventional database and less subject to failure. The blockchain creates accountability and traceable activities because every transaction is stored permanently and can be checked by any participant in the blockchain. The blockchain can help enforce conditions for data use (through a novel concept called a smart contract) and automate activities that previously needed human intervention.
The blockchain is a novel technology in another way: it is simultaneously centralized and decentralized. It's centralized in the sense that it's unified around the chain and is indivisible (although there are ways to store different parts physically in other locations). It is decentralized because every member can copy it. By copying the blockchain, members replicate the data and make sure the blockchain will never disappear.
On the negative side, the linear operation of the blockchain — where only one block can be added at a time — creates contention between different users and slows down execution compared to more conventional data stores.
Driven by the trade-offs between decentralization, security, and speed, countless frameworks have emerged that take a variety of approaches to addressing these problems. Due to contention over adding blocks, one of the most important features of a blockchain is how people get access to adding blocks, a trait called the consensus algorithm.
Blockchains are a fast-moving area of technology. Month-by-month, you may discover new features on offer. Therefore, we suggest you look for the following characteristics when choosing a framework.
While modern frameworks have added many features to the original blockchain concept, the use cases built on top of blockchains have also proliferated. NFTs have already been mentioned, but we’re also witnessing a period of exponential growth in the adoption of DeFi applications (decentralized finance), blockchain gaming, digital fashion, and other consumer and enterprise applications.
Many of these applications are being driven by smart contracts. A smart contract lets you set conditions on the use of data: for instance, to limit the transfer of patient data to outside organizations. Then, whenever an application calls for legal restrictions, a smart contract can enforce them without human intervention.
There are additional nuances to the concept of a smart contract. For instance, can the recipient of a contract transfer rights to another recipient?
Another distinction between frameworks involves permissioned versus permissionless blockchains. The original blockchain concept was permissionless, meaning that anyone with the appropriate software could add and read blocks. A permissioned blockchain restores some of the control that was originally taken away to a centralized institution. The institution vets potential members and determines who has access to the blockchain.
Some blockchain frameworks support cryptocurrencies and the tokens that they exchange. Such support is understandable because the blockchain was originally invented for the Bitcoin cryptocurrency and because money exchanges are an essential part of many transactions and contracts. But not all frameworks include cryptocurrencies.
Many frameworks also include tools for working with blockchains, services that store and operate on the blockchains, and a currency for handling transactions. Ethereum, for example, has created an entire programming language for creating and manipulating a blockchain.
Therefore, your technical team must evaluate the features in each framework and decide which combination best fits your needs.
Evaluate the footprint that the framework adds to your application and the framework’s performance. As mentioned earlier, blockchains can be slow. Also, if the framework includes many features, functionalities, and dependencies you don't need, you could be wasting memory and storage.
Because so much is happening so quickly in the blockchain space, you should anticipate features and capabilities your team will need over the next few years in your applications. Can the framework meet those needs, now or through its evolution?
How long has the framework been in use, and does it seem likely that it will be supported throughout the life of your application? The most popular frameworks are maintained by very stable and highly trusted organizations, such as the Linux Foundation. Such stability can inspire your confidence.
It should go without saying that implementing a blockchain framework should be free/open source software so that the project can't be captured by one company or evolve in a direction that exploits its users. Most frameworks, luckily, are open source.
But an open source license does not guarantee an active and empowered community. Check the activity on forums and in the codebase to make sure that activity is frequent and represents diverse sources.
You also want to make sure that the community is friendly and open to all and that experts offer help when you have questions.
We'll review the strengths and weaknesses of several frameworks and point to other articles of interest that explain each framework in more detail.
Hyperledger is an open source community founded by the Linux Foundation in 2016. The code is stored on GitHub. Major domains covered by the project include finance, supply chains, and the Internet of Things (IoT). It’s a blockchain largely designed for enterprise use cases.
Many different projects are based on Hyperledger, each with its strengths and maintaining its own set of libraries, tools, frameworks, and interfaces. However, of the 15 Hyperledger projects that are currently active, the most important are:
- Hyperledger Fabric: Designed for creating highly scalable blockchain applications. It was created by IBM and is the most popular Hyperledger framework.
- Hyperledger Sawtooth: A blockchain suite based on the "proof of elapsed time” (PoET) consensus algorithm. Created by Intel.
- Hyperledger Iroha: A framework oriented to running on mobile devices and focuses on making the framework easy to build onto existing applications.
Advantages of Hyperledger:
- Modular architecture, which offers a plug-and-play interface that is easy to learn and use
- Support for smart contracts
- Strong community support, including active contributions from major companies
- Evolving rapidly
The disadvantage of Hyperledger: No support for cryptocurrencies.
The framework was initially designed for financial institutions. The purpose was to synchronize, manage, and control financial obligations between different organizations, thus reducing the costs of transactions and record keeping. Since then, the framework has been extended to insurance, healthcare, and digital assets.
Corda is an open source project written in Kotlin and Java, so it runs on the Java Virtual Machine (JVM). The JVM is available for virtually every computer platform.
Advantages of Corda:
- Permissioned ledger
- Supports smart contracts
- Supports a number of different consensus algorithms
- Strong community support
- High level of completeness for finance
The disadvantage of Corda: No support for cryptocurrencies or tokens.
Exonum was created by the Bitfury Group in 2017. The framework is used primarily in finance, government, and law. Exonum is a core element of the blockchain-based government land registry systems used in Ukraine since 2015 and Georgia since 2016.
Advantages of Exonum:
- Fast, processing about 5,000 transactions per second
- Supports both private and permissioned ledgers
- Strong community support, with frequent updates
- Supports cryptocurrency development
Ethereum is not strictly a blockchain framework; it could be more accurately described as a blockchain platform. The code is stored on GitHub. Created in 2015, Ethereum is the first blockchain platform ever developed and is currently the most popular and widely used.
Ethereum introduced smart contracts. Another feature of Ethereum is the Ethereum Virtual Machine (EVM), which allows developers to create decentralized apps (dApps) that run on Ethereum.
Advantages of Ethereum:
- Highly mature, with a large and active community of developers
- Permissionless ledger type
- Supports cryptocurrency, using a token called Ether
The disadvantage of Ethereum is that it uses the proof-of-work consensus mechanism, which is slow.
Blockchains are beneficial when people want to share data and undergo transactions with the confidence that the information will be stored permanently. Blockchains can be transparent, letting everyone view activity while controlling access and ensuring validity through smart contracts.
Blockchain frameworks offer tools to build a safer and more transparent internet. You can expect new frameworks to appear as this space continues to bloom.
As with any technology choice, your team needs to evaluate your organization's needs for now and the near future before choosing a blockchain framework.
Since blockchains often operate as de facto public ledgers, hosting private or sensitive data on chain can also be problematic for applications that are straddling decentralized and centralized information systems. Fauna provides a seamless, interoperable environment for your off-chain data needs. Fauna is a document-relational database delivered as an API — you don’t have to worry about any infrastructure operations, and it’s automatically globally distributed as your user base grows. Sign up for our forever free pricing plan and start building!