The future of business lies in smart contracts. These programs that automate tasks and reduce time and money have already started to change the financial industry. But, how do you start creating them? Which platform is the best for you?
Well, the answer cannot be unambiguous. Softjourn has deep expertise with smart contracts, so we often receive requests for recommendations.
For sure, we at Softjourn can say that the following platforms are currently the most popular for developing smart contracts:
- Ethereum: Supported by the Ethereum Foundation and a large community of developers worldwide.
- Hyperledger Burrow: Now hosted by the Linux Foundation, originally developed by Monax.
- Hyperledger Fabric: Now hosted by the Linux Foundation, initially contributed by Digital Asset and IBM.
- Open Transactions: A non-blockchain digital notary that is used in a number of commercial projects.
- Quorum: An enterprise-focused version of Ethereum developed by J.P. Morgan
The good news is, these are some great choices, but if you’re requesting our recommendation, what you really want to know is, which platform is better for your specific situation? That’s where things get somewhat sticky because, frankly, the answer depends on your need and if you’re willing to compromise.
So, let’s start at the beginning.
These platforms support a variety of programming languages. We note that Burrow and Ethereum support more languages than other platforms, thus offering the most flexibility.
Smart Contract Platform | Supported Language |
---|---|
Ethereum | Solidity, LLL, Serpent, Mutan, Vipe |
Hyperledger Burrow | Solidity, LLL, Serpent, Mutan, Vipe |
Hyperledger Fabric | Golang, Java, JavaScript |
Open Transactions | ChainScript |
Quorum | Solidity |
Ethereum
Ethereum is an open-source, public-access, blockchain-based computing platform. All smart contracts are stored on every node of the blockchain. Currently, it is the most popular platform for writing smart contracts.
Softjourn has experimented with Ethereum and notes the following advantages:
- It is the most developed solution and the easiest to use.
- Third parties are not required to provide contract functionality.
- A large community supports the blockchain ecosystem.
Currently, Ethereum uses the proof-of-work consensus and is not suitable for creating a permissioned environment. Some proof of concepts (POCs) use the testnet setup of Ethereum to run it privately, but it is less convenient than the other solutions discussed in this section.
Hyperledger Burrow
Hyperledger Burrow is a permission-based smart contract blockchain system originally developed by Monax and co-sponsored by Intel. It is written in Solidity, a high-level smart contracts language that is simpler than Golang, which is used primarily to write chaincode in Hyperledger Fabric.
Softjourn had a positive experience with Monax writing our in-house loyalty program, SJ Coins, on its platform. Hyperledger Burrow offers the following advantages:
- Simple implementation and tooling.
- Ethereum Virtual Machine (EVM) which focuses on providing security and executing untrusted code globally.
- Permissioned smart contracts and a hyperledger permissioned blockchain.
Hyperledger Burrow uses the proof-of-stake Tendermint consensus engine. Just like the other Hyperledger framework – Fabric (discussed in the next section), has permissioned membership and consortium support. However, Hyperledger Burrow currently does not have a key management system and needs a third-party solution to provide this functionality. In addition, the current pre-release version is not stable.
Hyperledger Fabric
Hyperledger Fabric is a blockchain framework implementation originally contributed by IBM and Digital Asset. It offers channels for sharing confidential information, endorsing policies for transactions and execution of smart contracts (called “chaincode”). Hyperledger Fabric offers the following advantages:
- Membership is permissioned, allowing all participants to have distinct identities and protecting data.
- It is a modular, scalable and secure foundation for blockchain transactions. (With the release of the v1.0 architecture, these characteristics have been optimized.)
- Its architecture enables developers to plug in their preferred implementations.
Consensus in Hyperledger Fabric is broken out into 3 phases and the framework supports different consensus algorithms to be used in these phases. On the negative side, we note that system implementation is complex. In addition, chaincode is written in the Go programming language. This language requires more code, and contracts are more difficult to implement than those written in .NET or Java.
Open Transactions
Open Transactions is a financial crypto and digital cash software library. It allows users to issue and manipulate digital assets as well as create new ones. Compared to Hyperledger Fabric and Hyperledger Burrow, Open Transactions is a non-chain solution focused on asset management. Because it is an open system, there is no server control for all assets.
Open Transactions supports checks, vouchers and cash. Users can transfer money securely. It offers the following advantages:
Simple implementation with instruments that are very similar to those in a typical banking system.
Native digital asset management.
This solution’s open design is not suitable for permissioned environments, because it is technically possible to complete transactions through third parties. Open Transactions’ smart contracts are written in ChaiScript.
Quorum
Quorum is a blockchain platform – an enterprise-focused version of Ethereum. Quorum is ideal for any application requiring high speed and high throughput processing of private transactions within a permissioned group of known participants. Quorum addresses specific challenges to blockchain technology adoption within the financial industry, as well as other industries. The platform is actively developed by JPMorgan Chase, BNY Mellon and a number of other major banking players. At Softjourn we’ve been working with Quorum to demonstrate (during the European Investment Bank Blockchain Challenge) the streamlined “Commercial Paper” flow.
Quorum offers the following advantages:
- Permissioned membership and improved data protection.
- Increased contract privacy.
- High performance resulting from the simplistic consensus mechanism.
Quorum uses multiple voting-based consensus mechanisms. Quorum is built off Go, which – as discussed above – might be regarded as the negative side.
Which Smart Contract Platform Should You Choose?
After comparing these platforms, it appears that none of them meet all smart contract requirements. Each is designed for a particular purpose. When choosing a blockchain platform to develop distributed apps, we recommend that you be as clear as possible about your criteria and technical requirements.
If you’re still not sure which platform is better for you, contact us.