If asked, what is the best framework for blockchain development it will be very hard to get the answer immediately. The longer people are engaged in research and development in the blockchain field, the more tools and solutions occur, and sometimes it can be really hard to pick an appropriate one. Due to a number of blockchain application possibilities, and various fields of its usage, type of the framework should also change.
First of all, let’s establish the purpose of your project. If the aim is to make a blockchain app based on the public network, so bring the attention to Ethereum, Tezos, EOS and Tron.
|Name of the platform||Network type||Consensus mechanism||Pricing||Supported technologies for node||Supported technologies for smart contracts|
|Ethereum||Permissionless||Proof of Work||Transaction fees in ETH (based on gas used)|
Python, Go, C++
|Tezos||Permissionless||Liquid Proof of Stake||Transaction fees in Tez|
|EOS||Permissioned||Delegated Proof of Stake||Free to use||C++||C++|
Good old Ethereum is one of the best and reliable solutions on the market. Ethereum blockchain is an open source, permissionless platform that allows building of decentralized apps and decentralized autonomous organizations(DAOs).
Ethereum is well-known for being the pioneer in introducing smart contract mechanisms to the world. The implementation of this mechanism is possible thanks to the work of Ethereum Virtual Machine (EVM) which ensures the run-time environment for smart contracts. It creates a chain, where every node has to execute a smart contract on its own copy of EVM.
Ethereum 1.0 took main ideas of Bitcoin as a base, so it uses the proof-of-work consensus as well. It also has its own tokens (ETH) which are utilized within the network in order to pay off transactions and following services. Ether is also considered as being the second largest cryptocurrency by capitalization after bitcoin. Despite such common usage and excellent smart contract mechanism, Ethereum has a big scalability issue and offers very low transaction speed while fees remain high. Those are common problems regarding PoW consensus which can be found among other PoW based platforms as well. Yet, it is worth mentioning, that Ethereum platform is experiencing its revolutionary phase right now and is going to release the renewed Ethereum 2.0 in the very near future.
The biggest update and challenge at the same time, is its switch to the proof-of-stake consensus mechanism. In other words, Ethereum 1.0 will be fully “swallowed” by Ethereum 2.0 what means leaving PoW long away. The release of such huge change should be implemented gradually and smoothly, that is why it has been prolonged a couple times since January 2020. The other reason for this, is that Ethereum blockchain is a home for millions of smart contracts and dApps which makes it hard to insert the renovation without any harmful outcomes for users.
The new consensus mechanism will be driven by validators with the obligation to stake in with a certain amount of ETH. When the new block occurs, the system will assign its solving to a random validator. As soon as the block is produced, the chosen validator will be reworded with a certain amount of tokens. The new PoS system is going to have a number of improvements, and security is one of such. In this type of consensus, the user will lose the staked money, in case he decides to harm the system. The other advantage of PoS is its relative simplicity of usage and lack of dozens of computing machines for tokens’ mining – the ordinary laptop will be a good fit instead. With the implementation of the above, Ethereum may become a perfect blockchain framework for nearly every demand on the market.
Tezos is a decentralized and so-called self-governing blockchain platform. One of the main distinctive and unique features of Tezos is the ability of amendment without necessity to fork the network into two different blockchains. Thanks to such mechanism, Tezos blockchain allows to “soften” the hard fork while creating a vote on the chain on the proposed amendment. Those processes happen smoothly and systematically, so that users do not “feel” hard changes.
Tezos has its own tokens called tez (XTZ), which in contrast to the previous example, are not a subject of mining and traditional proof-of-work mechanism. Another unique feature of this blockchain is its consensus method, which represents a delegated proof-of-stake method but with a different, unnecessary obligation of delegating the ownership. So, unlike traditional DPoSs, in liquid PoS of Tezos, ownership transfer is optional and can be canceled, if the holder suspects fraud or does not trust this delegate any more. In such case the owner can delegate its rights to another user or to vote on his own behalf. Such system combines direct and representative forms of policies which is more pleasant for minor groups within the chain.
In order to run a smart contract on Tezos, programmers need to know the functional programming languages (Michelson in this case). Declarative programming languages are often used for nuclear or aerospace fields, where functional approach to problem-solving is required. In case of blockchain framework, functional programming helps to insure a high level of security and easier process of changes’ tracking due to consistent tasks performance.
EOS is an open source blockchain platform which allows to deploy dApps through smart contracts, as well as store decentralized solutions. Being a newer version of blockchain and stepping ahead of its predecessors, EOS is aimed to be free of charge and highly scalable network.
Unlike previously discussed frameworks, EOS eliminates transaction fees while giving the possibility of using its resources in proportion to the stake part of the owner. In other words, a user which holds X amount of tokens can perform the same amount of transactions on EOS. The main goal of such model is to provide obvious and predictable transaction “costs” which is extremely helpful, for instance, in case of dApp testing or low-cost deployments.
Most of the older blockchain ecosystems somehow face the scalability problem, which is not an issue in terms of EOS. Due to its relatively new consensus mechanism called delegated proof-of-stake it is able to perform thousands of transactions per second. It is possible because any holder is able to produce a certain amount of blocks, which is proportional to the number of votes the holder receives. DPoS mechanism can be also described as a more democratic one, because any owner of EOS tokens can take part in validators approval. Above, great speed of transactions on EOS is supported by a parallel processing technology which ensures instruction division between separate, multiple processors.
Another EOS advantage lies in the programming language it is adapted to. Harmonization with C++ allows developers to deploy more complex algorithms with more difficult dApps logic while giving the possibility to implement deep code changing. Moreover, this particular language helps to perform those changes in a faster and easier way.
Yet, despite all the benefits DPoS offers, its usage may lead to some disadvantages of the system. As far as, there are only 21 block producers allowed to approve transactions at one time, some people might call EOS a more centralized platform that it wants to be.
Tron supports dApps deployment through smart contracts and has a 3-layer architecture which are: storage layer, core layer and application layer. As a base, Tron uses DPoS consensus mechanism which ensures effective real-time voting and fast transaction speed. This kind of consensus model is also highly resistant to deleterious attacks and frauds.
The mechanism of Tron DPoS is slightly different from the EOS one, which makes it unique and competitive. In the Tron model, a certain number of nodes are selected by users who act as network validators. This helps to keep better scalability and fast throughput of the network on the high level.
One of the main advantages of Tron is its total compatibility with Ethereum thanks to the same smart contract technology usage. The alternative of using Tron is also very attractive because of lower transaction and maintenance costs, in comparison to early mentioned Ethereum. It was considered as the “PoS for Ethereum” for a long time, but it might change soon, with the introduction of 2.0 version.
In Blaize, we are experts in deploying an own, private blockchain, and the best fit for this is Hyperledger Fabric, R3 Corda, Substrate and Tendermint.
|Name of the platform||Network type||Consensus mechanism||Pricing||Supported Technologies for node||Supported technologies for smart contracts|
|Hyperledger Fabric||Permissioned||Pluggable Framework||Open source||Python||Java, Go|
|Substrate||permissionless||Adaptable||Open source||Rust||Any compilable into WASM language|
|Tendermint||permissionless||PoS with BFT||Open source||Python, Go, C++, Rust, Wagyu||Any compilable into WASM language|
Fabric is one of six Hyperledger’s frameworks for deploying a blockchain and according to our experience and thoughtful analysis is the best out of this family. Hyperledger Fabric represents a platform which enables to build a blockchain-based solution using a modular architecture. Due to modularity, developers can add unique specific features to the platform and change it accordingly to their certain requirements. Simply, the user is able to build his own ledger by taking different parts of the code as a base and constructing a new blockchain.
Fabric is a permissioned network which means that only authorized users are allowed to go into the system. In order to achieve that, participants need to ensure a certain amount of capital to confirm their identity. Due to authorized type of engaging, Fabric makes a perfect fit for the enterprise blockchain building. In case of banking or fintech sector, the ability of users’ approval and lack of anonymity are crucial for well-functioning. Keyed quires and HSM (Hardware Security Model) which ensure higher level of systems’ security are also among Hyperledger Fabric advantages.
Another important feature of this type of framework is that it is a pluggable network, meaning there is no Pow or PoS behind. Such consensus solution brings a lot of benefits in terms of network scalability and performance speed. Thanks to luck of miners or validators users do not have to wait for transaction (or any other action) approval while modularity helps to adjust this process to individual needs and build it in a way convenient for a client.
Corda enables building blockchain-based solutions and has been designed as a DTL with particular emphasis on the decentralized finance sector. Moreover, Corda is a consortium, which is, in this case, an association of more than 300 entities with the aim of pooling their resources and achieving common goals. If asked, whether Corda is a blockchain, well, R3 is a company using blockchain technology as a basic solution. Corda is an ecosystem built by R3 in order to create a pleasant environment for safe and transparent building of dApps. At the beginning Corda was aimed primarily for fintech, yet it has been commonly used for other industries, such as trade finance, supply chains and healthcare in particular.
The same as previously discussed Fabric, Corda is a permissioned network with limited access solely by verified participants. This makes it a good solution for building an enterprise blockchain where such tracking and identification are required. Additionally, Corda does not support any cryptocurrency and does not run any internal tokens, which means that access can be achieved by authorization only.
A distinctive feature of Corda network is its smart contract architecture manner. This linked with the fact that smart contracts in Corda do not only consist of a particular code, yet have a legal pose inserted into it. It was created with the aim to empower a certain contract with a specific legal note and give them legitimacy which is rooted in the code itself. This design of smart contract is called Ricardian contract and is a unique feature of Corda which distinguishes it from Fabric.
Generalizing, Corda and Hyperledger Fabric are two instruments with the help of which developers can deploy a unique blockchain solution with permissioned access. This can be treated as a huge advantage in terms of enterprise blockchain, yet faces a lot of controversies in terms of general understanding of blockchain, its transparency and accessibility. Some may argue that its system cannot be as much secure as while using traditional PoW, and lack of miners make it less independent and non anonymous.
Substrate is a framework that allows development of decentralized apps of any kind using blockchain architecture. In contrast to previous networks, Substrate gives developers a broadened scope of possibilities and instruments to use. Furthermore, with the help of Substrate programmers can concentrate on the app logic designing rather than writing a single architecture for every program’s move. It is possible due to the ready-made tools which are in-built into the framework’s ecosystem.
The basic architecture of substrate is modular, as it is in the example of Hyperledger Fabric. It makes the environment very adoptable and customizable. Yet, in comparison to Fabric, it provides more tools and helps to build a way more complex applications. Thanks to the usage of Rust, developers can write in any language compilable to WebAssembly.
The main aim of Substrate is to provide an easy, comprehensible framework for blockchain development. Therefore, it does not use any particular consensus mechanism and can be adapted to any. Moreover, Substrate allows developers to switch between different consensuses, or/and start a project with one and then swap to another without a hard fork, if the core layer stays consistent. It also provides a variety of additional features such as light client, for instance, which makes work of developers faster and easier.
Tendermint can be described as a software for consistent and secure replication of apps. It has a modular architecture which allows building various types of solutions with multiple unique features. It also uses an alternative type of consensus, which helps to prevent double-spent attacks.
A basic blockchain architecture consists of three layers: networking, consensus and application. Tendermint allows to adjust any of it according to user specific needs and requirements. In terms of application adjustment, it is extremely useful while choosing between private or permissionless network type. With Tendermint spectacular modularity, developer can specify the type of the network at the initial stage of the project. There are a lot of other implementations which can be added or changed in the application layer, such as validators approval method or their election type. Additionally, Tendermint uses ABCI protocol which ensures its compilability with any programming language which makes work faster and easier.
Tendermint uses PoS consensus mechanism improved by BFT (Byzantine Fault-tolerant) protocol. As a core, it uses regular PoS structure, where validators should bond a certain capital as a stake which allows them to vote on blocks. Tendermint is partially synchronous which means that while making progress it relies on timing assumption, yet speed of this progress depends on real network speed, instead of system’s settings. Such way of switching the synchrony helps to prevent above mentioned forks as long as the system takes security under its own viability. In further explanation, it will not fork until more then ⅔ of validators come to consensus or prove they are not corrupt or malicious, if applicable.
Another great feature of Tendermint is the “finality” of a transaction within the system. By finality it is meant that as soon as a transaction is done, it cannot be returned or canceled. This feature was built in order to omit Ethereum and Bitcoin problems with transaction settlement and its cancellation, for example, in case of hard fork. While using Tendermint, the transaction is done and approved within 1 second and cannot be attacked due to its consensus algorithm which makes hard fork impossible.
As we can see, the blockchain market has a very competitive environment which grows and enhances nearly every second. Therefore, it will not be fully correct to name just one and the best solution which fits every projects’ needs. Such a rich list of frameworks appeared due to huge variations of client’s requests and demands. Hence, attaching certain platform for a particular purpose will be more appropriate decision regarding this issue.
Summarizing, the first thing the client needs to understand is the purpose and scalability of the project, its target audience and the sector where blockchain technology needs to be introduced. In case of launching a decentralized financial application Ether, Tezos or EOS might be a perfect fit. Yet, in terms of implementing such fintech solution into your enterprise ecosystem, it is better to get your attention to permissioned environments, such as Corda or Hyperledger Fabric. The latest may become a good choice for implementing blockchain in healthcare, supply chain, trade finance and other industries as well.
If the client needs a more complex solution with an extensive number of features or some unique tools, take your attention to Tezos, Substrate or Tendermint, where construction possibilities increased accordingly. With the help of Tezos it is possible to deploy a secure and truly scalable blockchain network giving it certain elements and tools which are encoded into the platform. Yet, it is worth mentioning that the project will stay within Tezos platform unlike in two other cases. Substrate and Tendermint are two relatively new, but very powerful players on the blockchain market. Those frameworks give the ability to build your own blockchain while using just particular parts provided by Substrate or Tendermint to ease the development process. Other words, those work as the pieces of Lego out of which a programmer builds a new blockchain with its specific features.
Choosing a convenient solution for blockchain technology and its further implementation may be challenging even for experienced developers, therefore Blaize experts are always ready to help. After a thoughtful project analysis we can propose an appropriate solution which will meet all your requirements. Describe your idea and Blaize will take care of your project!