twitterlinkedinmail

Unveiling Blockchain’s technology and its mechanisms

Blockchain technology is increasingly being proposed as an innovative solution, even in heterogeneous industrial sectors.

In order to learn how to evaluate its effective and concrete uses in different scenarios and use cases, it is therefore necessary to understand the basic concepts of Blockchain technology.

The Blockchain in recent times has gained the attention of the media, as well as of insiders, in relation to the possibilities that this technology seems to promise, to the point that many already speak of an upcoming digital “revolution”, along the same lines (if not even superior) to the revolution represented by the spread of the internet.

Born in support of bitcoin, and with it risen to the forefront of the news, the Blockchain would, according to many, be the solution to several long-standing problems that have to do with the concept of “trust”, understood as a necessary element to guarantee not only the reliability of financial transactions, but in general the guarantee of public faith in any relationship between opposing parties.

Therefore, the scenarios and possible uses of the Blockchain are innumerable, according to its enthusiastic supporters, from the tracing of the agro-food supply chain, to the contrast of the Fake News.

How many of these high-sounding promises constitute real scenarios and use cases for which the Blockchain can actually be a turning point, and how much does marketing influence the choice of adopting this technology?

To have an overall picture, which allows you to consciously evaluate the actual benefits that can be drawn from the Blockchain, it is necessary to understand the mechanisms and the functioning of this technology.

Although many of the implementation details of the Blockchain take on an esoteric aspect, understandable only by “initiates”, to the point of intimidating the “layman”, in reality the underlying logic on which it is based can be understood even by those who do not have technical knowledge of programming.

Intended Audience

“Blockchain Fundamentals” is therefore aimed at all those (be they companies, professionals) who are interested in knowing and understanding the characteristics of blockchain technology from the ground up.

The proposed contents can be successfully enjoyed even by an audience that does not have specific technical skills, and previous experience in the blockchain field is not required to follow the contents.

Open Badge Certificate

By successfully passing the Self-Assessment Test you’ll receive the Open Badge attesting the skills you earned.

Introducing the Blockchain

Essentially, the Blockchain is a

  • distributed archive

  • based on peer-to-peer networks

  • implemented through encryption

As a distributed and decentralized archive, aimed at managing the transfers of digital assets, the Blockchain allows users to exchange digital values with each other in the form of transactions.

In this way, there is no need to resort to third parties/authorities which guarantee transactions.

Let's now see the Blockchain goals and how they are met by the underlying technology.

Blockchain's Goals

Blockchain technology was originally introduced to support Bitcoin.

The main purpose was to prevent the phenomenon of double spending of cryptocurrencies, i.e. the possibility of spending the same currency several times.

However, the role of the Blockchain is not limited to the financial transaction sector.

In general, each transaction involving digital values can be recorded within a distributed ledger.

Blockchain core concepts

We'll now introduce the concepts on which Blockchain technology is based, such as distributed archiving, decentralized peer-to-peer networks, transparency and irreversibility of transactions.

Distributed Archiving

The ability to store data within a distributed database allows each participant to access the complete transaction history.

In addition, distributed archiving prevents a single entity from taking full control over the archived information.

Distributed archiving allows individual nodes to directly and independently verify the integrity of the information stored.

It is therefore not necessary to use third parties or intermediaries to carry out the verification of transactions.

The verification of the integrity of the information is in fact implemented through the hashing functions.

Let's now see how peer-to-peer networks help implement distributed storaging of transactions in the Blockchain.

Peer-to-peer networks

To implement distributed storage, the blockchain uses Peer-to-peer (P2P) networks.

In this type of network, no node assumes the role of central server.

On the contrary, in a P2P network each node assumes the role respectively of client and server when appropriate.

P2P network

Centralized versus Decentralized networks

As we have seen, one of the basic principles of the Blockchain involves the use of a Peer-to-peer network communication protocol, in order to achieve the decentralized storage of the information.

To understand the advantages associated with decentralized networks, we will first introduce traditional centralized networks, analyzing their main characteristics, then comparing them with decentralized peer-to-peer networks.

Centralized networks (Client-Server)

In the following image, we show a typical example of a centralized network:

Centralized network

The main feature of these types of networks is the presence of a central node, acting as the server node.

Client nodes can connect only to the central server to get the information they need.

Blocks, the building elements of Blockchain

The Blockchain, as the name states, is nothing more than a chain of blocks.

The simplest unit of a blockchain is in fact constituted by the block.

Each block contains within it a certain number of transactions that represent the transfers of values ​​between the counterparties, carried out within the blockchain.

Blocks and transactions

Each block contains batches of transactions with their hashes.

The number of transactions contained in a block depends on the block size.

The average size of a block is about 1 MB, but it can even reach larger sizes, as in the case of Ethereum.

In Bitcoin, a block contains more than 500 transactions on average

Blockchain transactions - Nature and characteristics

The Blockchain, as the name states, is nothing more than a chain of blocks.

The simplest unit of a blockchain is in fact constituted by the block.

Each block contains within it a certain number of transactions that represent the transfers of values ​​between the counterparties, carried out within the blockchain.

Transactions must undergo the confirmation phase by miners, which are rewarded for their work in bitcoins. Without confirmation, no transaction can be convalidated.

Blockchain overall process

Transactions and Distributed Ledger

One of the characteristics of Blockchain is that it makes the intervention of intermediaries in transactions superfluous.

People can carry out transactions without third parties being involved. The shared ledger itself manages and ensures the integrity and reliability of transactions between the parties.

The ledger is maintained and updated in a distributed manner by all participants in the blockchain, and all nodes taking part of the networks can verify the reliability of transactions without resorting to trusted third parties.

Assuring transactions integrity

How is the integrity of transactions guaranteed within the Blockchain?

This is what we will deal with now, analyzing the different cryptographic features, such as hashing and hash digests, highlighting the differences that exist with the actual encryption algorithms.

Finally, we will show a practical example of calculating a hash digest using the class of SHA algorithms used in the implementation of the Blockchain, using simple tools available online.

Hash digests: the fingerprints of the blocks

Let's start by showing the hash digests, considered the "fingerprints" of the blocks of the Blockchain.

As we have said, the integrity of transactions within the blockchain is achieved through the use of hash functions.

Hash functions constitute a class of algorithms that make it computationally unlikely that different alphanumeric strings will give rise to equal hash values.

Hashing algorithms are specifically designed to be sensitive to even the slightest variations in the input data.

Achieving Trust in a Distributed environment

One of the most interesting tasks of the Blockchain concerns the goal of achieving the shared consensus of the network on the global state of the transactions recorded in the distributed ledger.

That of shared consensus represents one of the classic problems of computer science relating to distributed systems.

As we have seen previously, the Blockchain is nothing more than a particular implementation of a distributed storage system; as such, many of the solutions adopted by the Blockchain reproduce the solutions commonly adopted by distributed systems.

First of all, distributed systems must provide a consensus protocol that is "fault-tolerant", meaning that it is robust and capable of tolerating any malfunctions, to ensure that a common consensus can be reached on the state of the system as a whole.

By reaching a consensus on the global status of the transactions stored in the ledger, all the players in the distributed system consequently share a common "truth" on which to place their "trust".

Achieving consensus is fundamental in a distributed system, in order to share a common "truth", to which to attribute "trust".

Let's now see the most common consensus protocols.

The problem of the Byzantine Generals

One of the classical coordination problems, most studied in the field of computer science and distributed systems, is known as the "Byzantine Generals" problem.

The problem concerns the achievement of consensus by the Generals who surrounded the enemy, on the moment in which to launch the attack all together, to guarantee the success of the military operation.

The problem lies in the fact that Generals can communicate with each other remotely, through the reciprocal exchange of messages.

Each General decides whether to attack or retreat, communicating their decision to the others by sending messengers.

Among these, however, there may be "traitors", who prevent with their behavior to reach shared and unanimous consent, by sending contradictory messages to others.

The final aim, in fact, is to reach a shared consensus on the action to be undertaken all together, to attack or withdraw, avoiding a disordered behavior, which would determine a sure failure.

Let's now see in what measure the Byzantine Generals problem affects the Blockchain and how it is arranged in its distributed architecture.

Self Assessment Test

On successfully passing the Self-Assessment Test, you will receive the Open Badge attesting your skills

Insert the Access Code you found in the Ebook: