By Matías Saavedra, EDRANS Site Operations trainee.

A lot of the technologies that we use every day were created for a single and simple purpose. These technologies, at first used in a localized manner, proved to be innovative, disruptive, or efficient; so many companies started updating, shaping, improving, and implementing them at a large scale.

That is the case of TCP-IP for example, a protocol conceived in the '70s just to transfer packets between a military network, which ended up evolving and making the foundation of today’s internet. But that evolution and massive adoption took decades.

Nowadays, we’re facing another disruptive technology. One which was first implemented in 2009, and it’s growing way faster than TCP-IP did in its first years, I’m talking about the blockchain.

Representation of a blockchain
Background vector created by upklyak — www.freepik.com

First, let’s begin by defining the concept of blockchain.

As the name implies, the blockchain is a collection of connected blocks forming a chain. The blocks are sequentially connected; that means that block 1 is connected to block 2, block 2 is connected to block 3, block 3 is connected to block 4 and so on, that’s how they resemble a chain.

But before we get more technical, let’s talk about the basic unit of a blockchain, the block.

A block, technically speaking, is a record. Think of it as a page of a notebook, an empty page. We can place any kind of data we need to, from transaction information (like Bitcoin does) to medical information, or contact information. That depends on the purpose of the blockchain.

Every block has its own unique identifier, and it also stores the identifier of the previous block.

This identifier is called hash, and it’s a unique number. Every block has its own unique hash.

  • Data The data we want to store in the block. It’s up to ours and our application/company necessities.
  • The hash of the block.
  • The hash of the previous block.

A block can have a lot more fields inside, such as Nonce, for example, commonly used in blockchain-based currencies; but we’ll keep it simple for now.

This is a graphical representation of the basic block:

A sketch representation of a block from a blockchain
A sketch representation of a block from a blockchain
A block representation. Created by Matías Saavedra.

We already know that a blockchain is a collection of blocks connected between them, but how are they chained?

As we said earlier, each block stores its hash and the hash of the previous block. Those two fields are all we need to do in order to chain them.

For example, if we have a blockchain consisting of only six blocks, the 6th block will store the hash of the 5th block, and the 5th block will store the hash of the 4th block, and so on.
If we added another block at the end, the 7th block, it will store the hash of the 6th block, and if we added an 8th block, it will store the hash of the 7th block, that’s how we’re chaining them.

A representation of a blockchain.
A blockchain representation. Diagram created by Matías Saavedra.

If you got this far, you know the basic idea of what a blockchain is and how it works! Let’s get a bit more technical now.

Hashing and security

Security is maybe the most distinctive feature of blockchain technology. The objective is to prevent anyone from editing or changing one or more blocks.
That’s when the hashing comes in.

We talked about hashes before, they were the unique identifiers of the blocks, but what are those hashes?

Hashing is the process of taking some data (such as text) and turning it into a consistent, fixed-length output.

There are a lot of algorithms that can do this.

For example, the hash of the word “Cat” using the MD5 hashing algorithm is fa3ebd6742c360b2d9652b7f78d9bd7d, and using the ADLER32 algorithm it’s 02020119.

Hashing has two really important features

  1. It’s consistent. If you calculate the hash of the word “Edrans”, the result will be ALWAYS the same. For example, the MD5 hash of “Edrans” will always be 4e8e90e936a5544f2221c73b9e424dcb, and 07d2025e if using ADLER32.
  2. It’s easy to know the hash of something, but it’s infeasible (impossible in most cases) to know the original data if you only know the hash.

In a blockchain, we obtain the hash of the whole block, and this hash we obtain becomes the identifier of the block. Hashing the blocks prevents people from tampering or trying to edit the blocks.

In case that someone wanted to “hack” our blockchain by editing a value inside a block, the hash of that block will change, because the data it contains will be different.

And if the hash of the tampered block changes, the chain breaks. That’s because the next block will be looking for a hash that doesn’t exist anymore, the OLD hash.

If someone wanted to hack the chain, that person would need to calculate the hashes of every block that follows the one he edited in order to repair the blockchain. And if the blockchain has an algorithm that raises the difficulty of hashing, repairing the whole blockchain will be impossible.

Use case

The main characteristics of the blockchain are its security and immutability. It’s tamper-proof and can keep a secure log of anything.

That’s why blockchain can be used in processes that need transparency, security, and agility.

Some use cases can be

Financial services: As blockchain-based currencies provide a fast and agile way to pay or send money, they can be used as a distributed ledger to make cheap and instant transactions between banks, and can even offer instant money transactions between two different countries.

Supply chains tracking: As we said earlier, in blockchain we can keep a secure log of anything. It’s possible to track a product during its whole production chain by logging the current state of the product in a blockchain.

That’s the case of a company called “Validated Meats” (just as an example).

They track the whole meat production process, from the cow to the final meat product that you can buy in the supermarket. The product has a QR code on it; and when scanned, the consumer will be able to know the whole route of that meat from the beginning.

Medical records: Medical records of patients could be securely stored in a blockchain, and that blockchain could be also distributed among many medical centers. Any patient could generate a key or a token that can allow any doctor in any hospital to access all his data securely or store a new record that will replicate and be available to consult if the patient goes to another medical center.

This would also prevent insecure and inefficient data transmission between medical centers and prevent hacking or data breaches.

Final words

Many big companies such as HSBC, Nestlé, or Samsung are already using blockchain technology to improve their business models and reduce costs. The appliances of this relatively new technology are many, and it can help any kind of business to create new business models and optimize costs and agility.

In the short term, we are still in an early phase of this technology, and big companies are just starting to impĺement it.

In a World Economic Forum report, a survey suggested that around 10% of the global GDP is likely to be stored in blockchain by the year 2027, listing some positive impacts like increased transparency and increased financial inclusion in emerging markets.

But only time will say if this technology will be disruptive and massively adopted like TCP/IP.

It’s a wrap!

At EDRANS we’ve done really interesting projects around blockchain such as Flixxo https://edrans.com/success-stories/flixxo using not just blockchain, but also AWS technologies that allowed the platform to perform well.

Do you want to know more about AWS, and what we can do around the blockchain?

Drop us an email at opportunities@edrans.com or check our Career page by clicking here.

We are an AWS Premier Consulting Partner company. Since 2009 we’ve been delivering business outcomes and we want to share our experience with you. Enjoy!