How to apply Blockchain technology in small and medium businesses
Nataliya Oteir
Director of Corporate Communications at INTROSERV | Dedicated Bare Metal Servers and VPS solutions provider
What is blockchain?
Blockchain technology has already infiltrated into public life. No longer do you need to explain to people what blockchain is and how it can be applied. Blockchain technology has already become an integral part of how cryptocurrencies, including Bitcoin, work. However, for the layman whose area of expertise is not related to technology, the main principles of blockchain functioning are still difficult to understand.
In the most distilled form, blockchain is a kind of decentralized accounting which is very difficult to falsify. It allows you to verify transactions in real-time, without requiring permission from a trusted third party. When to go deeply into the subject, blockchains consist of chronological digital pieces of information called blocks that record every transaction. At its most basic level, a blockchain should be understood as a chain of blocks. These blocks are the connected pieces of digital information. Usually referred to as ledgers, the blocks operate as interconnected cryptographically-verifiable chunks and form blockchains. One outstanding benefit of blockchain technology is that it cannot be used for making a fake transaction. It ensures that all assets that a person has are strictly regulated by the system thus preventing any kind of fraudulent transactions. In this way, blockchain provides its users with complete security no other system has.
Further, due to its decentralization, the blockchain technology is 100% protected from hacker attacks. Decentralized servers literally distribute data across millions of computers. The very fact that the asset is being exchanged using multiple hosts prevents single-point attacks performed by hackers largely because no single point of a centralized network of servers actually exists.
The options for using the blockchain are endless, so many companies have moved from PoC (proof of concept) to specific applications of the blockchain technology. The main achievements of the technology are available with open source code. This gives a chance for any aspiring web developer to implement a small private blockchain in the workplace and get some practical knowledge of blockchain technology.
Potential benefits of blockchain
1. Reduced costs of overall transactions
2. Irrevocable and tamper resistant transactions
3. Improved security and efficiency of transactions
4. Reduced systemic risks
5. Fraud minimisation
6. Effective monitoring and auditing by participants, supervisors, and regulators
Decentralized system
Blockchains are placed in a decentralized system. This means that no single person or group of people would be able to take control of the entire system. Even though each block in the system has copies of all data, it is impossible to change or destroy it. This unique feature gives blockchain maximum transparency and security, providing users with various choice options.
Peer-to-peer network
Blockchain is typically associated with transactions involving digital currencies. When using blockchain technology you can interact between the two parties through a peer-to-peer model, which is easy and does not need a third party. It means that transactions involving digital currencies can be easily completed without the need for intermediaries like clearing houses and banks. Blockchain uses the P2P protocol, which allows all participants in the network to keep an identical copy of transactions and makes it possible to approve actions by consensus. For example, if you want to make a transaction from one part of the world to another using the blockchain technology, you can do it without any help in a few seconds. Moreover, any breaks or additional fees will not be deducted during the transaction.
Network persistence
The immunity of blockchain to any outside factors indicates that once recorded the data in a blockchain cannot be changed. It means that after data processing, the block cannot be modified or deleted. In this regard, if you are trying to change the data in one block, you will have to change the data in all subsequent ones, since each block stores a hash of its previous block.
Speeding up the settlement of transactions
The blockchain technology is known for its speeding up the settlement of transactions. Also, this technology allows us to reduce costs and satisfy customers more effectively. Next, it provides better security in industries where for a long time any delay in processes was a big dilemma and caused many inconveniences as there was always a need for third-party verification. Besides, the new technology allows reducing the level of operations denial. The list of industries that have already benefited from these changes includes transportation, energy, and banking.
In banking, blockchain considerably enhances the security of banking operations. This effect has been achieved by the removal of the third party. Blockchain has allowed transactions to transpire between the two parties directly, thus eliminating any chances of security failure. Additionally, blockchain has simplified transactions making the interaction between people much easier. Plus, blockchain technology has brought a lot of benefits for the corporate world, where from now on all assets will be produced in a digital format and controlled with great precision.
Fueling technological services is one more benefit of the blockchain industry. Not only has Bitcoin benefited from the blockchain technology but benefits have also been brought to many other important sectors. The list includes and is not limited to transportation, banking, insurance, healthcare, payments, legal/compliance, cyber-security, digital identities, governments, and energy, etc.
System Protection
Blockchain technology makes the whole system immune to outside effects. Block hashes are considered as protected from unauthorized access given that any change in even one block can be easily detected. Changing the hash requires a lot of computation power which cannot be distilled from anywhere. This makes it practically impossible to change the hashtag. Therefore, the information stored in hashtags is being preserved with the greatest scrutiny. The overall immutability of the blockchain network is simply stunning.
In this way, the system is protected in a unique way. As stated above, each hash function associated with a block is unique. Any change to the data will lead to a change in the hash function. Since the hash function of one block is closely related to the next block, for hackers to make any changes, they will have to change the hashes of all subsequent blocks, which is quite difficult to do.
Public vs. Private blockchain
There are two types of blockchain: public and private.
Public and private blockchains are both decentralized. In fact, they are both peer-to-peer networks where each participant keeps the right to hold a replica of a shared ledger. This ledger stores digitally signed transactions. There is no way for the ledger to be edited. In fact, it can only be appended. The ledger in sync is kept through. In this way, the system guarantees the immutability of the ledger. The only difference between private and public networks is the types of participants that are allowed in the system.
Private blockchains
Private blockchains are usually set by private enterprises. The purpose of this blockchain remains the same - to protect the privacy and security of the data. Private blockchain requires an invitation. The invitation is validated by a third party and has a whole set of rules to be followed. Private blockchains have a lot of rules and restrictions for new members meaning that not everyone is allowed to join. For example, certain transactions can be carried out by the participants who have the right to do this but not by those who do not have these rights. Participation in a private blockchain must be validated only by those network members who started the network. These members hold the right to put restrictions on other participants of the private blockchain. Enterprises can set up private blockchains to protect the privacy and security of their data. Also, private blockchains have limitations on transactions. Generally, the rules allowing carrying out a transaction are set by three parties: 1) existing participants, 2) a regulatory authority, 3) and a consortium. Again, the whole system is organized in a decentralized manner. Also, any private blockchain usually follows the requirement of an individual's enterprise.
Because a private blockchain is much lighter if to compare to a public blockchain it has good perspectives for further development. Although the potential of private blockchain technology has not been yet explored it has good perspectives for further development and enterprise use. In comparison with public blockchains, private blockchains have a much greater potential to revolutionize all aspects of our daily life.
Public blockchain
Open, anyone can join the network
Each node has equal transmission power (distributed)
Low speed of transaction accomplishment
Long transaction approval frequency
High cost of each transaction
Proof-of-work, proof-of-stake consensus protocols for adding on a new block
Anonymous
Requires no trust among the members
Large energy consumption
Private
A new member joins the network via invitation
Only certain nodes can create new transactions
Fast speed of transaction accomplishment
Short transaction approval frequency
Comparatively cheap cost of each transaction
Pre-approved participants initiate adding of a new block
Anonymous
Members need to trust each other
Low energy consumption
How to use Blockchain Technology
1. Select the platform on which the blockchain technology will be created
There are many solutions for creating a blockchain platform, such as Ethereum, Hyperledger, Multichain, Open Ledger, Chain, Bitcoin Blockchain, Corda, etc. Some of them are still not popular among a wide range of users while others enjoy a high level of popularity. Thus, you need to choose the most suitable platform for your needs.
Ethereum is the most popular platform for creating blockchain projects.The main features of this platform are dynamism and responsiveness of the Ethereum community. Also,this platform has plenty of documentation. The concept of a blockchain built on this platform means that all objects in the system will be completely autonomous and will belong only to themselves.
The Ethereum development environment is based on the most common languages, such as C ++ (Cpp-ethereum), Haskell (ethereumH), JavaScript (EthereumJS-lib), or Python (Pyethapp). The most secure in the whole blockchain group is Go-ethereum or Geth, which is based on the Go language. This is the most used Ethereum client in the world. By default, it connects to Homestead - the main network platform. The first step is to install Geth on its workstation (it exists for Linux, iOS, Android, MacOS and Windows).
The second most popular platform is Hyperledger Fabric. Hyperledger Fabric is a relatively new blockchain platform. Hyperledger Fabric has several distinctive features compared to other modern blockchain models. Interestingly, whether these characteristics are advantages or disadvantages often depends on the context. Hyperledger Fabric is a software framework for developing applications and specialized business solutions based on the blockchain technology. One of the features of Hyperledger is a fundamental refusal to create their crypto assets. Hyperledger members develop their projects purely as informational technology. Regardless of how the blockchain technology is used, the companies will either turn to their partners for software development or will work on technology development within their own companies.
It should be noted that regardless of whether the company will implement blockchain technology through its internal or external team, it is advisable to get some prior experience in using the blockchain technology, since the use of this technology is new and unexplored for most of the companies.
For IT stores that wish to implement a blockchain project, they should consider the fact that up till now there are nearly 300 Bitcoin and blockchain startups worldwide that work on technology development in such areas as finance, product development, warehouse services, smart contracts, social networks, supply chain management, identity management, retail industry, and IoT.
Most major IT vendors are actively working on the blockchain, in particular, IBM, which has allocated significant resources for the Hyperledger project. Linux Foundation and Microsoft, who work with the banking industry consortium R3 CEV, also using blockchain technology that allows them to implement system chain testing using Microsoft Azure.
The most important feature of blockchain is decentralization. This is a distributed database that has a lot of computers involved, thus creating a big system, frequently referred to as “ledgers” jointly support. Information records called “ledgers” are interconnected by a protocol program, and none of the existing blocks can be deleted or changed. Adding a new block is the only way to update the blockchain, and any node can do this without any central command.
If a leader ignores predefined standards and creates a block, other ledgers ignore it too. However, if an incompatible node continues to create blocks without complying with standards, and other nodes begin to create blocks on top of non-conforming blocks, then a conflict will arise in the system. To prevent the appearance of incompatible ledgers (the so-called forks) a special consensus mechanism has been elaborated. Specifically, “a consensus mechanism is a fault-tolerant mechanism that is used in computer and blockchain systems to achieve the necessary agreement on a single data value or a single state of the network among distributed processes or multi-agent systems, such as with cryptocurrencies.” (https://www.investopedia.com) Also, the consensus mechanism protects the system from malicious hosts.
Choosing the right consensus protocol is a very important step in introducing the blockchain technology into your organization, as this will greatly affect the overall productivity of your organization and the optimization of its internal processes. The main objective of consensus is the solution of mathematical problems requiring a large amount of computing power. For example, when one of the cryptocurrency miners finds a correct solution to the mathematical problem, the answer should be easily and quickly checked by all network participants. Therefore, there are different consensus systems, for example, PoW and PoC.
2. Create the first blockchain
Simplified Bitcoin Blockchain
To initialize a block chain, you must create the first block, and then the blocks will be automatically created and structured. This block must contain all the characteristics of the chain. After that, the blocks will be available for all ledgers (or users) in the network. To start creating a blockchain, you need to create a JSON file. In particular, you need to specify several parameters: “nonce” (a regular cryptographic hash that generates a random value), “timestamp” (time to check between two consecutive blocks), etc. After filling out the JSON file, it all depends on the Geth client. Create a folder containing the block chain (chain data) and initialize it.
To ensure the spread of blockchain technology, it is necessary to create your cryptocurrency, which will help to quickly transfer data. The goal is to be able to replicate as many commands as there are nodes in the network your network has nodes. For ledgers to exchange data in a blockchain, they must be connected. For Geth to connect to a ledger on the network and coordinate many activities, it must have its identifier named enode in Ethereum. To ensure the spread of technology in the Ethereum ecosystem, it will be necessary to have cryptocurrency in Gas. This is important to obtain all necessary computing power from the network participants.
3. Select the most appropriate consensus protocol
There are more than 25 consensus protocols, and each of them has its features and shortcomings. The most popular at the moment are Proof of Work and Proof of Stake. These protocols are the easiest to implement and to understand.
Proof-of-Work (PoW) is used when the technical equipment of the miner solves complex mathematical problems. For adding a verified block to the blockchain, the miner receives a reward in the form of cryptocurrency. Finding solutions is a complex process that requires significant computing power. Once the computer finds a solution, it sends a message to other computers in the community for verification. The solution is easy to verify because other computers are answered.
The key feature of this mathematical problem is asymmetry: it should be moderately complex for the miner, but simple enough for the network as a whole. The simplicity is being achieved using cryptography. Each miner in the network tries to find a solution to the problem first; at the same time, it can be found only by direct enumeration, therefore, a successful solution requires many attempts.
Proof of Stake (PoS) is used when the miner blocks a predetermined number of coins to check the block of transactions. Cryptographic computing in PoS is much easier for computers. You need to prove only that you own a certain percentage of all coins available in this currency. For example, if someone owns 2% of all ether (ETH), he will be able to get 2% of all transactions through Ethereum. Some believe that PoS will be a fairer system than PoW, as technically anyone can become a miner. PoS offers a linear scale relative to the percentage of blocks that the miner can confirm based on the share of this person in cryptocurrency. This means that a person who has ten times more coins can only create 10 times more blocks than another.
The idea of Proof-of-Stake was first proposed on the bitcointalk forum back in 2011. A year later, the first cryptocurrencies using this method appeared, among them Peercoin, ShadowCash, Nxt, BlackCoin, NuShares / NuBits, Qora and Nav Coin.
Unlike Proof-of-Work, where the algorithm rewards miners who perform calculations to validate transactions and create new blocks, in Proof-of-Stake, the creator of a new block is selected by the system in advance based on its status, which is calculated on fraction of the total number of cryptocurrencies.
4. Create your first smart contracts
Various companies actively cooperate, exchange information, goods, and services. All conditions of cooperation are agreed upon and signed by future partners in the form of written agreements or contracts. However, such paper contracts may have errors and fraudulent schemes that cast doubt on the trust factor between both parties, and they raise risks. Blockchain offers an amazing solution to this problem through Smart Contracts.
Smart Contracts in the blockchain is a thing that helps to completely remove third parties from any industry or business and to achieve a true peer-to-peer model. As it has been demonstrated in practice, smart contracts are unbreakable and reliable, allowing the parties to establish any rules.
Smart contracts contribute to the development of companies. They are a convenient tool for creating new generation platforms, where all participants in the system can easily and quickly transfer data.
Smart Contracts work in the same way (in terms of agreements) as paper contracts. They contain all the information regarding a transaction and produce a result only in case the requirements are met. Smart Contracts resemble paper contracts but unlike paper contracts they are computer-generated. Specifically, what differentiates Smart Contracts from paper contracts is that they are digital as well as enforceable, that is, subject to the previously established rules, so that the contract carries out the transaction. This means that when certain conditions are met in the code of specificcontracts, they are automatically disclosed. Ethereum, an open-source blockchain platform, has introduced Smart contracts into its Blockchain ecosystem. Smart Contracts can be used for various situations or industries, such as financial agreements, health insurance, real estate documents, crowdfunding and so on.
The reference language for developing such applications on Ethereum is Solidity. This language is relatively simple and suitable for an object-oriented programming environment with the concepts of class, attribute, and function. In addition to the features of Ethereum, when a function is used, for example, each transaction has an issuer and associated costs. The code is also highly sensitive since the slightest error has consequences.