Nowadays more and more businesses are trying to snatch some hype from blockchain topic. However few of them do this good enough to earn reasonable profit from it. In this article we will cover three most popular blockchain solutions, their advantages and case where you might one to choose one.
The most popular form of any blockchain project is of course cryptocurrency creation. A typical request would sound like ‘We would like to have a Ethereum/Bitcoin/Ripple based currency but with more focus on security and speed’. Fortunately, this tendency is on a decrease with more and more stakeholders understanding that to compete with giants of the decentralized currency system you need to have a killer-feature or even multiple. As an example Ripple aims towards banking system, DASH implements anonymity system, IOTA has magnificent transaction time and is available on low-power devices.
Smart-contract have become a revolution in a blockchain world since the introduction of Ethereum platform. These small programs that are linked to a specific blockchain could introduce a new level of transparency to your project. Nick Szabo in 1996 described a smart contract as “a set of promises, specified in digital form, including protocols within which the parties perform on these promises”.
Smart-contracts could be used in various kinds of business problems but most typical use case (asides from creating cryptocurrency using smart-contracts) is Financial Data Recording. People develop their own rules describing the roles on the system, responsibilities, rewards and punishments. In addition the ecosystem is fully managed by platform itself. However, despite having a lot of positive characteristics, smart-contracts have limitations. Firstly, most platforms do not introduce a cheap way of performing smart-contract manipulations. Ethereum has a gas price for every operation you perform using a smart-contract, EOS offers you to buy network’s CPU time and RAM to be able to set up your smart-contract. Secondly, smart-contracts can’t use off-chain data easily. To be able to do that they need special nodes called Oracles to query information from the outside world, that also comes with its own price. Finally, even modern public smart-contract platforms are not able to compete with centralized solutions in terms of transaction speed (most are around 10-100 transaction per second), which makes them not that useful in real-time applications like Stock Exchanges.
The most recent solution of all presented in the list is a permissioned blockchain technology (sometimes referred to as private or enterprise blockchains). These solutions are designed to provide speed and maximal level of flexibility. The key feature is an ability to give users different levels of permissions, which allow us to build solutions with different types of users. Among the most typical solution are Stock Exchanges (brokers & traders), Digital Rights Management platforms (regular users & notarisation parties), P2P Lending systems (borrowers & legal authorities). Moreover the solution could be brought to the market fairly quickly due to existence of specific frameworks like Exonum, Corda, Hyperledger Fabric.
Technical parameters comparison
As for performance permissioned blockchain systems have an obvious victory here with 1700-5000 transaction per second on average. Most smart-contract systems and cryptocurrency of older generations (Ethereum, Bitcoin, etc.) on average are able to produce 5-13 transaction a second while modern smart-contracts could scale up to a 1000 TPS.
Winner: Permissioned blockchain
Developing a decent raw cryptocurrency platform could be a hard time without a group of experts with a few years of experience in any of statically typed languages (C/C++, Rust, Java, Go) and in-depth knowledge of all the blockchain insides. Moreover this process might take at least 9-10 month to get a first working prototype. But as soon as you pulled the first version out you are in control of any part of your system. Contrary to that, a simple smart-contract can be built in a week or two and doesn’t require so much expertise in blockchain area, however this is compensated by the lack of bullet-proof stability and dependency on the platform. Permissioned blockchain systems appears as a hybrid of two previous categories. Having a lot of tools packed inside a framework it is a great choice for any platform that aims to be more or less independent and easy to develop.
Supporting any cryptocurrency platform can be a nightmare with critical bugs that may break the whole system and make your currency cost less than a penny. In addition, you might need to have a dozen of computers to keep network up and running. If you go for smart-contracts, you are good since platform developers will solve all the problems for you. And once again permissioned blockchain platform being a hybrid of the previous two, requires you to have a running a pool of 3-5 computers and maintaining a code base. Per se, since the solution is framework-based it has decent security.
Adding new features to classic cryptocurrency platforms might take years and could even split the community to form a fork. Smart-contracts can be a good choice for the task that don’t a huge level of flexibility like communicating with external world. However if you need to query some data or perform some external database transaction, you might want to take one of the permissioned blockchain frameworks. The main advantage is that you can change the consensus and bend the rules of your platforms as much as you’d want to.
Winner: Permissioned blockchain
Bitcoin as a first cryptocurrency on the market skyrocketed the whole idea of blockchain into mainstream. On the other hand Ethereum blew our minds when it established the first smart-contract platform. Even though this might succumb to personal belief, I think that the idea of pure cryptocurrency is accepted by more people and thus is more respectable and mature.
In conclusion, the solution you would choose should only depend on the business case. My simple guide could for choosing your best-fit solution could be expressed in 6 lines of code:
If “from_scratch_development” and “killer_feature”:
Else if “stability” and “reasonable_price”:
Else if “flexibility” and “speed”: