How to start using blockchain in companies?

In .Software, Blogfest-en by Baufest

So far, we have heard a lot about blockchain technology, its close relationship with cryptocurrencies (such as bitcoin) and the opportunities it opens. But companies are still not taking advantage of the rewards that this technology brings.

Wednesday 10 - May - 2023
Concepto de tecnología Blockchain con diagrama de bloques de cadena y cifrados.

Maybe because they haven’t found the right use cases yet, but the reality is that today blockchain can already provide very specific solutions for different types of businesses and presents different applications that have nothing to do with bitcoins. Many of these use cases tie into the concept of smart contracts.

Remember that a smart contract is a decentralized application that executes business logic in response to events; is a special type of program that encodes business logic and runs on a special-purpose virtual machine built on a blockchain or other type of distributed ledger.

The execution of a smart contract can result in the exchange of money, for example, or in the provision of services; it can also result in the unlocking of content protected by digital rights management or other types of data management, such as changing the name on a title deed. It can also be used to enforce a privacy protection request.

But blockchain technology is not limited to generating the basic conditions for the development of smart contracts at the business level either. It comes to transform the opportunities linked to traceability and historical records of operations in the corporate world and also potentially in the public sector, by enabling a new distributed registration scheme.

To incorporate blockchain technology into the business of companies, it is advisable to resort to a technological partner that has the necessary skills to implement it in a business environment. For example, if the company wants to work with Solidity, which is the most popular programming language for developing smart contracts, it must choose a smart contract provider that is truly suitable for handling this language, and a partner that guarantees the quality of the smart contracts. And if the company’s need goes beyond smart contracts, to extend to a private blockchain infrastructure, it is also important to ensure its correct design, configuration and administration.

In addition, it is necessary to know that today all business intelligence can be obtained from these deployments, thanks to analytics solutions that provide extremely relevant information on the operation of these blockchains (for example, they can provide metrics on the volumes of money or operations that are channeled through them, and more).

As a technological partner of companies, at Baufest we build an offer of services for companies that already have a business model designed for blockchain technology. Our proposal focuses on four very specific practices that we will detail below.

Development of smart contracts

The first is linked to the software development practice (SWDEV). In this field we have development cells specialized in smart contracts, which work with the Solidity language for the Ethereum Virtual Machine standard.

Solidity is the most widely used programming language for developing smart contract applications on the Ethereum network. This object-oriented language was specifically conceived to facilitate the development of smart contract applications and offers developers “an easy way to realize complex distributed or decentralized applications that take full advantage of the Ethereum Virtual Machine (EVM)”. The developer builds his applications in a language that is easy to use, read and maintain, and at the end of his work, the Solidity engine “turns that simple code into machine code that the EVM will understand”. Although it is not the only language that facilitates this operation, Solidity was the first, the most versatile and the most widely used up to now. In addition, Solidity facilitates the task of developing distributed applications (DApps) or other functions that make use of smart contracts.

For its part, the Ethereum Virtual Machine (EVM) is the standard for all blockchains, or most of those that work with smart contracts. In practice, it is a computational platform that allows developers to create decentralized applications (DApps) on Ethereum. The EVM is where all the Ethereum accounts and smart contracts are stored. This new software platform makes it easy for developers to operate smart contracts executed on the Ethereum blockchain.

Quality assurance

Now, it is one thing to develop the software; and quite another is to guarantee its quality. Within this last field (software quality assurance or SWQA), our work with blockchain technology focuses on the development of automated tests of smart contracts for the Ethereum Virtual Machine.

A company can hire a developer for the smart contracts, and another for the automated tests of the latter. In fact, good practices indicate that it is preferable to do so, in such a way as to separate the roles and make the developer and the tester separate entities.

Secure Infrastructure

Regarding IT operations (ITOps, an area that involves the construction and management of infrastructure both in the data center itself and in the cloud, information security and the deployment of DevOps methodologies), our contribution focuses on the implementation, configuration and infrastructure management for private blockchain.

A private blockchain is controlled by a single organization, which allows only verified members to join its network. In addition, the latter can have different levels of access.

Within this practice, from Baufest we do not work with public blockchains, since there is nothing to configure there, other than installing the client. Instead, we do work with large companies (for example banks) that have a private blockchain use case and need to design, configure and manage the infrastructure. Normally these deployments are done within the framework of public clouds, such as Azure or Amazon, which is why we focus on two very specific types of private blockchains: ConsenSys Quorum Blockchain Service (which is one of the best known and is special for Azure, which supports it natively), and Amazon Managed Blockchain, which is Amazon’s own.

Analytics for blockchain

In the business intelligence part (or what would be our Data practice) we focus on blockchain analytics processes compatible with the Ethereum Virtual Machine. Blockchain analytics is a branch of business intelligence that companies can use to analyze the movement itself within the private blockchain, to know the volume (for example in e-wallets that handle significant amounts), transaction peaks and more. This technology can also be applied to traceability: for example, the global shipping company Maersk plans to carry out a development of this type linked to cargo containers.

As can be seen, Baufest’s blockchain offering focuses on technologies that have already achieved consensus, and not on niche technologies, nor on those that so far show little use. For example, we focus on Ethereum Virtual Machine because most of the ecosystem goes that way and we have significant expertise in this technology. With these premises, we can carry out the specific developments that companies need and ensure that they add real value to the business.