How To Choose The Right Blockchain Development Team
Tags: Blockchain, Enterprise Technology, Blockchain Technology, Enterprise Blockchain, Blockchain Development

A major consideration for successfully deploying a blockchain application is in selecting the right team for the work. The required skill set goes beyond simply deploying the underlying platform and development of the actual blockchain applications — it will need to be properly managed, integrate with your existing technology platforms, and address a number of information security considerations.

There are three key aspects within this topic that a prospective user should consider, which we will expand upon below.

Platform Deployment

The first consideration is where you will be hosting your platform. Building a blockchain solution is far from a simple, straightforward task. Depending on the resources you have a available, you have a number of different options here:

Hosting the infrastructure yourself requires significant dedicated DevOps resources, as blockchains take a lot of setting up to get right. On the other hand, this does allow for more choice, meaning you can tailor the blockchain completely to your own specific needs — if you have the time and resources to dedicate to this.

requires significant dedicated DevOps resources, as blockchains take a lot of setting up to get right. On the other hand, this does allow for more choice, meaning you can tailor the blockchain completely to your own specific needs — if you have the time and resources to dedicate to this. Cloud based Blockchain-as-a-Service (BaaS) solutions , are solutions in which a third party creates and manages a blockchain solution for you. However, you will still need some in-house expertise for the best results. Both Microsoft Azure and Amazon Web Services have BaaS offerings.

, are solutions in which a third party creates and manages a blockchain solution for you. However, you will still need some in-house expertise for the best results. Both Microsoft Azure and Amazon Web Services have BaaS offerings. Fully managed services are the lowest complexity tier: not only do they build up the whole infrastructure for you, they also manage every aspect of it for you. This goes a long way in reducing blockchain’s inherent complexity, although it still has some challenges compared to other technologies. Two key providers in this regard are Kaleido and Chainstack.

Development

Having just the underlying blockchain platform is not enough; you will also need code that runs on the blockchain. This code is typically referred to as smart contracts or Decentralized Apps (DApps). The three dominant platforms here are Ethereum (along with its variants, ConsenSys Quorum, and Hyperledger Besu), Hyperledger Fabric by IBM, and Corda by R3. Ethereum uses its own programming language, Solidity, for creating and running smart contracts, while Hyperledger Fabric provides support for JavaScript, Golang, and Java. Corda, on the other hand, only supports Java at present.

The creation of smart contracts can be quite labour intensive from a development perspective. It requires both time and expertise to get right — however, thanks to the popularity of the three aforementioned platforms, there are plenty of freely available example applications for them supported by a number of experienced programmers within these communities. This is especially true in the Ethereum community, which has drawn a huge number of enthusiasts with a thorough understanding of the technology and its inner workings.

Finally, no blockchain platform is self-sufficient; you will need to handle integrations with your existing technology stack as well. As we’ve mentioned, Hyperledger Fabric has native libraries for Java, Golang, and JavaScript, while Corda is restricted to Java. Ethereum, however, supports a far wider range of technologies, again thanks to its vibrant community — it is very well catered for.

Security

Last but not least, the security aspect of a blockchain platform is mostly tied to its key management and network security. Using blockchain at all requires cryptographic keys associated with your blockchain applications, and those keys need to be stored in a highly secure place. Again, there are several different approaches you can take here:

Hardware security models are actual, physical hardware that is tamper-proof, used for storing your keys. In case anyone ever attempts a breach, details of the attempt are stored and your business can also be made aware of it.

are actual, physical hardware that is tamper-proof, used for storing your keys. In case anyone ever attempts a breach, details of the attempt are stored and your business can also be made aware of it. Cloud-based security models offer the same service on cloud, for example by Azure’s Key Vault and Amazon Web Services Key Management Service.

offer the same service on cloud, for example by Azure’s Key Vault and Amazon Web Services Key Management Service. Secret management tools are a form of database for storing secrets — an example would be the HashiCorp Vault.

You will need to also ensure that you’re able to physically connect to the other organizations on your blockchain network. It’s worth speaking with your Information Security (Infosec) teams to ensure there won’t be any barriers here. For instance, not every large enterprise would be happy to establish connectivity with a small startup who happens to be on the network too.

Common Concerns

Some of the main concerns potential users may have are:

We can’t store cryptocurrency in our company. If you’re using a private, permissioned network, this is not really a concern as they do not use cryptocurrencies like the public networks. The encryption keys will be stored in a way that is consistent with the rest of your business applications, in line with what your information security staff are comfortable with.

If you’re using a private, permissioned network, this is not really a concern as they do not use cryptocurrencies like the public networks. The encryption keys will be stored in a way that is consistent with the rest of your business applications, in line with what your information security staff are comfortable with. Blockchain is one of the hottest technology skills in the market — how can I ensure I can control my project costs? If you take on our advice, you’ll be able to select a platform and provider in line with your organization’s existing skillset. If you need more guidance, Web3 Labs can provide it via our services, so you can ensure that you have a successful deployment with a handle on the costs upfront.

Closing remarks

Having the right team in place is vital to ensure your blockchain deployments succeed. As with all new technology or platform deployments there are a number of tradeoffs and considerations you will need to make along the way to get it right. We’ve covered here what we believe to be the most important ones, covering the platform deployment — self-hosted, BaaS or managed, the development capabilities for both the blockchain smart contracts and integrations and finally the security considerations.

Have you already considered these factors? We’d love to hear your thoughts on this. If you’re interested in more, you can come along to one of our upcoming Principles of Successful Blockchain Deployments Webinars. Here, we cover the various considerations of how to successfully deploy a blockchain platform, and cover a number of use cases that it excels at.

This post first appeared on the Web3 Labs blog at https://blog.web3labs.com/how-to-choose-the-right-blockchain-development-team